@@ -4,6 +4,7 @@
44, pkg-config
55, libjpeg
66, libpng
7+, jbigkit
78, flex
89, zlib
910, perl
@@ -12,19 +13,20 @@
1213, libtiff
1314, enableX11 ? false
1415, libX11
16+, buildPackages
1517}:
1618
1719stdenv.mkDerivation {
1820 # Determine version and revision from:
1921 # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
20− name = "netpbm-10.89.1";
22+ name = "netpbm-10.92.0";
2123
2224 outputs = [ "bin" "out" "dev" ];
2325
2426 src = fetchsvn {
2527 url = "https://svn.code.sf.net/p/netpbm/code/advanced";
26− rev = "3735";
27− sha256 = "1m7ks6k53gsjsdazgf22g16dfgj3pqvqy9mhxzlwszv5808sj5w5";
28+ rev = "3972";
29+ sha256 = "09fpy4n4f867j23pr3b719wpvp8hjrr4drxp0r1csw74p8j6vfy3";
2830 };
2931
3032 nativeBuildInputs = [
@@ -40,10 +42,17 @@ stdenv.mkDerivation {
4042 libjpeg
4143 libxml2
4244 libtiff
45+ jbigkit
4346 ] ++ lib.optional enableX11 libX11;
4447
48+
49+ strictDeps = true;
50+
4551 enableParallelBuilding = true;
4652
53+ # Environment variables
54+ STRIPPROG = "${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip";
55+
4756 postPatch = ''
4857 # Install libnetpbm.so symlink to correct destination
4958 substituteInPlace lib/Makefile \
@@ -58,11 +67,22 @@ stdenv.mkDerivation {
5867 # Disable building static library
5968 echo "STATICLIB_TOO = N" >> config.mk
6069
70+ # Enable cross-compilation
71+ echo 'AR = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar' >> config.mk
72+ echo 'CC = ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc' >> config.mk
73+ echo 'CC_FOR_BUILD = ${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc' >> config.mk
74+ echo 'LD_FOR_BUILD = $(CC_FOR_BUILD)' >> config.mk
75+ echo 'PKG_CONFIG = ${buildPackages.pkgconfig}/bin/${buildPackages.pkgconfig.targetPrefix}pkg-config' >> config.mk
76+ echo 'RANLIB = ${stdenv.lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib' >> config.mk
77+
6178 # Use libraries from Nixpkgs
6279 echo "TIFFLIB = libtiff.so" >> config.mk
6380 echo "TIFFLIB_NEEDS_JPEG = N" >> config.mk
6481 echo "TIFFLIB_NEEDS_Z = N" >> config.mk
6582 echo "JPEGLIB = libjpeg.so" >> config.mk
83+ echo "JBIGLIB = libjbig.a" >> config.mk
84+ # Insecure
85+ echo "JASPERLIB = NONE" >> config.mk
6686
6787 # Fix path to rgb.txt
6888 echo "RGB_DB_PATH = $out/share/netpbm/misc/rgb.txt" >> config.mk
@@ -70,7 +90,7 @@ stdenv.mkDerivation {
7090 echo "LDSHLIB=-dynamiclib -install_name $out/lib/libnetpbm.\$(MAJ).dylib" >> config.mk
7191 echo "NETPBMLIBTYPE = dylib" >> config.mk
7292 echo "NETPBMLIBSUFFIX = dylib" >> config.mk
73−
93+ '' + ''
7494 runHook postConfigure
7595 '';
7696