diff options
author | Manuel Rüger <mrueg@gentoo.org> | 2015-01-03 17:14:41 +0000 |
---|---|---|
committer | Manuel Rüger <mrueg@gentoo.org> | 2015-01-03 17:14:41 +0000 |
commit | df46e91387fce42e73d4593e3deb8ab3a72a0f16 (patch) | |
tree | e44deaff60f06321e6d5fc217f1815c4ff6dfe38 /media-gfx | |
parent | EAPI 4 (diff) | |
download | gentoo-2-df46e91387fce42e73d4593e3deb8ab3a72a0f16.tar.gz gentoo-2-df46e91387fce42e73d4593e3deb8ab3a72a0f16.tar.bz2 gentoo-2-df46e91387fce42e73d4593e3deb8ab3a72a0f16.zip |
Fix build with poppler-0.29. See bug #534352
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key )
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/inkscape/ChangeLog | 10 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-0.91_pre3-poppler-0.29.patch | 94 | ||||
-rw-r--r-- | media-gfx/inkscape/inkscape-0.91_pre3-r2.ebuild | 163 |
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 +} |