Add patch for new poppler version for media-gfx/inkscape-0.47.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 21 Jan 2010 05:38:09 +0000 (06:38 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 21 Jan 2010 05:38:09 +0000 (06:38 +0100)
media-gfx/inkscape/Manifest [new file with mode: 0644]
media-gfx/inkscape/files/inkscape-0.47-newpoppler.patch [new file with mode: 0644]
media-gfx/inkscape/inkscape-0.47.ebuild [new file with mode: 0644]

diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
new file mode 100644 (file)
index 0000000..fa1ce6b
--- /dev/null
@@ -0,0 +1,3 @@
+AUX inkscape-0.47-newpoppler.patch 3733 RMD160 6fad5479d59f1742216fe673e80dac2b420f768e SHA1 de0d3ab2b55bc0c63ef725bad90bd78258b76bc5 SHA256 43f0e3202e179599719e1a857ae319e332dad082bd8ab64c686a00979174c000
+DIST inkscape-0.47.tar.gz 28044445 RMD160 58fe20b2a103bd8909e27811354e1a3700dcd177 SHA1 aa39d5f7306edb21be4987651041bf50c13baf75 SHA256 e5899be10183d86249516a29bc146706600ae5eafb5be5274c465a8029659b97
+EBUILD inkscape-0.47.ebuild 2389 RMD160 679e5c9f31a524143762ca5118837a7a6696fb0e SHA1 5a9471612711bafa42499991b5e9be7011f779d0 SHA256 dd4b797503aad4daeabce88c1cbc9ec1f68dd9aae347cd6bbb2283faf301b277
diff --git a/media-gfx/inkscape/files/inkscape-0.47-newpoppler.patch b/media-gfx/inkscape/files/inkscape-0.47-newpoppler.patch
new file mode 100644 (file)
index 0000000..304ecc8
--- /dev/null
@@ -0,0 +1,110 @@
+Fix Rawhide build (more recent poppler)
+
+Lubomir Rintel <lkundrak@v3.sk>
+
+
+Index: inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp
+===================================================================
+--- inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp        (revision 22620)
++++ inkscape-svn/src/extension/internal/pdfinput/pdf-parser.cpp        (working copy)
+@@ -56,6 +56,13 @@
+ #define M_PI 3.14159265358979323846
+ #endif
++#include <glib/poppler-features.h>
++#if POPPLER_CHECK_VERSION(0,12,2)
++#define PGFX ,NULL
++#else
++#define PGFX
++#endif
++
+ //------------------------------------------------------------------------
+ // constants
+ //------------------------------------------------------------------------
+@@ -809,7 +816,7 @@
+         blendingColorSpace = NULL;
+         isolated = knockout = gFalse;
+         if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
+-          blendingColorSpace = GfxColorSpace::parse(&obj5);
++          blendingColorSpace = GfxColorSpace::parse(&obj5 PGFX);
+         }
+         obj5.free();
+         if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) {
+@@ -1009,9 +1016,9 @@
+   state->setFillPattern(NULL);
+   res->lookupColorSpace(args[0].getName(), &obj);
+   if (obj.isNull()) {
+-    colorSpace = GfxColorSpace::parse(&args[0]);
++    colorSpace = GfxColorSpace::parse(&args[0] PGFX);
+   } else {
+-    colorSpace = GfxColorSpace::parse(&obj);
++    colorSpace = GfxColorSpace::parse(&obj PGFX);
+   }
+   obj.free();
+   if (colorSpace) {
+@@ -1032,9 +1039,9 @@
+   state->setStrokePattern(NULL);
+   res->lookupColorSpace(args[0].getName(), &obj);
+   if (obj.isNull()) {
+-    colorSpace = GfxColorSpace::parse(&args[0]);
++    colorSpace = GfxColorSpace::parse(&args[0] PGFX);
+   } else {
+-    colorSpace = GfxColorSpace::parse(&obj);
++    colorSpace = GfxColorSpace::parse(&obj PGFX);
+   }
+   obj.free();
+   if (colorSpace) {
+@@ -1101,7 +1108,7 @@
+       builder->updateStyle(state);
+     }
+     if (args[numArgs-1].isName() &&
+-      (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++      (pattern = res->lookupPattern(args[numArgs-1].getName() PGFX))) {
+       state->setFillPattern(pattern);
+       builder->updateStyle(state);
+     }
+@@ -1145,7 +1152,7 @@
+       builder->updateStyle(state);
+     }
+     if (args[numArgs-1].isName() &&
+-      (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
++      (pattern = res->lookupPattern(args[numArgs-1].getName() PGFX))) {
+       state->setStrokePattern(pattern);
+       builder->updateStyle(state);
+     }
+@@ -1543,7 +1550,7 @@
+   double *matrix = NULL;
+   GBool savedState = gFalse;
+-  if (!(shading = res->lookupShading(args[0].getName()))) {
++  if (!(shading = res->lookupShading(args[0].getName() PGFX))) {
+     return;
+   }
+@@ -2507,7 +2514,7 @@
+       }
+     }
+     if (!obj1.isNull()) {
+-      colorSpace = GfxColorSpace::parse(&obj1);
++      colorSpace = GfxColorSpace::parse(&obj1 PGFX);
+     } else if (csMode == streamCSDeviceGray) {
+       colorSpace = new GfxDeviceGrayColorSpace();
+     } else if (csMode == streamCSDeviceRGB) {
+@@ -2592,7 +2599,7 @@
+         obj2.free();
+       }
+       }
+-      maskColorSpace = GfxColorSpace::parse(&obj1);
++      maskColorSpace = GfxColorSpace::parse(&obj1 PGFX);
+       obj1.free();
+       if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
+       goto err1;
+@@ -2767,7 +2774,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 PGFX);
+       }
+       obj3.free();
+       if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) {
diff --git a/media-gfx/inkscape/inkscape-0.47.ebuild b/media-gfx/inkscape/inkscape-0.47.ebuild
new file mode 100644 (file)
index 0000000..b4f5ea4
--- /dev/null
@@ -0,0 +1,92 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.47.ebuild,v 1.7 2010/01/07 18:14:56 josejx Exp $
+
+EAPI=2
+inherit base gnome2
+
+MY_P="${P/_/}"
+S="${WORKDIR}/${MY_P}"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+DESCRIPTION="A SVG based generic vector-drawing program"
+HOMEPAGE="http://www.inkscape.org/"
+
+SLOT="0"
+LICENSE="GPL-2 LGPL-2.1"
+KEYWORDS="amd64 ~hppa ppc ppc64 ~sparc x86"
+IUSE="dia gnome inkjar lcms mmx nls postscript spell wmf"
+RESTRICT="test"
+
+COMMON_DEPEND="
+       >=virtual/poppler-glib-0.8.3[cairo]
+       dev-cpp/glibmm
+       >=dev-cpp/gtkmm-2.10.0
+       >=dev-libs/boehm-gc-6.4
+       >=dev-libs/glib-2.6.5
+       >=dev-libs/libsigc++-2.0.12
+       >=dev-libs/libxml2-2.6.20
+       >=dev-libs/libxslt-1.0.15
+       dev-libs/popt
+       dev-python/lxml
+       media-gfx/imagemagick
+       media-libs/fontconfig
+       >=media-libs/freetype-2
+       >=media-libs/libpng-1.2
+       >=media-libs/libwpg-0.1
+       sci-libs/gsl
+       x11-libs/libXft
+       >=x11-libs/gtk+-2.10.7
+       >=x11-libs/pango-1.4.0
+       || ( dev-lang/python[xml] dev-python/pyxml )
+       gnome? ( >=gnome-base/gnome-vfs-2.0 )
+       lcms? ( >=media-libs/lcms-1.14 )
+       spell? (
+               app-text/aspell
+               app-text/gtkspell
+       )"
+
+# These only use executables provided by these packages
+# See share/extensions for more details. inkscape can tell you to
+# install these so we could of course just not depend on those and rely
+# on that.
+RDEPEND="
+       ${COMMON_DEPEND}
+       dev-python/numpy
+       dia? ( app-office/dia )
+       postscript? ( >=media-gfx/pstoedit-3.44[plotutils] media-gfx/skencil )
+       wmf? ( media-libs/libwmf )"
+
+DEPEND="${COMMON_DEPEND}
+       dev-libs/boost
+       sys-devel/gettext
+       dev-util/pkgconfig
+       x11-libs/libX11
+       >=dev-util/intltool-0.29"
+
+PATCHES=(
+       "${FILESDIR}/inkscape-0.47-newpoppler.patch"
+)
+
+src_prepare() {
+       base_src_prepare
+       gnome2_src_prepare
+}
+
+pkg_setup() {
+       G2CONF="${G2CONF} --without-perl"
+       G2CONF="${G2CONF} --enable-poppler-cairo"
+       G2CONF="${G2CONF} --with-xft"
+       G2CONF="${G2CONF} $(use_with gnome gnome-vfs)"
+       G2CONF="${G2CONF} $(use_with inkjar)"
+       G2CONF="${G2CONF} $(use_enable lcms)"
+       G2CONF="${G2CONF} $(use_enable mmx)"
+       G2CONF="${G2CONF} $(use_enable nls)"
+       DOCS="AUTHORS ChangeLog NEWS README*"
+}
+
+pkg_postinst() {
+       elog "local configurations (also includes extensions) are moved from"
+       elog "\${HOME}/.inkscape to \${HOME}/.config/inkscape within"
+       elog ">=media-gfx/inkscape-0.47"
+}