diff options
Diffstat (limited to 'main/inkscape')
-rw-r--r-- | main/inkscape/50-poppler-API.patch | 97 | ||||
-rw-r--r-- | main/inkscape/APKBUILD | 53 |
2 files changed, 150 insertions, 0 deletions
diff --git a/main/inkscape/50-poppler-API.patch b/main/inkscape/50-poppler-API.patch new file mode 100644 index 0000000000..b97969de1d --- /dev/null +++ b/main/inkscape/50-poppler-API.patch @@ -0,0 +1,97 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 50-poppler-API.patch.dpatch by Kees Cook <kees@ubuntu.com> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: https://bugs.launchpad.net/inkscape/+bug/487038 + +@DPATCH@ +diff -urNad inkscape~/src/extension/internal/pdfinput/pdf-parser.cpp inkscape/src/extension/internal/pdfinput/pdf-parser.cpp +--- inkscape~/src/extension/internal/pdfinput/pdf-parser.cpp 2009-10-10 12:17:47.000000000 -0700 ++++ inkscape/src/extension/internal/pdfinput/pdf-parser.cpp 2009-12-23 22:34:13.000000000 -0800 +@@ -809,7 +809,7 @@ + blendingColorSpace = NULL; + isolated = knockout = gFalse; + if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj5); ++ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL); + } + obj5.free(); + if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) { +@@ -1009,9 +1009,9 @@ + state->setFillPattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); + if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); ++ colorSpace = GfxColorSpace::parse(&args[0], NULL); + } else { +- colorSpace = GfxColorSpace::parse(&obj); ++ colorSpace = GfxColorSpace::parse(&obj, NULL); + } + obj.free(); + if (colorSpace) { +@@ -1032,9 +1032,9 @@ + state->setStrokePattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); + if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); ++ colorSpace = GfxColorSpace::parse(&args[0], NULL); + } else { +- colorSpace = GfxColorSpace::parse(&obj); ++ colorSpace = GfxColorSpace::parse(&obj, NULL); + } + obj.free(); + if (colorSpace) { +@@ -1101,7 +1101,7 @@ + builder->updateStyle(state); + } + if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { ++ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { + state->setFillPattern(pattern); + builder->updateStyle(state); + } +@@ -1145,7 +1145,7 @@ + builder->updateStyle(state); + } + if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { ++ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { + state->setStrokePattern(pattern); + builder->updateStyle(state); + } +@@ -1543,7 +1543,7 @@ + double *matrix = NULL; + GBool savedState = gFalse; + +- if (!(shading = res->lookupShading(args[0].getName()))) { ++ if (!(shading = res->lookupShading(args[0].getName(), NULL))) { + return; + } + +@@ -2507,7 +2507,7 @@ + } + } + if (!obj1.isNull()) { +- colorSpace = GfxColorSpace::parse(&obj1); ++ colorSpace = GfxColorSpace::parse(&obj1, NULL); + } else if (csMode == streamCSDeviceGray) { + colorSpace = new GfxDeviceGrayColorSpace(); + } else if (csMode == streamCSDeviceRGB) { +@@ -2592,7 +2592,7 @@ + obj2.free(); + } + } +- maskColorSpace = GfxColorSpace::parse(&obj1); ++ maskColorSpace = GfxColorSpace::parse(&obj1, NULL); + obj1.free(); + if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { + goto err1; +@@ -2767,7 +2767,7 @@ + if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) { + transpGroup = gTrue; + if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj3); ++ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL); + } + obj3.free(); + if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) { diff --git a/main/inkscape/APKBUILD b/main/inkscape/APKBUILD new file mode 100644 index 0000000000..d8c5f2452f --- /dev/null +++ b/main/inkscape/APKBUILD @@ -0,0 +1,53 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=inkscape +pkgver=0.47 +pkgrel=1 +pkgdesc="A vector-based drawing program - svg compliant" +url="http://inkscape.sourceforge.net/" +license="GPL LGPL" +makedepends=" +poppler-gtk-dev +imagemagick-dev +gtkspell-dev +gc-dev +gtkmm-dev +libxslt-dev +gsl-dev +py-xml +popt-dev +lcms-dev +libxml2-dev +boost-dev +" +depends="desktop-file-utils" +install= +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + 50-poppler-API.patch" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/50-poppler-API.patch || return 1 +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --with-python \ + --with-perl \ + --without-gnome-vfs \ + --with-xft \ + --enable-lcms \ + --enable-poppler-cairo \ + --disable-dependency-tracking \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} +md5sums="916c85b501bcfb0ae61fcf7318f36348 inkscape-0.47.tar.gz +b447272c9b282b49e86dca24c2581065 50-poppler-API.patch" |