From b19ce7cfe90d984e0d230b967fbbb80a112a204f Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 24 Feb 2020 22:21:27 +0100 Subject: [PATCH 01/10] netpbm: add updateScript --- pkgs/tools/graphics/netpbm/default.nix | 2 ++ pkgs/tools/graphics/netpbm/update.sh | 40 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 pkgs/tools/graphics/netpbm/update.sh diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index b67e71c0fdf0..903c6336bcda 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation { done ''; + passthru.updateScript = ./update.sh; + meta = { homepage = http://netpbm.sourceforge.net/; description = "Toolkit for manipulation of graphic images"; diff --git a/pkgs/tools/graphics/netpbm/update.sh b/pkgs/tools/graphics/netpbm/update.sh new file mode 100755 index 000000000000..670e872e951d --- /dev/null +++ b/pkgs/tools/graphics/netpbm/update.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env nix-shell +#!nix-shell -p bash -p subversion -p common-updater-scripts -i bash + +die() { + echo "error: $1" >&2 + exit 1 +} + +attr=netpbm +svnRoot=https://svn.code.sf.net/p/netpbm/code/advanced + +oldRev=$(nix-instantiate --eval -E "with import ./. {}; $attr.src.rev" | tr -d '"') +if [[ -z "$oldRev" ]]; then + die "Could not extract old revision." +fi + +latestRev=$(svn info --show-item "last-changed-revision" "$svnRoot") +if [[ -z "$latestRev" ]]; then + die "Could not find out last changed revision." +fi + +versionInfo=$(svn cat -r "$latestRev" "$svnRoot/version.mk") +if [[ -z "$versionInfo" ]]; then + die "Could not get version info." +fi + +nixFile=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') +if [[ ! -f "$nixFile" ]]; then + die "Could not evaluate '$attr.meta.position' to locate the .nix file!" +fi + +# h remembers if we found the pattern; on the last line, if a pattern was previously found, we exit with 1 +# https://stackoverflow.com/a/12145797/160386 +sed -i "$nixFile" -re '/(\brev\b\s*=\s*)"'"$oldRev"'"/{ s||\1"'"$latestRev"'"|; h }; ${x; /./{x; q1}; x}' && die "Unable to update revision." + +majorRelease=$(grep --perl-regex --only-matching 'NETPBM_MAJOR_RELEASE = \K.+' <<< "$versionInfo") +minorRelease=$(grep --perl-regex --only-matching 'NETPBM_MINOR_RELEASE = \K.+' <<< "$versionInfo") +pointRelease=$(grep --perl-regex --only-matching 'NETPBM_POINT_RELEASE = \K.+' <<< "$versionInfo") + +update-source-version "$attr" "$majorRelease.$minorRelease.$pointRelease" From 8ea075bcb9b959f48fa0100bc94cae17713b31ea Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 20 Feb 2020 08:53:04 +0100 Subject: [PATCH 02/10] netpbm: Clean up * Format with nixpkgs-fmt * Move build tools to nativeBuildInputs * Clarify license --- pkgs/tools/graphics/netpbm/default.nix | 41 ++++++++++++++++++++------ 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 903c6336bcda..b5a46f22533d 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -1,6 +1,18 @@ -{ lib, stdenv, fetchsvn, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2 -, makeWrapper, libtiff -, enableX11 ? false, libX11 }: +{ lib +, stdenv +, fetchsvn +, pkgconfig +, libjpeg +, libpng +, flex +, zlib +, perl +, libxml2 +, makeWrapper +, libtiff +, enableX11 ? false +, libX11 +}: stdenv.mkDerivation { # Determine version and revision from: @@ -18,9 +30,20 @@ stdenv.mkDerivation { --replace '"-dSAFER"' '"-dPARANOIDSAFER"' ''; - buildInputs = - [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libtiff ] - ++ lib.optional enableX11 libX11; + nativeBuildInputs = [ + pkgconfig + flex + makeWrapper + ]; + + buildInputs = [ + zlib + perl + libpng + libjpeg + libxml2 + libtiff + ] ++ lib.optional enableX11 libX11; configurePhase = '' cp config.mk.in config.mk @@ -30,7 +53,7 @@ stdenv.mkDerivation { --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff.dev}/include" \ --replace "JPEGLIB = NONE" "JPEGLIB = ${libjpeg.out}/lib/libjpeg.so" \ --replace "JPEGHDR_DIR =" "JPEGHDR_DIR = ${libjpeg.dev}/include" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + stdenv.lib.optionalString stdenv.isDarwin '' echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk echo "NETPBMLIBTYPE = dylib" >> config.mk echo "NETPBMLIBSUFFIX = dylib" >> config.mk @@ -64,9 +87,9 @@ stdenv.mkDerivation { passthru.updateScript = ./update.sh; meta = { - homepage = http://netpbm.sourceforge.net/; + homepage = "http://netpbm.sourceforge.net/"; description = "Toolkit for manipulation of graphic images"; - license = "GPL,free"; + license = lib.licenses.free; # http://netpbm.svn.code.sourceforge.net/p/netpbm/code/trunk/doc/copyright_summary platforms = with stdenv.lib.platforms; linux ++ darwin; }; } From 6b4d057b667e0f05fe36bd385aa81dc69f709bc3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 25 Feb 2020 00:03:06 +0100 Subject: [PATCH 03/10] netpbm: add pre/post phase hooks --- pkgs/tools/graphics/netpbm/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index b5a46f22533d..9e6e95114065 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -46,6 +46,8 @@ stdenv.mkDerivation { ] ++ lib.optional enableX11 libX11; configurePhase = '' + runHook preConfigure + cp config.mk.in config.mk echo "STATICLIB_TOO = n" >> config.mk substituteInPlace "config.mk" \ @@ -57,6 +59,8 @@ stdenv.mkDerivation { echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk echo "NETPBMLIBTYPE = dylib" >> config.mk echo "NETPBMLIBSUFFIX = dylib" >> config.mk + + runHook postConfigure ''; preBuild = '' @@ -71,6 +75,8 @@ stdenv.mkDerivation { enableParallelBuilding = false; installPhase = '' + runHook preInstall + make package pkgdir=$out rm -rf $out/link $out/*_template $out/{pkginfo,README,VERSION} $out/man/web @@ -82,6 +88,8 @@ stdenv.mkDerivation { for prog in ppmquant; do wrapProgram "$out/bin/$prog" --prefix PATH : "$out/bin" done + + runHook postInstall ''; passthru.updateScript = ./update.sh; From aa1aefd06a135f88a87e871dba3a1665130d3d8d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 24 Feb 2020 22:21:55 +0100 Subject: [PATCH 04/10] =?UTF-8?q?netpbm:=2010.82.01=20=E2=86=92=2010.89.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://sourceforge.net/p/netpbm/code/3735/tree//advanced/doc/HISTORY --- pkgs/tools/graphics/netpbm/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 9e6e95114065..99946c5a9e5b 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -17,17 +17,22 @@ stdenv.mkDerivation { # Determine version and revision from: # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced - name = "netpbm-10.82.01"; + name = "netpbm-10.89.1"; src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "3264"; - sha256 = "17fmyjbxp1l18rma7gb0m8wd9kx2iwhqs8dd6fpalsn2cr8mf8hf"; + rev = "3735"; + sha256 = "hRepEUBlf83p77Amjze+Qz7XTHhCuPdV01K/UabR89Q="; }; - postPatch = /* CVE-2005-2471, from Arch */ '' + postPatch = '' + # CVE-2005-2471, from Arch substituteInPlace converter/other/pstopnm.c \ --replace '"-dSAFER"' '"-dPARANOIDSAFER"' + + # Install libnetpbm.so symlink to correct destination + substituteInPlace lib/Makefile \ + --replace '/sharedlink' '/lib' ''; nativeBuildInputs = [ @@ -79,7 +84,7 @@ stdenv.mkDerivation { make package pkgdir=$out - rm -rf $out/link $out/*_template $out/{pkginfo,README,VERSION} $out/man/web + rm -rf $out/*_template $out/{pkginfo,README,VERSION} $out/man/web mkdir -p $out/share/netpbm mv $out/misc $out/share/netpbm/ From 90180905a2557aefaf4f9ca5416968d829254861 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 26 Feb 2020 00:14:24 +0100 Subject: [PATCH 05/10] netpbm: Fix tiff support The build script check whether JPEGLIB and ZLIB are not set to NONE. We did not set the latter as pkg-config handles zlib requirement for libpng dependency and the comment in config.mk only talks about zlib being needed for libpng. Since libtiff only needs libz for static linking, we turn TIFFLIB_NEEDS_ZLIB off instead of pointlessly setting ZLIB value. Closes: https://github.com/NixOS/nixpkgs/issues/75156 --- pkgs/tools/graphics/netpbm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 99946c5a9e5b..2755b6b2a0e5 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -58,6 +58,8 @@ stdenv.mkDerivation { substituteInPlace "config.mk" \ --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff.out}/lib/libtiff.so" \ --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff.dev}/include" \ + --replace "TIFFLIB_NEEDS_JPEG = Y" "TIFFLIB_NEEDS_JPEG = N" \ + --replace "TIFFLIB_NEEDS_Z = Y" "TIFFLIB_NEEDS_Z = N" \ --replace "JPEGLIB = NONE" "JPEGLIB = ${libjpeg.out}/lib/libjpeg.so" \ --replace "JPEGHDR_DIR =" "JPEGHDR_DIR = ${libjpeg.dev}/include" '' + stdenv.lib.optionalString stdenv.isDarwin '' From 95558343993bcae045b955dfc96737ba733e1c69 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 26 Feb 2020 00:41:09 +0100 Subject: [PATCH 06/10] netpbm: split into multiple outputs --- pkgs/applications/editors/texmacs/darwin.nix | 2 +- .../science/electronics/fped/default.nix | 2 +- pkgs/tools/graphics/netpbm/default.nix | 4 ++++ pkgs/tools/graphics/pfstools/default.nix | 6 +++--- pkgs/tools/graphics/sng/default.nix | 2 +- pkgs/tools/misc/yad/default.nix | 2 +- pkgs/tools/text/groff/default.nix | 12 ++++++------ 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/editors/texmacs/darwin.nix b/pkgs/applications/editors/texmacs/darwin.nix index 5d5843890e14..a5117f3a6786 100644 --- a/pkgs/applications/editors/texmacs/darwin.nix +++ b/pkgs/applications/editors/texmacs/darwin.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { "${ghostscript}/bin:" + (if aspell == null then "" else "${aspell}/bin:") + (if tex == null then "" else "${tex}/bin:") + - (if netpbm == null then "" else "${netpbm}/bin:") + + (if netpbm == null then "" else "${stdenv.lib.getBin netpbm}/bin:") + (if imagemagick == null then "" else "${imagemagick}/bin:"); enableParallelBuilding = true; diff --git a/pkgs/applications/science/electronics/fped/default.nix b/pkgs/applications/science/electronics/fped/default.nix index 4eb666ada7ce..f93fddba8cb5 100644 --- a/pkgs/applications/science/electronics/fped/default.nix +++ b/pkgs/applications/science/electronics/fped/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=${placeholder "out"}" "LEX=flex" - "RGBDEF=${netpbm}/share/netpbm/misc/rgb.txt" + "RGBDEF=${netpbm.out}/share/netpbm/misc/rgb.txt" ]; nativeBuildInputs = [ diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 2755b6b2a0e5..f50b9d63f002 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation { # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced name = "netpbm-10.89.1"; + outputs = [ "bin" "out" "dev" ]; + src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; rev = "3735"; @@ -96,6 +98,8 @@ stdenv.mkDerivation { wrapProgram "$out/bin/$prog" --prefix PATH : "$out/bin" done + moveToOutput bin "''${!outputBin}" + runHook postInstall ''; diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 6a0385614e87..668f73c04f42 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -18,9 +18,9 @@ stdenv.mkDerivation rec { preConfigure = '' rm cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARY `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_LIBRARIES `find ${netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake - echo "SET(NETPBM_INCLUDE_DIR ${netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake + echo "SET(NETPBM_LIBRARY `find ${stdenv.lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake + echo "SET(NETPBM_LIBRARIES `find ${stdenv.lib.getLib netpbm} -name "*.${stdenv.hostPlatform.extensions.sharedLibrary}*" -type f`)" >> cmake/FindNETPBM.cmake + echo "SET(NETPBM_INCLUDE_DIR ${stdenv.lib.getDev netpbm}/include/netpbm)" >> cmake/FindNETPBM.cmake echo "INCLUDE(FindPackageHandleStandardArgs)" >> cmake/FindNETPBM.cmake echo "FIND_PACKAGE_HANDLE_STANDARD_ARGS(NETPBM DEFAULT_MSG NETPBM_LIBRARY NETPBM_INCLUDE_DIR)" >> cmake/FindNETPBM.cmake ''; diff --git a/pkgs/tools/graphics/sng/default.nix b/pkgs/tools/graphics/sng/default.nix index c7d2f49406b7..71bf0160a1e1 100644 --- a/pkgs/tools/graphics/sng/default.nix +++ b/pkgs/tools/graphics/sng/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ libpng ]; configureFlags = [ - "--with-rgbtxt=${netpbm}/share/netpbm/misc/rgb.txt" + "--with-rgbtxt=${netpbm.out}/share/netpbm/misc/rgb.txt" ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix index 776b41ac1aaf..d6b1b423ae2f 100644 --- a/pkgs/tools/misc/yad/default.nix +++ b/pkgs/tools/misc/yad/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sed -i src/form.c -e '21i#include ' # there is no point to bring in the whole netpbm package just for this file - install -Dm644 ${netpbm}/share/netpbm/misc/rgb.txt $out/share/yad/rgb.txt + install -Dm644 ${netpbm.out}/share/netpbm/misc/rgb.txt $out/share/yad/rgb.txt ''; postAutoreconf = '' diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index ec7e724d1fc3..391e7543eca5 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { --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" + --replace "pnmcut" "${stdenv.lib.getBin netpbm}/bin/pnmcut" \ + --replace "pnmcrop" "${stdenv.lib.getBin netpbm}/bin/pnmcrop" \ + --replace "pnmtopng" "${stdenv.lib.getBin netpbm}/bin/pnmtopng" substituteInPlace tmac/www.tmac \ - --replace "pnmcrop" "${netpbm}/bin/pnmcrop" \ - --replace "pngtopnm" "${netpbm}/bin/pngtopnm" \ - --replace "@PNMTOPS_NOSETPAGE@" "${netpbm}/bin/pnmtops -nosetpage" + --replace "pnmcrop" "${stdenv.lib.getBin netpbm}/bin/pnmcrop" \ + --replace "pngtopnm" "${stdenv.lib.getBin netpbm}/bin/pngtopnm" \ + --replace "@PNMTOPS_NOSETPAGE@" "${stdenv.lib.getBin netpbm}/bin/pnmtops -nosetpage" ''; buildInputs = [ ghostscript psutils netpbm perl ]; From 256f7172ac1e59721c3aaf2498b57f2f651803e3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 1 Mar 2020 14:57:51 +0100 Subject: [PATCH 07/10] netpbm: more clean ups * Append to config.mk instead of substituting * Remove unused path substitution (rgbpaths.patch was deleted in https://github.com/NixOS/nixpkgs/commit/f6c28984f2568e3eee4ce988364075a31636b4f3) * -lz in LDFLAGS does not seem to be necessary * Touching the file (introduced in https://github.com/NixOS/nixpkgs/commit/4dd9507b835fd0b8ff556a1c547601a9ac1857ae) does not seem to be necessary. --- pkgs/tools/graphics/netpbm/default.nix | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index f50b9d63f002..792173473810 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -56,14 +56,15 @@ stdenv.mkDerivation { runHook preConfigure cp config.mk.in config.mk - echo "STATICLIB_TOO = n" >> config.mk - substituteInPlace "config.mk" \ - --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff.out}/lib/libtiff.so" \ - --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff.dev}/include" \ - --replace "TIFFLIB_NEEDS_JPEG = Y" "TIFFLIB_NEEDS_JPEG = N" \ - --replace "TIFFLIB_NEEDS_Z = Y" "TIFFLIB_NEEDS_Z = N" \ - --replace "JPEGLIB = NONE" "JPEGLIB = ${libjpeg.out}/lib/libjpeg.so" \ - --replace "JPEGHDR_DIR =" "JPEGHDR_DIR = ${libjpeg.dev}/include" + + # Disable building static library + echo "STATICLIB_TOO = N" >> config.mk + + # Use libraries from Nixpkgs + echo "TIFFLIB = libtiff.so" >> config.mk + echo "TIFFLIB_NEEDS_JPEG = N" >> config.mk + echo "TIFFLIB_NEEDS_Z = N" >> config.mk + echo "JPEGLIB = libjpeg.so" >> config.mk '' + stdenv.lib.optionalString stdenv.isDarwin '' echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk echo "NETPBMLIBTYPE = dylib" >> config.mk @@ -72,15 +73,6 @@ stdenv.mkDerivation { runHook postConfigure ''; - preBuild = '' - export LDFLAGS="-lz" - substituteInPlace "pm_config.in.h" \ - --subst-var-by "rgbPath1" "$out/lib/rgb.txt" \ - --subst-var-by "rgbPath2" "/var/empty/rgb.txt" \ - --subst-var-by "rgbPath3" "/var/empty/rgb.txt" - touch lib/standardppmdfont.c - ''; - enableParallelBuilding = false; installPhase = '' From 44f69611ad87338f9730482f0eede74be9ae38c3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 1 Mar 2020 15:04:36 +0100 Subject: [PATCH 08/10] netpbm: re-enable parallel building It was disabled in https://github.com/NixOS/nixpkgs/commit/abd3c246a43ea5e2128d3372b5fe0295f18cad78 but it no longer seems to fail. --- pkgs/tools/graphics/netpbm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 792173473810..e0d44dc723bf 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation { runHook postConfigure ''; - enableParallelBuilding = false; + enableParallelBuilding = true; installPhase = '' runHook preInstall From 43ea7f1c0a1611250dddfda076fb3fc1962702fe Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 1 Mar 2020 15:38:32 +0100 Subject: [PATCH 09/10] netpbm: Hardcode rgb.txt path We did that in the past with rgbpaths.patch in the past but it was eventually removed. This fixes the regression. --- pkgs/tools/graphics/netpbm/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index e0d44dc723bf..78c12e3b8dce 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -65,6 +65,9 @@ stdenv.mkDerivation { echo "TIFFLIB_NEEDS_JPEG = N" >> config.mk echo "TIFFLIB_NEEDS_Z = N" >> config.mk echo "JPEGLIB = libjpeg.so" >> config.mk + + # Fix path to rgb.txt + echo "RGB_DB_PATH = $out/share/netpbm/misc/rgb.txt" >> config.mk '' + stdenv.lib.optionalString stdenv.isDarwin '' echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk echo "NETPBMLIBTYPE = dylib" >> config.mk From 7566c09a0cccbf184846ee0d5e49973994d13b35 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 1 Mar 2020 16:14:38 +0100 Subject: [PATCH 10/10] netpbm: Remove "CVE" patch The CVE was patched upstream long ago. http://cve.circl.lu/cve/CVE-2005-2471 -dPARANOIDSAFER seems not to be supported any more. https://phabricator.wikimedia.org/T136402#2338482 https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=79a06b45e784e6839b2b2129cd2620ea606254e1 --- pkgs/tools/graphics/netpbm/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 78c12e3b8dce..8f3a5ea274ec 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -28,10 +28,6 @@ stdenv.mkDerivation { }; postPatch = '' - # CVE-2005-2471, from Arch - substituteInPlace converter/other/pstopnm.c \ - --replace '"-dSAFER"' '"-dPARANOIDSAFER"' - # Install libnetpbm.so symlink to correct destination substituteInPlace lib/Makefile \ --replace '/sharedlink' '/lib'