summary refs log tree commit diff
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2018-02-19 09:44:47 -0500
committerShea Levy <shea@shealevy.com>2018-03-17 21:58:14 -0400
commit2929a2c1faee6736bf13025e085d6b17328724be (patch)
tree44d9cc2cf48e09fc44897e95bbc45c7b6f9307fc
parent273e58ebd9f8ef04948a89d496c7cb23dab8cbe8 (diff)
downloadnixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar.gz
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar.bz2
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar.lz
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar.xz
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.tar.zst
nixpkgs-2929a2c1faee6736bf13025e085d6b17328724be.zip
help2man: Make safe to use in bootstrap stdenv.
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix24
1 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 6e341b577cf..9ee8d2279b3 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, hostPlatform, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
+{ stdenv, hostPlatform, fetchurl, perl, gettext, LocaleGettext }:
 
 stdenv.mkDerivation rec {
   name = "help2man-1.47.5";
@@ -8,19 +8,27 @@ stdenv.mkDerivation rec {
     sha256 = "1cb14kp380jzk1yi4i7x9d8qplc8c5mgcbgycgs9ggpx34jhp9kw";
   };
 
-  nativeBuildInputs = [ makeWrapper gettext LocaleGettext ];
+  nativeBuildInputs = [ gettext LocaleGettext ];
   buildInputs = [ perl LocaleGettext ];
 
   doCheck = false;                                # target `check' is missing
 
   patches = if hostPlatform.isCygwin then [ ./1.40.4-cygwin-nls.patch ] else null;
 
-  postInstall =
-    '' wrapProgram "$out/bin/help2man" \
-         --prefix PERL5LIB : "$(echo ${LocaleGettext}/lib/perl*/site_perl)" \
-         ${stdenv.lib.optionalString hostPlatform.isCygwin "--prefix PATH : ${gettext}/bin"}
-    '';
-
+  # We don't use makeWrapper here because it uses substitutions our
+  # bootstrap shell can't handle.
+  postInstall = ''
+    gettext_perl="$(echo ${LocaleGettext}/lib/perl*/site_perl)"
+    mv $out/bin/help2man $out/bin/.help2man-wrapped
+    cat > $out/bin/help2man <<EOF
+    #! $SHELL -e
+    export PERL5LIB=\''${PERL5LIB:+:}$gettext_perl
+    ${stdenv.lib.optionalString hostPlatform.isCygwin
+        "export PATH=\''${PATH:+:}${gettext}/bin"}
+    exec -a \$0 $out/bin/.help2man-wrapped "\$@"
+    EOF
+    chmod +x $out/bin/help2man
+  '';
 
   meta = with stdenv.lib; {
     description = "Generate man pages from `--help' output";