From 440d721915c0f44261b3635bfbced5c6bb3f8d7d Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Thu, 8 Sep 2016 15:25:00 +0530 Subject: [PATCH] txt2man: mention runtime dependencies on gawk and coreutils The commit message in 1a2b47463b45c2b05ec80ade28781afc986576af is incorrect -- the package seemed to work because only the help message was invoked: result/bin/txt2man -h To guard against such trivial successes, this commit introduces a test. --- pkgs/tools/misc/txt2man/default.nix | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix index 3c894611f692..29bd3235dfb9 100644 --- a/pkgs/tools/misc/txt2man/default.nix +++ b/pkgs/tools/misc/txt2man/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, coreutils, gawk }: stdenv.mkDerivation rec { name = "txt2man-1.5.6"; @@ -12,7 +12,27 @@ stdenv.mkDerivation rec { makeFlags=prefix="$out" ''; - meta = { + patchPhase = '' + for f in bookman src2man txt2man; do + substituteInPlace $f --replace "gawk" "${gawk}/bin/gawk" + + substituteInPlace $f --replace "(date" "(${coreutils}/bin/date" + substituteInPlace $f --replace "=cat" "=${coreutils}/bin/cat" + substituteInPlace $f --replace "cat <<" "${coreutils}/bin/cat <<" + substituteInPlace $f --replace "expand" "${coreutils}/bin/expand" + substituteInPlace $f --replace "(uname" "(${coreutils}/bin/uname" + done + ''; + + doCheck = true; + + checkPhase = '' + # gawk and coreutils are part of stdenv but will not + # necessarily be in PATH at runtime. + sh -c 'unset PATH; printf hello | ./txt2man' + ''; + + meta = { description = "Convert flat ASCII text to man page format"; homepage = http://mvertes.free.fr/; license = stdenv.lib.licenses.gpl2;