From 1482c3c8d8257d5b33e978c8e1888d69c706130a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 23 Mar 2018 12:07:11 -0400 Subject: [PATCH 1/2] gettext: Make setup hook work for cross --- .../libraries/gettext/gettext-setup-hook.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh index dabd1e0af936..074d313e48aa 100644 --- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh +++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh @@ -9,7 +9,18 @@ addEnvHooks "$hostOffset" gettextDataDirsHook # libintl must be listed in load flags on non-Glibc # it doesn't hurt to have it in Glibc either though gettextLdflags() { - export NIX_LDFLAGS="$NIX_LDFLAGS -lintl" + # The `depHostOffset` describes how the host platform of the dependencies + # are slid relative to the depending package. It is brought into scope of + # the environment hook defined as the role of the dependency being applied. + case $depHostOffset in + -1) local role='BUILD_' ;; + 0) local role='' ;; + 1) local role='TARGET_' ;; + *) echo "cc-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2; + return 1 ;; + esac + + export NIX_${role}LDFLAGS+=" -lintl" } if [ ! -z "@gettextNeedsLdflags@" ]; then From 045de0af81f8505e666c501ba29e23f4eed5aa10 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 23 Mar 2018 12:07:11 -0400 Subject: [PATCH 2/2] libiconv: Make setup hook work for cross --- pkgs/development/libraries/libiconv/setup-hook.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libiconv/setup-hook.sh b/pkgs/development/libraries/libiconv/setup-hook.sh index 80843e19809b..78222dddbf1d 100644 --- a/pkgs/development/libraries/libiconv/setup-hook.sh +++ b/pkgs/development/libraries/libiconv/setup-hook.sh @@ -1,7 +1,18 @@ # libiconv must be listed in load flags on non-Glibc # it doesn't hurt to have it in Glibc either though iconvLdflags() { - export NIX_LDFLAGS="$NIX_LDFLAGS -liconv" + # The `depHostOffset` describes how the host platform of the dependencies + # are slid relative to the depending package. It is brought into scope of + # the environment hook defined as the role of the dependency being applied. + case $depHostOffset in + -1) local role='BUILD_' ;; + 0) local role='' ;; + 1) local role='TARGET_' ;; + *) echo "cc-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2; + return 1 ;; + esac + + export NIX_${role}LDFLAGS+=" -liconv" } addEnvHooks "$hostOffset" iconvLdflags