From 8a9fa4782f5f3774d31f7f49e7ce8510423e1fa3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 3 Sep 2020 21:34:07 +0200 Subject: [PATCH 1/5] =?UTF-8?q?netpbm:=2010.89.1=20=E2=86=92=2010.91.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also fix accidentally not running postConfigure --- pkgs/tools/graphics/netpbm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 4507c4fed853..f6f2b22fdeb4 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -17,14 +17,14 @@ stdenv.mkDerivation { # Determine version and revision from: # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced - name = "netpbm-10.89.1"; + name = "netpbm-10.91.3"; outputs = [ "bin" "out" "dev" ]; src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "3735"; - sha256 = "1m7ks6k53gsjsdazgf22g16dfgj3pqvqy9mhxzlwszv5808sj5w5"; + rev = "3940"; + sha256 = "DLpby9vZ1fZd1Cb5GbNcfKWkWh27jwoog5W+p2FM7IM="; }; nativeBuildInputs = [ @@ -70,7 +70,7 @@ 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 ''; From 3f3fe38c7adc9d92afcc8d64183e7dd6aafe4f7e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 6 Sep 2020 16:34:31 +0200 Subject: [PATCH 2/5] netpbm: Do not use vendored dependencies Especially since Jasper is unmaintained and insecure --- pkgs/tools/graphics/netpbm/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index f6f2b22fdeb4..75decbf06fde 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -4,6 +4,7 @@ , pkg-config , libjpeg , libpng +, jbigkit , flex , zlib , perl @@ -40,6 +41,7 @@ stdenv.mkDerivation { libjpeg libxml2 libtiff + jbigkit ] ++ lib.optional enableX11 libX11; enableParallelBuilding = true; @@ -63,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 + echo "JBIGLIB = libjbig.a" >> config.mk + # Insecure + echo "JASPERLIB = NONE" >> config.mk # Fix path to rgb.txt echo "RGB_DB_PATH = $out/share/netpbm/misc/rgb.txt" >> config.mk From d509c583fc217ea24b3bf41be757f287854a8f23 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 6 Sep 2020 20:10:36 +0200 Subject: [PATCH 3/5] jbigkit: fix cross-compilation --- pkgs/development/libraries/jbigkit/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/jbigkit/default.nix b/pkgs/development/libraries/jbigkit/default.nix index dbf728e7d828..c21d51bc5a7c 100644 --- a/pkgs/development/libraries/jbigkit/default.nix +++ b/pkgs/development/libraries/jbigkit/default.nix @@ -8,15 +8,23 @@ stdenv.mkDerivation rec { sha256 = "0cnrcdr1dwp7h7m0a56qw09bv08krb37mpf7cml5sjdgpyv0cwfy"; }; + makeFlags = [ + "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + "AR=${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar" + "RANLIB=${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib" + ]; + postPatch = '' sed -i 's/^\(CFLAGS.*\)$/\1 -fPIC/' Makefile - '' + stdenv.lib.optionalString stdenv.cc.isClang '' + for f in Makefile libjbig/Makefile pbmtools/Makefile; do - substituteInPlace $f --replace "CC = gcc" "CC = clang" + sed -i -E 's/\bar /$(AR) /g;s/\branlib /$(RANLIB) /g' "$f" done ''; installPhase = '' + runHook preInstall + install -D -m644 libjbig/libjbig.a $out/lib/libjbig.a install -D -m644 libjbig/libjbig85.a $out/lib/libjbig85.a install -D -m644 libjbig/jbig.h $out/include/jbig.h @@ -30,12 +38,14 @@ stdenv.mkDerivation rec { install -D -m755 pbmtools/pbmtojbg $out/bin/pbmtojbg install -D -m755 pbmtools/jbgtopbm85 $out/bin/jbgtopbm85 install -D -m755 pbmtools/pbmtojbg85 $out/bin/pbmtojbg85 + + runHook postInstall ''; meta = with stdenv.lib; { homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/"; description = "A software implementation of the JBIG1 data compression standard"; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.all; }; } From 43ea7e011d0866a54f8bf23928ed47c0defac335 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 7 Sep 2020 03:33:33 +0200 Subject: [PATCH 4/5] netpbm: Fix cross-compilation Co-Authored-By: Christian Kampka --- pkgs/tools/graphics/netpbm/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 75decbf06fde..2f9188b483e6 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -13,6 +13,7 @@ , libtiff , enableX11 ? false , libX11 +, buildPackages }: stdenv.mkDerivation { @@ -44,12 +45,22 @@ stdenv.mkDerivation { jbigkit ] ++ lib.optional enableX11 libX11; + + strictDeps = true; + enableParallelBuilding = true; + # Environment variables + STRIPPROG = "${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip"; + postPatch = '' # Install libnetpbm.so symlink to correct destination substituteInPlace lib/Makefile \ --replace '/sharedlink' '/lib' + + # TODO: move to config.mk in 10.91.4 + substituteInPlace GNUmakefile \ + --replace 'pkg-config' '${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config' ''; configurePhase = '' @@ -60,6 +71,13 @@ stdenv.mkDerivation { # Disable building static library echo "STATICLIB_TOO = N" >> config.mk + # Enable cross-compilation + echo 'AR = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar' >> config.mk + echo 'CC = ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' >> config.mk + echo 'CC_FOR_BUILD = ${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc' >> config.mk + echo 'LD_FOR_BUILD = $(CC_FOR_BUILD)' >> config.mk + echo 'RANLIB = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib' >> config.mk + # Use libraries from Nixpkgs echo "TIFFLIB = libtiff.so" >> config.mk echo "TIFFLIB_NEEDS_JPEG = N" >> config.mk From 46cf3b84b1f09e29e5d9ef7f2e5f2c7c72758ffb Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 2 Oct 2020 13:23:01 +0200 Subject: [PATCH 5/5] =?UTF-8?q?netpbm:=2010.91.3=20=E2=86=92=2010.92.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/tools/graphics/netpbm/default.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 2f9188b483e6..948b590249fd 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -19,14 +19,14 @@ stdenv.mkDerivation { # Determine version and revision from: # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced - name = "netpbm-10.91.3"; + name = "netpbm-10.92.0"; outputs = [ "bin" "out" "dev" ]; src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "3940"; - sha256 = "DLpby9vZ1fZd1Cb5GbNcfKWkWh27jwoog5W+p2FM7IM="; + rev = "3972"; + sha256 = "09fpy4n4f867j23pr3b719wpvp8hjrr4drxp0r1csw74p8j6vfy3"; }; nativeBuildInputs = [ @@ -57,10 +57,6 @@ stdenv.mkDerivation { # Install libnetpbm.so symlink to correct destination substituteInPlace lib/Makefile \ --replace '/sharedlink' '/lib' - - # TODO: move to config.mk in 10.91.4 - substituteInPlace GNUmakefile \ - --replace 'pkg-config' '${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config' ''; configurePhase = '' @@ -76,6 +72,7 @@ stdenv.mkDerivation { echo 'CC = ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' >> config.mk echo 'CC_FOR_BUILD = ${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc' >> config.mk echo 'LD_FOR_BUILD = $(CC_FOR_BUILD)' >> config.mk + echo 'PKG_CONFIG = ${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config' >> config.mk echo 'RANLIB = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib' >> config.mk # Use libraries from Nixpkgs