diff options
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/generic/default.nix | 5 | ||||
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index a063a1ed2dc9..2fd477ca8533 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -94,6 +94,11 @@ let ../../build-support/setup-hooks/compress-man-pages.sh ../../build-support/setup-hooks/strip.sh ../../build-support/setup-hooks/patch-shebangs.sh + ] + # FIXME this on Darwin; see + # https://github.com/NixOS/nixpkgs/commit/94d164dd7#commitcomment-22030369 + ++ lib.optional result.isLinux ../../build-support/setup-hooks/audit-tmpdir.sh + ++ [ ../../build-support/setup-hooks/multiple-outputs.sh ../../build-support/setup-hooks/move-sbin.sh ../../build-support/setup-hooks/move-lib64.sh diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index de33ab565982..eb63b18e5f3d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -199,6 +199,18 @@ isELF() { if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi } +# Return success if the specified file is a script (i.e. starts with +# "#!"). +isScript() { + local fn="$1" + local magic + if ! [ -x /bin/sh ]; then return 0; fi + exec {fd}< "$fn" + read -n 2 -u $fd magic + exec {fd}<&- + if [[ "$magic" =~ \#! ]]; then return 0; else return 1; fi +} + ###################################################################### # Initialisation. |