diff options
author | John Ericson <Ericson2314@yahoo.com> | 2018-05-07 15:32:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-07 15:32:10 -0400 |
commit | 4f7cdd35d58e3d32ba576e218316b3c835bc508c (patch) | |
tree | b88a4fc1cb1f397c83dbf32d598c07c6361fb2cf /pkgs/build-support/bintools-wrapper | |
parent | 1c87d77efea75e29061d13e11af68efa6f50aee2 (diff) | |
parent | 8b0fce8cb1013837cd2108193653a1763cd68266 (diff) | |
download | nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar.gz nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar.bz2 nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar.lz nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar.xz nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.tar.zst nixpkgs-4f7cdd35d58e3d32ba576e218316b3c835bc508c.zip |
Merge pull request #40139 from obsidiansystems/modular-setup-hooks
treewide: Modular setup hooks
Diffstat (limited to 'pkgs/build-support/bintools-wrapper')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/add-flags.sh | 11 | ||||
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 11 | ||||
-rw-r--r-- | pkgs/build-support/bintools-wrapper/ld-wrapper.sh | 2 | ||||
-rw-r--r-- | pkgs/build-support/bintools-wrapper/setup-hook.sh | 38 |
4 files changed, 18 insertions, 44 deletions
diff --git a/pkgs/build-support/bintools-wrapper/add-flags.sh b/pkgs/build-support/bintools-wrapper/add-flags.sh index a9780925895..e5c0556556c 100644 --- a/pkgs/build-support/bintools-wrapper/add-flags.sh +++ b/pkgs/build-support/bintools-wrapper/add-flags.sh @@ -12,16 +12,7 @@ var_templates_bool=( NIX+DONT_SET_RPATH ) -declare -a role_infixes=() -if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_BUILD:-}" ]; then - role_infixes+=(_BUILD_) -fi -if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_HOST:-}" ]; then - role_infixes+=(_) -fi -if [ "${NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET:-}" ]; then - role_infixes+=(_TARGET_) -fi +accumulateRoles for var in "${var_templates_list[@]}"; do mangleVarList "$var" ${role_infixes[@]+"${role_infixes[@]}"} diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 19e2902cb0d..e53b58d12a0 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -190,7 +190,12 @@ stdenv.mkDerivation { depsTargetTargetPropagated = extraPackages; - setupHook = ./setup-hook.sh; + wrapperName = "BINTOOLS_WRAPPER"; + + setupHooks = [ + ../setup-hooks/role.bash + ./setup-hook.sh + ]; postFixup = '' @@ -289,7 +294,7 @@ stdenv.mkDerivation { set +u substituteAll ${./add-flags.sh} $out/nix-support/add-flags.sh substituteAll ${./add-hardening.sh} $out/nix-support/add-hardening.sh - substituteAll ${../cc-wrapper/utils.sh} $out/nix-support/utils.sh + substituteAll ${../wrapper-common/utils.bash} $out/nix-support/utils.bash ## ## Extra custom steps @@ -300,7 +305,7 @@ stdenv.mkDerivation { inherit dynamicLinker expand-response-params; - # for substitution in utils.sh + # for substitution in utils.bash expandResponseParams = "${expand-response-params}/bin/expand-response-params"; meta = diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh index 672a3dcbe38..ed2f00a8974 100644 --- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh @@ -14,7 +14,7 @@ if [ -n "@coreutils_bin@" ]; then PATH="@coreutils_bin@/bin" fi -source @out@/nix-support/utils.sh +source @out@/nix-support/utils.bash if [ -z "${NIX_BINTOOLS_WRAPPER_@infixSalt@_FLAGS_SET:-}" ]; then source @out@/nix-support/add-flags.sh diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh index 831ee9b0387..28387bac503 100644 --- a/pkgs/build-support/bintools-wrapper/setup-hook.sh +++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh @@ -11,44 +11,22 @@ set -u [[ -z ${crossConfig-} ]] || (( "$hostOffset" < 0 )) || return 0 bintoolsWrapper_addLDVars () { - case $depHostOffset in - -1) local role='BUILD_' ;; - 0) local role='' ;; - 1) local role='TARGET_' ;; - *) echo "bintools-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2; - return 1 ;; - esac + # See ../setup-hooks/role.bash + local role_post role_pre + getTargetRoleEnvHook if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then - export NIX_${role}LDFLAGS+=" -L$1/lib64" + export NIX_${role_pre}LDFLAGS+=" -L$1/lib64" fi if [[ -d "$1/lib" ]]; then - export NIX_${role}LDFLAGS+=" -L$1/lib" + export NIX_${role_pre}LDFLAGS+=" -L$1/lib" fi } -case $targetOffset in - -1) - export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_BUILD=1 - role_pre='BUILD_' - role_post='_FOR_BUILD' - ;; - 0) - export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_HOST=1 - role_pre='' - role_post='' - ;; - 1) - export NIX_BINTOOLS_WRAPPER_@infixSalt@_TARGET_TARGET=1 - role_pre='TARGET_' - role_post='_FOR_TARGET' - ;; - *) - echo "cc-wrapper: used as improper sort of dependency" >2; - return 1 - ;; -esac +# See ../setup-hooks/role.bash +getTargetRole +getTargetRoleWrapper addEnvHooks "$targetOffset" bintoolsWrapper_addLDVars |