summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-04-16 10:44:23 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-04-16 10:44:23 +0000
commit492a4bae5faac6865a9446f333a9a55024d6e2ef (patch)
tree2d8185e152e3ef18ede855fa06846178320fca09 /media-gfx
parentamd64 stable, bug 305071 (diff)
downloadgentoo-2-492a4bae5faac6865a9446f333a9a55024d6e2ef.tar.gz
gentoo-2-492a4bae5faac6865a9446f333a9a55024d6e2ef.tar.bz2
gentoo-2-492a4bae5faac6865a9446f333a9a55024d6e2ef.zip
Fix building with GCC 4.5 wrt #305749 by Daniel J.. Fix PostScript dependencies wrt #309213 by Willie Wong and Christopher Harvey. Disable strict aliasing wrt #310393 by Doktor Notor.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/inkscape/ChangeLog8
-rw-r--r--media-gfx/inkscape/files/inkscape-0.47-gcc45.patch83
-rw-r--r--media-gfx/inkscape/inkscape-0.47.ebuild21
-rw-r--r--media-gfx/inkscape/metadata.xml4
4 files changed, 106 insertions, 10 deletions
diff --git a/media-gfx/inkscape/ChangeLog b/media-gfx/inkscape/ChangeLog
index 8c2bd17367e6..80c44971469a 100644
--- a/media-gfx/inkscape/ChangeLog
+++ b/media-gfx/inkscape/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-gfx/inkscape
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/ChangeLog,v 1.138 2010/02/10 12:12:43 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/ChangeLog,v 1.139 2010/04/16 10:44:23 ssuominen Exp $
+
+ 16 Apr 2010; Samuli Suominen <ssuominen@gentoo.org> inkscape-0.47.ebuild,
+ +files/inkscape-0.47-gcc45.patch, metadata.xml:
+ Fix building with GCC 4.5 wrt #305749 by Daniel J.. Fix PostScript
+ dependencies wrt #309213 by Willie Wong and Christopher Harvey. Disable
+ strict aliasing wrt #310393 by Doktor Notor.
10 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> inkscape-0.47.ebuild:
Fix poppler depend.
diff --git a/media-gfx/inkscape/files/inkscape-0.47-gcc45.patch b/media-gfx/inkscape/files/inkscape-0.47-gcc45.patch
new file mode 100644
index 000000000000..643b7ff1d57b
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-0.47-gcc45.patch
@@ -0,0 +1,83 @@
+http://bugs.gentoo.org/show_bug.cgi?id=305749
+
+diff -Naur inkscape-0.47-orig/src/eraser-context.cpp inkscape-0.47/src/eraser-context.cpp
+--- inkscape-0.47-orig/src/eraser-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/eraser-context.cpp 2010-02-18 08:46:26.000000000 -0500
+@@ -749,7 +749,7 @@
+ if ( eraserMode ) {
+ toWorkOn = sp_document_partial_items_in_box(sp_desktop_document(desktop), desktop->dkey, bounds);
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ toWorkOn = sp_document_items_at_points(sp_desktop_document(desktop), desktop->dkey, r->getPoints());
+ }
+ toWorkOn = g_slist_remove( toWorkOn, acid );
+diff -Naur inkscape-0.47-orig/src/extension/internal/filter/filter-file.cpp inkscape-0.47/src/extension/internal/filter/filter-file.cpp
+--- inkscape-0.47-orig/src/extension/internal/filter/filter-file.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/extension/internal/filter/filter-file.cpp 2010-02-18 09:07:54.000000000 -0500
+@@ -161,7 +161,7 @@
+ mywriter writer;
+ sp_repr_write_stream(node, writer, 0, FALSE, g_quark_from_static_string("svg"), 0, 0);
+
+- Inkscape::Extension::build_from_mem(xml_str, new Filter::Filter(g_strdup(writer.c_str())));
++ Inkscape::Extension::build_from_mem(xml_str, new Filter(g_strdup(writer.c_str())));
+ g_free(xml_str);
+ return;
+ }
+diff -Naur inkscape-0.47-orig/src/extension/internal/filter/filter.cpp inkscape-0.47/src/extension/internal/filter/filter.cpp
+--- inkscape-0.47-orig/src/extension/internal/filter/filter.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/extension/internal/filter/filter.cpp 2010-02-18 09:21:06.000000000 -0500
+@@ -217,7 +217,7 @@
+ "<menu-tip>%s</menu-tip>\n"
+ "</effect>\n"
+ "</inkscape-extension>\n", name, id, submenu, tip);
+- Inkscape::Extension::build_from_mem(xml_str, new Filter::Filter(filter));
++ Inkscape::Extension::build_from_mem(xml_str, new Filter(filter));
+ g_free(xml_str);
+ return;
+ }
+diff -Naur inkscape-0.47-orig/src/flood-context.cpp inkscape-0.47/src/flood-context.cpp
+--- inkscape-0.47-orig/src/flood-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/flood-context.cpp 2010-02-18 08:48:16.000000000 -0500
+@@ -900,7 +900,7 @@
+ if (is_point_fill) {
+ fill_points.push_back(Geom::Point(event->button.x, event->button.y));
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ fill_points = r->getPoints();
+ }
+
+@@ -1206,7 +1206,7 @@
+
+ case GDK_BUTTON_RELEASE:
+ if (event->button.button == 1 && !event_context->space_panning) {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started()) {
+ // set "busy" cursor
+ desktop->setWaitingCursor();
+diff -Naur inkscape-0.47-orig/src/gradient-context.cpp inkscape-0.47/src/gradient-context.cpp
+--- inkscape-0.47-orig/src/gradient-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/gradient-context.cpp 2010-02-18 08:47:33.000000000 -0500
+@@ -641,7 +641,7 @@
+ if (!event_context->within_tolerance) {
+ // we've been dragging, either do nothing (grdrag handles that),
+ // or rubberband-select if we have rubberband
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started() && !event_context->within_tolerance) {
+ // this was a rubberband drag
+ if (r->getMode() == RUBBERBAND_MODE_RECT) {
+diff -Naur inkscape-0.47-orig/src/select-context.cpp inkscape-0.47/src/select-context.cpp
+--- inkscape-0.47-orig/src/select-context.cpp 2010-02-18 08:45:58.000000000 -0500
++++ inkscape-0.47/src/select-context.cpp 2010-02-18 08:50:11.000000000 -0500
+@@ -602,7 +602,7 @@
+ }
+ sc->item = NULL;
+ } else {
+- Inkscape::Rubberband::Rubberband *r = Inkscape::Rubberband::get(desktop);
++ Inkscape::Rubberband *r = Inkscape::Rubberband::get(desktop);
+ if (r->is_started() && !within_tolerance) {
+ // this was a rubberband drag
+ GSList *items = NULL;
diff --git a/media-gfx/inkscape/inkscape-0.47.ebuild b/media-gfx/inkscape/inkscape-0.47.ebuild
index 2e3c9d99b1d4..a3f97ea5ff19 100644
--- a/media-gfx/inkscape/inkscape-0.47.ebuild
+++ b/media-gfx/inkscape/inkscape-0.47.ebuild
@@ -1,9 +1,9 @@
# 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.11 2010/02/10 12:12:43 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.47.ebuild,v 1.12 2010/04/16 10:44:23 ssuominen Exp $
EAPI=2
-inherit eutils gnome2
+inherit eutils flag-o-matic gnome2
MY_P="${P/_/}"
S="${WORKDIR}/${MY_P}"
@@ -12,10 +12,11 @@ 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"
+SLOT="0"
KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
-IUSE="dia gnome inkjar lcms mmx nls postscript spell wmf"
+IUSE="dia gnome gs inkjar lcms mmx nls spell wmf"
+
RESTRICT="test"
COMMON_DEPEND="
@@ -54,7 +55,7 @@ RDEPEND="
${COMMON_DEPEND}
dev-python/numpy
dia? ( app-office/dia )
- postscript? ( >=media-gfx/pstoedit-3.44[plotutils] media-gfx/skencil )
+ gs? ( app-text/ghostscript-gpl )
wmf? ( media-libs/libwmf )"
DEPEND="${COMMON_DEPEND}
@@ -77,11 +78,17 @@ pkg_setup() {
}
src_prepare() {
- epatch "${FILESDIR}"/${P}-poppler.patch
-
+ epatch "${FILESDIR}"/${P}-poppler.patch \
+ "${FILESDIR}"/${P}-gcc45.patch
gnome2_src_prepare
}
+src_configure() {
+ # aliasing unsafe wrt #310393
+ append-flags -fno-strict-aliasing
+ gnome2_src_configure
+}
+
pkg_postinst() {
elog "local configurations (also includes extensions) are moved from"
elog "\${HOME}/.inkscape to \${HOME}/.config/inkscape within"
diff --git a/media-gfx/inkscape/metadata.xml b/media-gfx/inkscape/metadata.xml
index 7b667a5c882f..4d0502de5eb6 100644
--- a/media-gfx/inkscape/metadata.xml
+++ b/media-gfx/inkscape/metadata.xml
@@ -9,8 +9,8 @@
<flag name='inkjar'>
enables support for OpenOffice.org SVG jar files
</flag>
- <flag name='postscript'>
- pull in dependencies needed for the postscript import extension
+ <flag name='gs'>
+ enables support for the PostScript import extension
</flag>
</use>
</pkgmetadata>