summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/inkscape/ChangeLog10
-rw-r--r--media-gfx/inkscape/files/inkscape-0.91_pre3-poppler-0.29.patch94
-rw-r--r--media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild163
3 files changed, 265 insertions, 2 deletions
diff --git a/media-gfx/inkscape/ChangeLog b/media-gfx/inkscape/ChangeLog
index fe8146218f2b..c639eaac7048 100644
--- a/media-gfx/inkscape/ChangeLog
+++ b/media-gfx/inkscape/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-gfx/inkscape
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/ChangeLog,v 1.218 2014/12/15 17:43:10 radhermit Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/ChangeLog,v 1.219 2015/01/03 17:14:41 mrueg Exp $
+
+*inkscape-0.91_pre3-r2 (03 Jan 2015)
+
+ 03 Jan 2015; Manuel Rüger <mrueg@gentoo.org>
+ +files/inkscape-0.91_pre3-poppler-0.29.patch, +inkscape-0.91_pre3-r2.ebuild:
+ Fix build with poppler-0.29. See bug #534352
*inkscape-0.91_pre3-r1 (15 Dec 2014)
diff --git a/media-gfx/inkscape/files/inkscape-0.91_pre3-poppler-0.29.patch b/media-gfx/inkscape/files/inkscape-0.91_pre3-poppler-0.29.patch
new file mode 100644
index 000000000000..7751073ffaa7
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-0.91_pre3-poppler-0.29.patch
@@ -0,0 +1,94 @@
+=== modified file 'configure.ac'
+--- configure.ac 2014-11-30 23:03:49 +0000
++++ configure.ac 2014-12-11 00:09:21 +0000
+@@ -497,6 +497,11 @@
+ AC_DEFINE(POPPLER_EVEN_NEWER_COLOR_SPACE_API, 1, [Use even newer color space API from Poppler >= 0.26.0])
+ fi
+
++PKG_CHECK_MODULES(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API, poppler >= 0.29.0, popplernewernewcolorspaceapi=yes, popplernewernewcolorspaceapi=no)
++if test "x$popplernewernewcolorspaceapi" = "xyes"; then
++ AC_DEFINE(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API, 1, [Use even newer new color space API from Poppler >= 0.29.0])
++fi
++
+ # Poppler's b604a008 commit changes this
+ AC_MSG_CHECKING([whether GfxPatch in Poppler no longer uses GfxColor])
+ popplergfxcolor="no"
+
+=== modified file 'src/extension/internal/pdfinput/pdf-parser.cpp'
+--- src/extension/internal/pdfinput/pdf-parser.cpp 2014-10-16 06:31:29 +0000
++++ src/extension/internal/pdfinput/pdf-parser.cpp 2014-12-11 00:09:21 +0000
+@@ -923,7 +923,9 @@
+ GBool isolated = gFalse;
+ GBool knockout = gFalse;
+ if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ blendingColorSpace = GfxColorSpace::parse(NULL, &obj5, NULL, NULL);
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL, NULL);
+ #elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
+@@ -1159,7 +1161,13 @@
+ res->lookupColorSpace(args[0].getName(), &obj);
+
+ GfxColorSpace *colorSpace = 0;
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ if (obj.isNull()) {
++ colorSpace = GfxColorSpace::parse(NULL, &args[0], NULL, NULL);
++ } else {
++ colorSpace = GfxColorSpace::parse(NULL, &obj, NULL, NULL);
++ }
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ if (obj.isNull()) {
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
+ } else {
+@@ -1202,7 +1210,13 @@
+
+ state->setStrokePattern(NULL);
+ res->lookupColorSpace(args[0].getName(), &obj);
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ if (obj.isNull()) {
++ colorSpace = GfxColorSpace::parse(NULL, &args[0], NULL, NULL);
++ } else {
++ colorSpace = GfxColorSpace::parse(NULL, &obj, NULL, NULL);
++ }
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ if (obj.isNull()) {
+ colorSpace = GfxColorSpace::parse(&args[0], NULL, NULL);
+ } else {
+@@ -2910,7 +2924,9 @@
+ }
+ }
+ if (!obj1.isNull()) {
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ colorSpace = GfxColorSpace::parse(NULL, &obj1, NULL, NULL);
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ colorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
+ #elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+ colorSpace = GfxColorSpace::parse(&obj1, NULL);
+@@ -3004,7 +3020,9 @@
+ obj2.free();
+ }
+ }
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ GfxColorSpace *maskColorSpace = GfxColorSpace::parse(NULL, &obj1, NULL, NULL);
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ GfxColorSpace *maskColorSpace = GfxColorSpace::parse(&obj1, NULL, NULL);
+ #elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+ GfxColorSpace *maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
+@@ -3196,7 +3214,9 @@
+ if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) {
+ transpGroup = gTrue;
+ if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
+-#if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
++#if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
++ blendingColorSpace = GfxColorSpace::parse(NULL, &obj3, NULL, NULL);
++#elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL, NULL);
+ #elif defined(POPPLER_NEW_COLOR_SPACE_API) || defined(POPPLER_NEW_ERRORAPI)
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
+
diff --git a/media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild b/media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild
new file mode 100644
index 000000000000..2bfa3a5f1a43
--- /dev/null
+++ b/media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild,v 1.1 2015/01/03 17:14:41 mrueg Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils flag-o-matic gnome2-utils fdo-mime toolchain-funcs python-single-r1
+
+MY_P=${P/_/}
+
+DESCRIPTION="A SVG based generic vector-drawing program"
+HOMEPAGE="http://www.inkscape.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="cdr dia dbus exif gnome imagemagick openmp postscript inkjar jpeg lcms nls spell static-libs visio wpg"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+WPG_DEPS="
+ || (
+ ( app-text/libwpg:0.3 dev-libs/librevenge )
+ ( app-text/libwpd:0.9 app-text/libwpg:0.2 )
+ )
+"
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ >=app-text/poppler-0.26.0:=[cairo]
+ >=dev-cpp/glibmm-2.28
+ >=dev-cpp/gtkmm-2.18.0:2.4
+ >=dev-cpp/cairomm-1.9.8
+ >=dev-cpp/glibmm-2.32
+ >=dev-libs/boehm-gc-6.4
+ >=dev-libs/glib-2.28
+ >=dev-libs/libsigc++-2.0.12
+ >=dev-libs/libxml2-2.6.20
+ >=dev-libs/libxslt-1.0.15
+ dev-libs/popt
+ dev-python/lxml[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ media-libs/freetype:2
+ media-libs/libpng:0
+ sci-libs/gsl
+ x11-libs/libX11
+ >=x11-libs/gtk+-2.10.7:2
+ >=x11-libs/pango-1.24
+ cdr? (
+ media-libs/libcdr
+ ${WPG_DEPS}
+ )
+ dbus? ( dev-libs/dbus-glib )
+ exif? ( media-libs/libexif )
+ gnome? ( >=gnome-base/gnome-vfs-2.0 )
+ imagemagick? ( media-gfx/imagemagick:=[cxx] )
+ jpeg? ( virtual/jpeg:0 )
+ lcms? ( media-libs/lcms:2 )
+ spell? (
+ app-text/aspell
+ app-text/gtkspell:2
+ )
+ visio? (
+ media-libs/libvisio
+ ${WPG_DEPS}
+ )
+ wpg? ( ${WPG_DEPS} )
+"
+
+# 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[${PYTHON_USEDEP}]
+ media-gfx/uniconvertor
+ dia? ( app-office/dia )
+ postscript? ( app-text/ghostscript-gpl )
+"
+
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/boost-1.36
+ >=dev-util/intltool-0.40
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+RESTRICT="test"
+
+pkg_pretend() {
+ if use openmp; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-poppler-0.29.patch\
+ "${FILESDIR}"/${P}-automagic.patch \
+ "${FILESDIR}"/${P}-cppflags.patch \
+ "${FILESDIR}"/${P}-desktop.patch \
+ "${FILESDIR}"/${P}-exif.patch \
+ "${FILESDIR}"/${P}-sk-man.patch \
+ "${FILESDIR}"/${PN}-0.48.4-epython.patch
+
+ sed -i "s#@EPYTHON@#${EPYTHON}#" src/extension/implementation/script.cpp || die
+
+ eautoreconf
+
+ # bug 421111
+ python_fix_shebang share/extensions
+}
+
+src_configure() {
+ # aliasing unsafe wrt #310393
+ append-flags -fno-strict-aliasing
+
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable nls) \
+ $(use_enable openmp) \
+ $(use_enable exif) \
+ $(use_enable jpeg) \
+ $(use_enable lcms) \
+ --enable-poppler-cairo \
+ $(use_enable wpg) \
+ $(use_enable visio) \
+ $(use_enable cdr) \
+ $(use_enable dbus dbusapi) \
+ $(use_enable imagemagick magick) \
+ $(use_with gnome gnome-vfs) \
+ $(use_with inkjar) \
+ $(use_with spell gtkspell) \
+ $(use_with spell aspell)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ prune_libtool_files
+ python_optimize "${ED}"/usr/share/${PN}/extensions
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}