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; }; } diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 4507c4fed853..948b590249fd 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 @@ -12,19 +13,20 @@ , libtiff , enableX11 ? false , libX11 +, buildPackages }: 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.92.0"; outputs = [ "bin" "out" "dev" ]; src = fetchsvn { url = "https://svn.code.sf.net/p/netpbm/code/advanced"; - rev = "3735"; - sha256 = "1m7ks6k53gsjsdazgf22g16dfgj3pqvqy9mhxzlwszv5808sj5w5"; + rev = "3972"; + sha256 = "09fpy4n4f867j23pr3b719wpvp8hjrr4drxp0r1csw74p8j6vfy3"; }; nativeBuildInputs = [ @@ -40,10 +42,17 @@ stdenv.mkDerivation { libjpeg libxml2 libtiff + 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 \ @@ -58,11 +67,22 @@ 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 '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 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 + 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 @@ -70,7 +90,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 '';