diff options
-rw-r--r-- | pkgs/development/tools/misc/help2man/default.nix | 24 |
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"; |