From 14e9972e497a07f83e97d91bb18d126d63e68ee5 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Mon, 12 Sep 2016 18:26:28 +0300 Subject: [PATCH] groff: add missing depedencies for optional postscript and html outputs --- pkgs/tools/text/groff/default.nix | 27 ++++++++++++++++++++++++--- pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index 728e9de8b488..df6a1119800e 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, ghostscript, perl, groff }: +{ stdenv, fetchurl, perl, groff +, ghostscript #for postscript and html output +, psutils, netpbm #for html output +}: stdenv.mkDerivation rec { name = "groff-1.22.3"; @@ -12,7 +15,21 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; - buildInputs = [ ghostscript ]; + postPatch = stdenv.lib.optionalString (psutils != null) '' + substituteInPlace src/preproc/html/pre-html.cpp \ + --replace "psselect" "${psutils}/bin/psselect" + '' + stdenv.lib.optionalString (netpbm != null) '' + substituteInPlace src/preproc/html/pre-html.cpp \ + --replace "pnmcut" "${netpbm}/bin/pnmcut" \ + --replace "pnmcrop" "${netpbm}/bin/pnmcrop" \ + --replace "pnmtopng" "${netpbm}/bin/pnmtopng" + substituteInPlace tmac/www.tmac \ + --replace "pnmcrop" "${netpbm}/bin/pnmcrop" \ + --replace "pngtopnm" "${netpbm}/bin/pngtopnm" \ + --replace "@PNMTOPS_NOSETPAGE@" "${netpbm}/bin/pnmtops -nosetpage" + ''; + + buildInputs = [ ghostscript psutils netpbm ]; nativeBuildInputs = [ perl ]; # Builds running without a chroot environment may detect the presence @@ -20,7 +37,11 @@ stdenv.mkDerivation rec { # package. To avoid this issue, X11 support is explicitly disabled. # Note: If we ever want to *enable* X11 support, then we'll probably # have to pass "--with-appresdir", too. - configureFlags = "--without-x"; + configureFlags = [ + "--without-x" + ] ++ stdenv.lib.optionals (ghostscript != null) [ + "--with-gs=${ghostscript}/bin/gs" + ]; doCheck = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 172eedaed564..a725c8c912b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1907,6 +1907,8 @@ in groff = callPackage ../tools/text/groff { ghostscript = null; + psutils = null; + netpbm = null; }; groonga = callPackage ../servers/search/groonga { };