···11+: ${outputs:=out}
22+33+14######################################################################
25# Hook handling.
36···784787}
785788786789787787-# The fixup phase performs generic, package-independent, Nix-related
788788-# stuff, like running patchelf and setting the
789789-# propagated-build-inputs. It should rarely be overriden.
790790+# The fixup phase performs generic, package-independent stuff, like
791791+# stripping binaries, running patchelf and setting
792792+# propagated-build-inputs.
790793fixupPhase() {
791791- runHook preFixup
794794+ # Make sure everything is writable so "strip" et al. work.
795795+ for output in $outputs; do
796796+ if [ -e "$output" ]; then chmod -R u+w "$output"; fi
797797+ done
792798793793- # Make sure everything is writable so "strip" et al. work.
794794- if [ -e "$prefix" ]; then chmod -R u+w "$prefix"; fi
799799+ runHook preFixup
795800796801 # Put man/doc/info under $out/share.
797802 forceShare=${forceShare:=man doc info}
···812817 done;
813818 fi
814819820820+ # Apply fixup to each output.
821821+ local output
822822+ for output in $outputs; do
823823+ prefix=${!output} runHook fixupOutput
824824+ done
825825+826826+ if [ -n "$propagatedBuildInputs" ]; then
827827+ mkdir -p "$out/nix-support"
828828+ echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
829829+ fi
830830+831831+ if [ -n "$propagatedNativeBuildInputs" ]; then
832832+ mkdir -p "$out/nix-support"
833833+ echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs"
834834+ fi
835835+836836+ if [ -n "$propagatedUserEnvPkgs" ]; then
837837+ mkdir -p "$out/nix-support"
838838+ echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages"
839839+ fi
840840+841841+ if [ -n "$setupHook" ]; then
842842+ mkdir -p "$out/nix-support"
843843+ substituteAll "$setupHook" "$out/nix-support/setup-hook"
844844+ fi
845845+846846+ runHook postFixup
847847+}
848848+849849+850850+addHook fixupOutput _defaultFixupOutput
851851+_defaultFixupOutput() {
815852 if [ -z "$dontGzipMan" ]; then
816853 echo "gzipping man pages"
817854 GLOBIGNORE=.:..:*.gz:*.bz2
818818- for f in "$out"/share/man/*/* "$out"/share/man/*/*/*; do
855855+ for f in "$prefix"/share/man/*/* "$prefix"/share/man/*/*/*; do
819856 if [ -f "$f" -a ! -L "$f" ]; then
820857 if gzip -c -n "$f" > "$f".gz; then
821858 rm "$f"
···824861 fi
825862 fi
826863 done
827827- for f in "$out"/share/man/*/* "$out"/share/man/*/*/*; do
864864+ for f in "$prefix"/share/man/*/* "$prefix"/share/man/*/*/*; do
828865 if [ -L "$f" -a -f `readlink -f "$f"`.gz ]; then
829866 ln -sf `readlink "$f"`.gz "$f".gz && rm "$f"
830867 fi
···852889 if [ -z "$dontPatchShebangs" ]; then
853890 patchShebangs "$prefix"
854891 fi
855855-856856- if [ -n "$propagatedBuildInputs" ]; then
857857- mkdir -p "$out/nix-support"
858858- echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs"
859859- fi
860860-861861- if [ -n "$propagatedNativeBuildInputs" ]; then
862862- mkdir -p "$out/nix-support"
863863- echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs"
864864- fi
865865-866866- if [ -n "$propagatedUserEnvPkgs" ]; then
867867- mkdir -p "$out/nix-support"
868868- echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages"
869869- fi
870870-871871- if [ -n "$setupHook" ]; then
872872- mkdir -p "$out/nix-support"
873873- substituteAll "$setupHook" "$out/nix-support/setup-hook"
874874- fi
875875-876876- runHook postFixup
877892}
878893879894