treewide: Use pkgs/build-support/roles.bash to remove copy pasta
Also fix some setup hooks that unnecessarily used environment hooks, which revolted in the same variable being modified too many times.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
gettextDataDirsHook() {
|
||||
# See pkgs/build-support/setup-hooks/role.bash
|
||||
getHostRoleEnvHook
|
||||
if [ -d "$1/share/gettext" ]; then
|
||||
addToSearchPath GETTEXTDATADIRS "$1/share/gettext"
|
||||
addToSearchPath "GETTEXTDATADIRS${role_post}" "$1/share/gettext"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -8,21 +10,8 @@ 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() {
|
||||
# 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
|
||||
addEnvHooks "$hostOffset" gettextLdflags
|
||||
# See pkgs/build-support/setup-hooks/role.bash
|
||||
getHostRole
|
||||
export NIX_${role_pre}LDFLAGS+=" -lintl"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user