From 387d083590c959d02f5a606937d5ffc9088e24d8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 8 May 2022 09:29:54 +0100 Subject: [PATCH] rox-filer: pull upstream fix for -fno-common toolchains Without the change build agaist -fno-common toolchains like upstream gcc-10 fails as: $ nix build -L --impure --expr 'with import ./. {}; rox-filer.overrideAttrs (oa: { NIX_CFLAGS_COMPILE = (oa.NIX_CFLAGS_COMPILE or "") + "-fno-common"; })' ... ld: session.o:/build/rox-filer-2.11/ROX-Filer/build/../src/session.h:13: multiple definition of `session_auto_respawn'; main.o:/build/rox-filer-2.11/ROX-Filer/build/../src/session.h:13: first defined here While at it normalized local patch against top-level source tree to ease application of upstream patches as is. --- pkgs/desktops/rox/rox-filer/default.nix | 12 ++++++++++-- .../rox-filer/rox-filer-2.11-in-source-build.patch | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix index 032209c2f182..e26c90592252 100644 --- a/pkgs/desktops/rox/rox-filer/default.nix +++ b/pkgs/desktops/rox/rox-filer/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, fetchpatch , pkg-config , wrapGAppsHook , libxml2 @@ -27,13 +28,20 @@ stdenv.mkDerivation rec { patches = [ ./rox-filer-2.11-in-source-build.patch + # Pull upstream fix for -fno-common toolchains like upstream gcc-10: + # https://github.com/rox-desktop/rox-filer/pull/15 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/rox-desktop/rox-filer/commit/86b0bb9144186d51ea9b898905111bd8b143b552.patch"; + sha256 = "1csyx229i09p00lbdlkdqdhn3x2lb5zby1h9rkjgzlr2qz74gc69"; + }) ]; # go to the source directory after unpacking the sources setSourceRoot = "export sourceRoot=rox-filer-${version}/ROX-Filer/"; - # patch source with defined patches - patchFlags = [ "-p0" ]; + # account for 'setSourceRoot' offset + patchFlags = [ "-p2" ]; # patch the main.c to disable the lookup of the APP_DIR environment variable, # which is used to lookup the location for certain images when rox-filer diff --git a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch index 11bd80044595..c68bba7ec6cf 100644 --- a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch +++ b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch @@ -1,5 +1,5 @@ ---- src/configure 2011-10-09 16:32:14.000000000 +0200 -+++ src/configure2 2016-03-20 09:26:31.640891863 +0100 +--- a/Rox-Filer/src/configure 2011-10-09 16:32:14.000000000 +0200 ++++ b/Rox-Filer/src/configure 2016-03-20 09:26:31.640891863 +0100 @@ -2132,13 +2132,6 @@