summaryrefslogtreecommitdiff
path: root/extra/inkscape
diff options
context:
space:
mode:
Diffstat (limited to 'extra/inkscape')
-rw-r--r--extra/inkscape/PKGBUILD12
-rw-r--r--extra/inkscape/libpng15.patch40
2 files changed, 48 insertions, 4 deletions
diff --git a/extra/inkscape/PKGBUILD b/extra/inkscape/PKGBUILD
index 079ca3009..b7266212d 100644
--- a/extra/inkscape/PKGBUILD
+++ b/extra/inkscape/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 143645 2011-11-28 00:27:02Z bisson $
+# $Id: PKGBUILD 148790 2012-02-05 11:50:35Z ibiru $
# Contributor: tobias <tobias@archlinux.org>
# Contributor: Tobias Kieslich <tobias@justdreams.de>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=inkscape
pkgver=0.48.2
-pkgrel=5
+pkgrel=6
pkgdesc='Vector graphics editor using the SVG file format'
url='http://inkscape.sourceforge.net/'
arch=('i686' 'x86_64')
@@ -20,8 +20,10 @@ optdepends=('pstoedit: latex formulas'
'pyxml: some extensions'
'uniconvertor: reading/writing to some proprietary formats')
options=('!libtool')
-source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('422a4bacd4dc42adafa203244bc9816783cba4d3')
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+ 'libpng15.patch')
+sha1sums=('422a4bacd4dc42adafa203244bc9816783cba4d3'
+ 'd6512f3cb38ca8e2436dc485aa652490d17b3a52')
install=install
@@ -34,6 +36,8 @@ build() {
sed -i 's|python -c|python2 -c|g' configure share/extensions/uniconv*.py
sed -i 's|"python"|"python2"|g' src/main.cpp
+ patch -p1 -i ../libpng15.patch
+
./configure --prefix=/usr \
--with-python \
--with-perl \
diff --git a/extra/inkscape/libpng15.patch b/extra/inkscape/libpng15.patch
new file mode 100644
index 000000000..e24913ed6
--- /dev/null
+++ b/extra/inkscape/libpng15.patch
@@ -0,0 +1,40 @@
+--- inkscape-0.48.1/src/extension/internal/pdfinput/svg-builder.cpp
++++ inkscape-0.48.1-mod//src/extension/internal/pdfinput/svg-builder.cpp
+@@ -1443,7 +1443,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;
+ }
+--- inkscape-0.48.1/src/helper/png-write.cpp
++++ inkscape-0.48.1-mod//src/helper/png-write.cpp
+@@ -165,7 +165,7 @@
+ /* 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 (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);
+--- inkscape-0.48.1/src/sp-image.cpp
++++ inkscape-0.48.1-mod//src/sp-image.cpp
+@@ -386,9 +386,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);