summary refs log tree commit diff
path: root/pkgs/development/libraries/libdevil
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-02-02 20:30:55 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-02-02 20:30:55 +0000
commit9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac (patch)
treee833b09eaad609ac095936217d4f6ac438d642b4 /pkgs/development/libraries/libdevil
parent798890b819e188a8a70fd2ade1e9872addb19d19 (diff)
downloadnixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar.gz
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar.bz2
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar.lz
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar.xz
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.tar.zst
nixlib-9758857fbe69d84e98e9ffd9a0f73e1ac94e4bac.zip
libdevil: pick a couple of debian patches
svn path=/nixpkgs/trunk/; revision=31986
Diffstat (limited to 'pkgs/development/libraries/libdevil')
-rw-r--r--pkgs/development/libraries/libdevil/default.nix25
-rw-r--r--pkgs/development/libraries/libdevil/ftbfs-libpng15.patch31
2 files changed, 49 insertions, 7 deletions
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index a67dc71f699f..12008bcbccb0 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl
-, libjpeg ? null, libpng ? null, libmng ? null, lcms1 ? null, libtiff ? null, openexr ? null, mesa ? null, xlibs ? null }:
+{ stdenv, fetchurl, libjpeg, libpng, libmng, lcms1, libtiff, openexr, mesa
+, libX11, pkgconfig }:
+
 stdenv.mkDerivation rec {
 
   name ="libdevil-${version}";
@@ -10,14 +11,24 @@ stdenv.mkDerivation rec {
     sha256 = "1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8";
   };
 
-  buildInputs = [ libjpeg libpng libmng lcms1 libtiff openexr mesa xlibs.libX11 ];
+  buildInputs = [ libjpeg libpng libmng lcms1 libtiff openexr mesa libX11 ];
+  buildNativeInputs = [ pkgconfig ];
+
   configureFlags = [ "--enable-ILU" "--enable-ILUT" ];
 
+  patches =
+    [ ( fetchurl {
+        url = http://patch-tracker.debian.org/patch/series/dl/devil/1.7.8-6.1/03_CVE-2009-3994.diff;
+        sha256 = "0qkx2qfv02igbrmsn6z5a3lbrbwjfh3rb0c2sj54wy0j1f775hbc";
+      } )
+      ./ftbfs-libpng15.patch
+    ];
+
   meta = with stdenv.lib; {
     homepage = http://openil.sourceforge.net/;
-    description = "An image library which can can load, save, convert, manipulate,
-      filter and display a wide variety of image formats.";
+    description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
     license = licenses.lgpl2;
-    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.all;
+    maintainers = [ maintainers.phreedom maintainers.urkud ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/libdevil/ftbfs-libpng15.patch b/pkgs/development/libraries/libdevil/ftbfs-libpng15.patch
new file mode 100644
index 000000000000..5fc53c2dc6a7
--- /dev/null
+++ b/pkgs/development/libraries/libdevil/ftbfs-libpng15.patch
@@ -0,0 +1,31 @@
+Source: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649554
+--- devil-1.7.8.orig/src-IL/src/il_icon.c
++++ devil-1.7.8/src-IL/src/il_icon.c
+@@ -525,7 +525,11 @@
+ 
+ 	// Expand low-bit-depth grayscale images to 8 bits
+ 	if (ico_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++		png_set_expand_gray_1_2_4_to_8(ico_png_ptr);
++#else
+ 		png_set_gray_1_2_4_to_8(ico_png_ptr);
++#endif
+ 	}
+ 
+ 	// Expand RGB images with transparency to full alpha channels
+only in patch2:
+unchanged:
+--- devil-1.7.8.orig/src-IL/src/il_png.c
++++ devil-1.7.8/src-IL/src/il_png.c
+@@ -278,7 +278,11 @@
+ 
+ 	// Expand low-bit-depth grayscale images to 8 bits
+ 	if (png_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
++		png_set_expand_gray_1_2_4_to_8(png_ptr);
++#else
+ 		png_set_gray_1_2_4_to_8(png_ptr);
++#endif
+ 	}
+ 
+ 	// Expand RGB images with transparency to full alpha channels