From a28f218a462686b14e032e6363d3334257f8fe0b Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 21 Jan 2010 06:38:09 +0100 Subject: [PATCH] Add patch for new poppler version for media-gfx/inkscape-0.47. --- media-gfx/inkscape/Manifest | 3 + .../inkscape/files/inkscape-0.47-newpoppler.patch | 110 +++++++++++++++++++++ media-gfx/inkscape/inkscape-0.47.ebuild | 92 +++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 media-gfx/inkscape/Manifest create mode 100644 media-gfx/inkscape/files/inkscape-0.47-newpoppler.patch create mode 100644 media-gfx/inkscape/inkscape-0.47.ebuild diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest new file mode 100644 index 0000000..fa1ce6b --- /dev/null +++ b/media-gfx/inkscape/Manifest @@ -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 index 0000000..304ecc8 --- /dev/null +++ b/media-gfx/inkscape/files/inkscape-0.47-newpoppler.patch @@ -0,0 +1,110 @@ +Fix Rawhide build (more recent poppler) + +Lubomir Rintel + + +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 ++#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("CS"), &obj5)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj5); ++ blendingColorSpace = GfxColorSpace::parse(&obj5 PGFX); + } + obj5.free(); + if (obj4.dictLookup(const_cast("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("S"), &obj2)->isName(const_cast("Transparency"))) { + transpGroup = gTrue; + if (!obj1.dictLookup(const_cast("CS"), &obj3)->isNull()) { +- blendingColorSpace = GfxColorSpace::parse(&obj3); ++ blendingColorSpace = GfxColorSpace::parse(&obj3 PGFX); + } + obj3.free(); + if (obj1.dictLookup(const_cast("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 index 0000000..b4f5ea4 --- /dev/null +++ b/media-gfx/inkscape/inkscape-0.47.ebuild @@ -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" +} -- 2.7.4