inkscape: a couple of upstream patches to fix FTBFS with libpng-1.5

svn path=/nixpkgs/trunk/; revision=32391
This commit is contained in:
Yury G. Kudryashov 2012-02-19 09:22:24 +00:00
parent 26f5bdfde1
commit aaad871c35
2 changed files with 50 additions and 3 deletions

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft { stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
, gsl, python, pyxml, lxml, poppler }: , gsl, python, pyxml, lxml, poppler, imagemagick, libwpg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "inkscape-0.48.2"; name = "inkscape-0.48.2";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "10v7ixdz7f8vgk2wv0m81zli9p0f446cm1f4aqlvni1ndsx44fi2"; sha256 = "10v7ixdz7f8vgk2wv0m81zli9p0f446cm1f4aqlvni1ndsx44fi2";
}; };
patches = [ ./configure-python-libs.patch ]; patches = [ ./configure-python-libs.patch ./libpng-1.5.patch ];
propagatedBuildInputs = [ propagatedBuildInputs = [
# Python is used at run-time to execute scripts, e.g., those from # Python is used at run-time to execute scripts, e.g., those from
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
makeWrapper intltool gsl poppler makeWrapper intltool gsl poppler imagemagick libwpg
]; ];
configureFlags = "--with-python"; configureFlags = "--with-python";

View File

@ -0,0 +1,47 @@
Source: upstream revisions 10061 and 10707
--- a/src/sp-image.cpp 2011-02-21 07:59:34 +0000
+++ b/src/sp-image.cpp 2011-02-21 08:57:28 +0000
@@ -387,9 +387,13 @@
#if defined(PNG_iCCP_SUPPORTED)
{
- char* name = 0;
+ png_charp name = 0;
int compression_type = 0;
- char* profile = 0;
+#if (PNG_LIBPNG_VER < 10500)
+ png_charp profile = 0;
+#else
+ png_bytep profile = 0;
+#endif
png_uint_32 proflen = 0;
if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) {
// g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type);
--- a/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-27 04:55:51 +0000
+++ b/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-29 20:34:00 +0000
@@ -1481,7 +1481,7 @@
return NULL;
}
// Set error handler
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return NULL;
}
--- a/src/helper/png-write.cpp 2011-08-07 10:53:12 +0000
+++ b/src/helper/png-write.cpp 2011-10-29 20:34:00 +0000
@@ -166,8 +166,8 @@
/* Set error handling. REQUIRED if you aren't supplying your own
* error hadnling functions in the png_create_write_struct() call.
*/
- if (setjmp(png_ptr->jmpbuf)) {
- /* If we get here, we had a problem reading the file */
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ // If we get here, we had a problem reading the file
fclose(fp);
png_destroy_write_struct(&png_ptr, &info_ptr);
return false;