summaryrefslogtreecommitdiffstats
path: root/main/inkscape
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-06-24 11:33:02 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-06-24 11:33:02 +0000
commitdce23df1693d8a23173ab7dc9ad71c43c9e8e316 (patch)
treed92542c42ff2b0574fd685c16e5c24573c9ccc57 /main/inkscape
parentfaf142f1a2ea5d68e2f041ae4e2c75f4c343fbcd (diff)
downloadaports-dce23df1693d8a23173ab7dc9ad71c43c9e8e316.tar.bz2
aports-dce23df1693d8a23173ab7dc9ad71c43c9e8e316.tar.xz
main/inkscape: moved from testing
Diffstat (limited to 'main/inkscape')
-rw-r--r--main/inkscape/50-poppler-API.patch97
-rw-r--r--main/inkscape/APKBUILD53
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 000000000..b97969de1
--- /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 000000000..d8c5f2452
--- /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"