summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul de Vrieze <pauldv@gentoo.org>2009-01-08 13:33:21 +0000
committerPaul de Vrieze <pauldv@gentoo.org>2009-01-08 13:33:21 +0000
commita98e6cb7831e89e5ddc24281c27295d6413126d6 (patch)
tree8ebe019263171cb3e55bfbfee1a0b329ae5294f7
parentGet the eclipse ebuild from the java overlay, and clean it up just a little (diff)
downloadpauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.tar.gz
pauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.tar.bz2
pauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.zip
New svn repos prerelease
svn path=/trunk/overlay/; revision=78
-rw-r--r--media-gfx/inkscape/Manifest9
-rw-r--r--media-gfx/inkscape/files/inkscape-0.41_gnome-print.patch16
-rw-r--r--media-gfx/inkscape/files/inkscape-0.44-gcc41.patch26
-rw-r--r--media-gfx/inkscape/files/inkscape-20050326.psfix.patch1245
-rw-r--r--media-gfx/inkscape/files/inkscape-epsout.patch33
-rw-r--r--media-gfx/inkscape/files/inkscape-landscape.patch14
-rw-r--r--media-gfx/inkscape/inkscape-0.46_pre15990.ebuild89
-rw-r--r--media-gfx/inkscape/inkscape-0.46_pre16516.ebuild89
-rw-r--r--media-gfx/inkscape/inkscape-0.46_pre17441.ebuild89
-rw-r--r--media-gfx/inkscape/inkscape-0.47_pre20479.ebuild113
10 files changed, 114 insertions, 1609 deletions
diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index acdd174..9e38537 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -1,13 +1,6 @@
-AUX inkscape-0.41_gnome-print.patch 404 RMD160 a5132cb26d889c82bbf42e715ede39c66650e710 SHA1 0b06333a46041039be43c8aa26777731304b9d1e SHA256 89f5bd446a96c9a4b4865a01cd6d87bbb1cf8078705d0d01c75180f2caf2e048
-AUX inkscape-0.44-gcc41.patch 803 RMD160 0394eeadb24671d603dec17b3388021d98a0539e SHA1 42586de7cc9799af926469c63a1be8807d1d0157 SHA256 4a7c68f7db7590c14cf4ee2d801bed01df5b987c414af481053fc3a3a6438354
AUX inkscape-0.47-escapeDevName.patch 1075 RMD160 bb01d422f1eb4ea7420681b4b25bb98fe27512bf SHA1 99783aa78e8564a300fa39663bd0580201fa912d SHA256 89e71ba4573b896389f567a2321b48b3e16a4eec3233a527bdf94806762fc40f
AUX inkscape-0.47-type-punning.patch 440 RMD160 2eb47c48ec5017dc8e22582a06e817a8dce19aa5 SHA1 f78b90d499c72c0e98229d0de41018e50309582f SHA256 e3cbd6bd071f7525b55f6b0bdb72137d4ffa02eed6c490ad67943db564171636
-AUX inkscape-20050326.psfix.patch 41224 RMD160 cc9a44c3cabda30ca31dccf5cb42b4c2087ffc9b SHA1 4bd3aa96f8b886b25b92bb914fd11289cf03ac37 SHA256 defff82478298e7e260fd92f6829034d775aaf1201d6e28f3145b5c703c87bab
-AUX inkscape-epsout.patch 1449 RMD160 ee467b8646301698a5b8ae60cb2d544e337bf681 SHA1 4ce73e237263c159524bd758b94c8fa0a70e576f SHA256 a291a979318cc3925bb208ba9aa8c823b058c8e3071eeaba85b8d1fb2fc486a6
-AUX inkscape-landscape.patch 592 RMD160 00fdf7f577d9085d6056742009fcfd40f548f2e1 SHA1 50ceb5bdfce4dc2a399e33c9590efeb3164021e7 SHA256 ffd3fdf9faf6ed00e7c7a128e72c7204ffba61223fa29dacd35e1b606f0a51ee
-EBUILD inkscape-0.46_pre15990.ebuild 2421 RMD160 1555270e78a0f24c9285ec76fc985c75aa7b1382 SHA1 92a42ed740c92d78c70511b11cd7b99b1d4265fa SHA256 c5568cd27f0a9f0ee8816f64ddfe2efd0b6f42bd9f82d3ae2c29e9e85d508f54
-EBUILD inkscape-0.46_pre16516.ebuild 2421 RMD160 1555270e78a0f24c9285ec76fc985c75aa7b1382 SHA1 92a42ed740c92d78c70511b11cd7b99b1d4265fa SHA256 c5568cd27f0a9f0ee8816f64ddfe2efd0b6f42bd9f82d3ae2c29e9e85d508f54
-EBUILD inkscape-0.46_pre17441.ebuild 2421 RMD160 1555270e78a0f24c9285ec76fc985c75aa7b1382 SHA1 92a42ed740c92d78c70511b11cd7b99b1d4265fa SHA256 c5568cd27f0a9f0ee8816f64ddfe2efd0b6f42bd9f82d3ae2c29e9e85d508f54
EBUILD inkscape-0.47_pre20335.ebuild 3127 RMD160 f2078f72f8c3a790f7157c2ef1644e19514abf0b SHA1 498dfd4a5a06e34cfd53acb48b4f3caeb6ba80a7 SHA256 9ceab470afcadc24a2f703637f871e7360d9fe37cfd87a16eccd7dcecc83067a
EBUILD inkscape-0.47_pre20395.ebuild 3127 RMD160 f2078f72f8c3a790f7157c2ef1644e19514abf0b SHA1 498dfd4a5a06e34cfd53acb48b4f3caeb6ba80a7 SHA256 9ceab470afcadc24a2f703637f871e7360d9fe37cfd87a16eccd7dcecc83067a
+EBUILD inkscape-0.47_pre20479.ebuild 3081 RMD160 bba708acfaf0df8d956dc6372fd8b05bb0532ea5 SHA1 6546ca5a2d26f84a6119922b64c9ed13553f60b1 SHA256 c5b096c1ebeca5bb1264be7d03220b84e43e449a4c2f3aa3972b7acc9109b121
MISC NOTES 56 RMD160 d48096e40f8f09e4901631591be3ba9efdefb62b SHA1 f1764ab40c496936f46f560625046181eb64fef1 SHA256 c630b8873c8eafc186770124e61c71f71428440c6a2e95dc86c158fd4a49d778
diff --git a/media-gfx/inkscape/files/inkscape-0.41_gnome-print.patch b/media-gfx/inkscape/files/inkscape-0.41_gnome-print.patch
deleted file mode 100644
index 10fa49a..0000000
--- a/media-gfx/inkscape/files/inkscape-0.41_gnome-print.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/extension/internal/gnome.cpp
-+++ src/extension/internal/gnome.cpp
-@@ -183,6 +183,13 @@
- return 0;
- }
-
-+unsigned int PrintGNOME::comment (Inkscape::Extension::Print * module,
-+ const char * comment)
-+{
-+ // ignore comment
-+ return 0;
-+}
-+
- unsigned int
- PrintGNOME::fill(Inkscape::Extension::Print *mod,
- NRBPath const *bpath, NRMatrix const *ctm, SPStyle const *style,
diff --git a/media-gfx/inkscape/files/inkscape-0.44-gcc41.patch b/media-gfx/inkscape/files/inkscape-0.44-gcc41.patch
deleted file mode 100644
index d4fc49a..0000000
--- a/media-gfx/inkscape/files/inkscape-0.44-gcc41.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: src/dom/uri.h
-===================================================================
---- src/dom/uri.h (revision 11487)
-+++ src/dom/uri.h (working copy)
-@@ -87,7 +87,7 @@
- /**
- * Assignment
- */
-- URI &URI::operator=(const URI &other);
-+ URI &operator=(const URI &other);
-
- /**
- *
-Index: src/document.h
-===================================================================
---- src/document.h (revision 11487)
-+++ src/document.h (working copy)
-@@ -125,7 +125,7 @@
- sigc::connection _selection_changed_connection;
- sigc::connection _desktop_activated_connection;
-
-- void SPDocument::fitToRect(NRRect const & rect);
-+ void fitToRect(NRRect const & rect);
- };
-
- SPDocument *sp_document_new (const gchar *uri, unsigned int keepalive, bool make_new = false);
diff --git a/media-gfx/inkscape/files/inkscape-20050326.psfix.patch b/media-gfx/inkscape/files/inkscape-20050326.psfix.patch
deleted file mode 100644
index 061a526..0000000
--- a/media-gfx/inkscape/files/inkscape-20050326.psfix.patch
+++ /dev/null
@@ -1,1245 +0,0 @@
-diff -urN inkscape-20050326-2100.orig/src/.kdbgrc.inkscape inkscape-20050326-2100/src/.kdbgrc.inkscape
---- inkscape-20050326-2100.orig/src/.kdbgrc.inkscape 1970-01-01 01:00:00.000000000 +0100
-+++ inkscape-20050326-2100/src/.kdbgrc.inkscape 2005-03-29 15:06:43.000000000 +0200
-@@ -0,0 +1,27 @@
-+[Breakpoint 0]
-+Enabled=true
-+File=ps.cpp
-+Line=298
-+Temporary=false
-+
-+[Breakpoint 1]
-+Enabled=true
-+File=ps.cpp
-+Line=249
-+Temporary=false
-+
-+[General]
-+DebuggerCmdStr=
-+DriverName=GDB
-+FileVersion=1
-+OptionsSelected=
-+ProgramArgs=--print \\>/tmp/foo.eps /home/pauldv/data/thesis/Chapter4/modelOverview.svg
-+TTYLevel=7
-+WorkingDirectory=
-+
-+[Memory]
-+ColumnWidths=80,0
-+NumExprs=0
-+
-+[Watches]
-+Expr0=&fn[strlen(fn)-4]
-diff -urN inkscape-20050326-2100.orig/src/extension/internal/Makefile_insert inkscape-20050326-2100/src/extension/internal/Makefile_insert
---- inkscape-20050326-2100.orig/src/extension/internal/Makefile_insert 2005-03-27 07:01:06.000000000 +0200
-+++ inkscape-20050326-2100/src/extension/internal/Makefile_insert 2005-03-29 13:59:42.000000000 +0200
-@@ -16,6 +16,8 @@
- extension/internal/svg.cpp \
- extension/internal/svgz.h \
- extension/internal/svgz.cpp \
-+ extension/internal/pstree.h \
-+ extension/internal/pstree.cpp \
- extension/internal/ps.h \
- extension/internal/ps.cpp \
- extension/internal/ps-out.h \
-diff -urN inkscape-20050326-2100.orig/src/extension/internal/ps.cpp inkscape-20050326-2100/src/extension/internal/ps.cpp
---- inkscape-20050326-2100.orig/src/extension/internal/ps.cpp 2005-03-27 07:01:06.000000000 +0200
-+++ inkscape-20050326-2100/src/extension/internal/ps.cpp 2005-03-29 15:04:51.000000000 +0200
-@@ -74,6 +74,9 @@
-
- #include "io/sys.h"
-
-+using namespace std;
-+using namespace Inkscape::Extension::Internal::PS;
-+
- namespace Inkscape {
- namespace Extension {
- namespace Internal {
-@@ -81,7 +84,8 @@
- PrintPS::PrintPS() :
- _stream(NULL),
- _dpi(72),
-- _bitmap(false)
-+ _bitmap(false),
-+ _tree(0)
- {
- }
-
-@@ -239,13 +243,14 @@
- unsigned int
- PrintPS::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
- {
-- Inkscape::SVGOStringStream os;
- int res;
- FILE *osf, *osp;
- const gchar * fn;
-
- fn = mod->get_param_string("destination");
-
-+ _tree.reset(new PSTree());
-+
- osf = NULL;
- osp = NULL;
-
-@@ -256,6 +261,8 @@
- -1, &bytesRead, &bytesWritten, &error);
- fn = local_fn;
-
-+ bool overridePageBB = false;
-+
- /* TODO: Replace the below fprintf's with something that does the right thing whether in
- * gui or batch mode (e.g. --print=blah). Consider throwing an exception: currently one of
- * the callers (sp_print_document_to_file, "ret = mod->begin(doc)") wrongly ignores the
-@@ -287,6 +294,12 @@
- return 0;
- }
- _stream = osf;
-+
-+ // Hack to allow export to eps
-+ if (strcasecmp(".eps",&fn[strlen(fn)-4])==0) {
-+ overridePageBB=true;
-+ }
-+
- } else {
- gchar *qn;
- /* put cwd stuff in here */
-@@ -316,6 +329,7 @@
- #endif
- }
-
-+ // Don't put this in the tree to have sane error handling
- res = fprintf(_stream, "%%!PS-Adobe-3.0\n");
- /* flush this to test output stream as early as possible */
- if (fflush(_stream)) {
-@@ -341,7 +355,7 @@
- bool pageLandscape;
- pageBoundingBox = mod->get_param_bool("pageBoundingBox");
- // printf("Page Bounding Box: %s\n", pageBoundingBox ? "TRUE" : "FALSE");
-- if (pageBoundingBox) {
-+ if (pageBoundingBox && (! overridePageBB )) {
- d.x0 = d.y0 = 0;
- d.x1 = ceil(_width);
- d.y1 = ceil(_height);
-@@ -356,14 +370,13 @@
- }
-
- if (res >= 0) {
--
-- os << "%%Creator: " << PACKAGE_STRING << "\n";
-+ *_tree << "%%Creator: " << PACKAGE_STRING << "\n";
- // This will become problematic if inkscape gains the
- // ability to handle multi paged documents. If this is
- // the case the %%Orientation: comments should be
- // renamed to %%PageOrientation: and moved to the
- // respective pages.
-- os << "%%Pages: 1\n";
-+ *_tree << "%%Pages: 1\n";
-
- // 2004 Dec 10, BFC:
- // The point of the following code is (1) to do the thing that's expected by users
-@@ -383,8 +396,8 @@
- }
-
- if (pageLandscape) {
-- os << "%%Orientation: Landscape\n";
-- os << "%%BoundingBox: " << (int) (_height - d.y1) << " "
-+ *_tree << "%%Orientation: Landscape\n";
-+ *_tree << "%%BoundingBox: " << (int) (_height - d.y1) << " "
- << (int) d.x0 << " "
- << (int) ceil(_height - d.y0) << " "
- << (int) ceil(d.x1) << "\n";
-@@ -395,44 +408,44 @@
- // FIXME: I couldn't find HiResBoundingBox in the PS
- // reference manual, so I guess we should skip
- // it.
-- os << "%%HiResBoundingBox: " << (_height - d.y1) << " "
-- << d.x0 << " "
-- << (_height - d.y0) << " "
-- << d.x1 << "\n";
-+ *_tree << "%%HiResBoundingBox: " << (_height - d.y1) << " "
-+ << d.x0 << " "
-+ << (_height - d.y0) << " "
-+ << d.x1 << "\n";
- } else {
-- os << "%%Orientation: Portrait\n";
-- os << "%%BoundingBox: " << (int) d.x0 << " "
-+ *_tree << "%%Orientation: Portrait\n";
-+ *_tree << "%%BoundingBox: " << (int) d.x0 << " "
- << (int) d.y0 << " "
- << (int) ceil(d.x1) << " "
- << (int) ceil(d.y1) << "\n";
-- os << "%%HiResBoundingBox: " << d.x0 << " "
-+ *_tree << "%%HiResBoundingBox: " << d.x0 << " "
- << d.y0 << " "
- << d.x1 << " "
- << d.y1 << "\n";
- }
-
-- os << "%%EndComments\n";
-+ *_tree << "%%EndComments\n";
- // This will become problematic if we print multi paged documents:
-- os << "%%Page: 1 1\n";
-+ *_tree << "%%Page: 1 1\n";
-
- if (pageLandscape) {
-- os << "90 rotate\n";
-+ *_tree << "90 rotate\n";
- if (_bitmap) {
-- os << "0 " << (int) -ceil(_height) << " translate\n";
-+ *_tree << "0 " << (int) -ceil(_height) << " translate\n";
- }
- } else {
- if (!_bitmap) {
-- os << "0 " << (int) ceil(_height) << " translate\n";
-+ *_tree << "0 " << (int) ceil(_height) << " translate\n";
- }
- }
-
- if (!_bitmap) {
-- os << PT_PER_PX << " " << -PT_PER_PX << " scale\n";
-+ *_tree << PT_PER_PX << " " << -PT_PER_PX << " scale\n";
- // from now on we can output px, but they will be treated as pt
- }
- }
-
-- return fprintf(_stream, "%s", os.str().c_str());
-+ return 0; // wait with printing until finish;
- }
-
- unsigned int
-@@ -505,14 +518,18 @@
- nr_free(px);
- }
-
-- res = fprintf(_stream, "showpage\n");
-+ *_tree << "showpage\n";
-+
-+ string s = _tree->str();
-
-+ res=fprintf(_stream,"%s",s.c_str());
- /* Flush stream to be sure. */
- (void) fflush(_stream);
-
- /* fixme: should really use pclose for popen'd streams */
- fclose(_stream);
- _stream = 0;
-+ _tree.release();
-
- return res;
- }
-@@ -523,15 +540,15 @@
- if (!_stream) return 0; // XXX: fixme, returning -1 as unsigned.
- if (_bitmap) return 0;
-
-- Inkscape::SVGOStringStream os;
-- os << "gsave [" << transform->c[0] << " "
-+ _tree->gsave();
-+ *_tree << "[" << transform->c[0] << " "
- << transform->c[1] << " "
- << transform->c[2] << " "
- << transform->c[3] << " "
- << transform->c[4] << " "
- << transform->c[5] << "] concat\n";
-
-- return fprintf(_stream, "%s", os.str().c_str());
-+ return 0;
- }
-
- unsigned int
-@@ -539,8 +556,9 @@
- {
- if (!_stream) return 0; // XXX: fixme, returning -1 as unsigned.
- if (_bitmap) return 0;
-+ _tree->grestore();
-
-- return fprintf(_stream, "grestore\n");
-+ return 0;
- }
-
- unsigned int
-@@ -549,108 +567,109 @@
- if (!_stream) return 0; // XXX: fixme, returning -1 as unsigned.
- if (_bitmap) return 0;
-
-- return fprintf(_stream, "%%! %s\n",comment);
-+ *_tree << "%%! %s" << comment << "\n";
-+ return 0;
- }
-
- void
--PrintPS::print_fill_style(SVGOStringStream &os, const SPStyle *style)
-+PrintPS::print_fill_style(const SPStyle *style)
- {
- g_return_if_fail(style->fill.type == SP_PAINT_TYPE_COLOR || SP_IS_GRADIENT (SP_STYLE_FILL_SERVER (style)));
--
-+
- if (style->fill.type == SP_PAINT_TYPE_COLOR)
- {
- float rgb[3];
- sp_color_get_rgb_floatv(&style->fill.value.color, rgb);
-
-- os << rgb[0] << " " << rgb[1] << " " << rgb[2] << " setrgbcolor\n";
-+ *_tree << rgb[0] << " " << rgb[1] << " " << rgb[2] << " setrgbcolor\n";
- } else if (SP_IS_GRADIENT (SP_STYLE_FILL_SERVER (style))) {
- if (SP_IS_LINEARGRADIENT (SP_STYLE_FILL_SERVER (style))) {
- SPLinearGradient *lg=SP_LINEARGRADIENT(SP_STYLE_FILL_SERVER (style));
-- os << "<<\n/ShadingType 2\n/ColorSpace /DeviceRGB\n";
-- os << "/Coords [" << lg->x1.computed << " " << lg->y1.computed << " " << lg->x2.computed << " " << lg->y2.computed <<"]\n";
-- os << "/Extend [true true]\n";
-- os << "/Domain [0 1]\n";
-- os << "/Function <<\n/FunctionType 3\n/Functions\n[\n";
-+ *_tree << "<<\n/ShadingType 2\n/ColorSpace /DeviceRGB\n";
-+ *_tree << "/Coords [" << lg->x1.computed << " " << lg->y1.computed << " " << lg->x2.computed << " " << lg->y2.computed <<"]\n";
-+ *_tree << "/Extend [true true]\n";
-+ *_tree << "/Domain [0 1]\n";
-+ *_tree << "/Function <<\n/FunctionType 3\n/Functions\n[\n";
- for (gint i=0;unsigned(i)<lg->vector.stops.size()-1;i++) {
- float rgb[3];
- sp_color_get_rgb_floatv(&lg->vector.stops[i].color, rgb);
-- os << "<<\n/FunctionType 2\n/Domain [0 1]\n";
-- os << "/C0 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-+ *_tree << "<<\n/FunctionType 2\n/Domain [0 1]\n";
-+ *_tree << "/C0 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
- sp_color_get_rgb_floatv(&lg->vector.stops[i+1].color, rgb);
-- os << "/C1 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-- os << "/N 1\n>>\n";
-+ *_tree << "/C1 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-+ *_tree << "/N 1\n>>\n";
- }
-- os << "]\n/Domain [0 1]\n";
-- os << "/Bounds [ ";
-+ *_tree << "]\n/Domain [0 1]\n";
-+ *_tree << "/Bounds [ ";
- for (gint i=0;unsigned(i)<lg->vector.stops.size()-2;i++) {
-- os << lg->vector.stops[i+1].offset <<" ";
-+ *_tree << lg->vector.stops[i+1].offset <<" ";
- }
-- os << "]\n";
-- os << "/Encode [ ";
-+ *_tree << "]\n";
-+ *_tree << "/Encode [ ";
- for (gint i=0;unsigned(i)<lg->vector.stops.size()-1;i++) {
-- os << "0 1 ";
-+ *_tree << "0 1 ";
- }
-- os << "]\n";
-- os << ">>\n>>\n";
-+ *_tree << "]\n";
-+ *_tree << ">>\n>>\n";
- } else if (SP_IS_RADIALGRADIENT (SP_STYLE_FILL_SERVER (style))) {
- SPRadialGradient *rg=SP_RADIALGRADIENT(SP_STYLE_FILL_SERVER (style));
-- os << "<<\n/ShadingType 3\n/ColorSpace /DeviceRGB\n";
-- os << "/Coords ["<<rg->fx.computed<<" "<<rg->fy.computed<<" 0 "<<rg->cx.computed<<" "<<rg->cy.computed<<" "<<rg->r.computed<<"]\n";
-- os << "/Extend [true true]\n";
-- os << "/Domain [0 1]\n";
-- os << "/Function <<\n/FunctionType 3\n/Functions\n[\n";
-+ *_tree << "<<\n/ShadingType 3\n/ColorSpace /DeviceRGB\n";
-+ *_tree << "/Coords ["<<rg->fx.computed<<" "<<rg->fy.computed<<" 0 "<<rg->cx.computed<<" "<<rg->cy.computed<<" "<<rg->r.computed<<"]\n";
-+ *_tree << "/Extend [true true]\n";
-+ *_tree << "/Domain [0 1]\n";
-+ *_tree << "/Function <<\n/FunctionType 3\n/Functions\n[\n";
- for (gint i=0;unsigned(i)<rg->vector.stops.size()-1;i++) {
- float rgb[3];
- sp_color_get_rgb_floatv(&rg->vector.stops[i].color, rgb);
-- os << "<<\n/FunctionType 2\n/Domain [0 1]\n";
-- os << "/C0 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-+ *_tree << "<<\n/FunctionType 2\n/Domain [0 1]\n";
-+ *_tree << "/C0 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
- sp_color_get_rgb_floatv(&rg->vector.stops[i+1].color, rgb);
-- os << "/C1 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-- os << "/N 1\n>>\n";
-+ *_tree << "/C1 [" << rgb[0] << " " << rgb[1] << " " << rgb[2] << "]\n";
-+ *_tree << "/N 1\n>>\n";
- }
-- os << "]\n/Domain [0 1]\n";
-- os << "/Bounds [ ";
-+ *_tree << "]\n/Domain [0 1]\n";
-+ *_tree << "/Bounds [ ";
- for (gint i=0;unsigned(i)<rg->vector.stops.size()-2;i++) {
-- os << rg->vector.stops[i+1].offset <<" ";
-+ *_tree << rg->vector.stops[i+1].offset <<" ";
- }
-- os << "]\n";
-- os << "/Encode [ ";
-+ *_tree << "]\n";
-+ *_tree << "/Encode [ ";
- for (gint i=0;unsigned(i)<rg->vector.stops.size()-1;i++) {
-- os << "0 1 ";
-+ *_tree << "0 1 ";
- }
-- os << "]\n";
-- os << ">>\n>>\n";
-+ *_tree << "]\n";
-+ *_tree << ">>\n>>\n";
- }
- }
- }
-
- void
--PrintPS::print_stroke_style(SVGOStringStream &os, const SPStyle *style)
-+PrintPS::print_stroke_style(const SPStyle *style)
- {
- float rgb[3];
- sp_color_get_rgb_floatv(&style->stroke.value.color, rgb);
-
-- os << rgb[0] << " " << rgb[1] << " " << rgb[2] << " setrgbcolor\n";
-+ *_tree << rgb[0] << " " << rgb[1] << " " << rgb[2] << " setrgbcolor\n";
-
- if (style->stroke_dasharray_set &&
- style->stroke_dash.n_dash &&
- style->stroke_dash.dash) {
- int i;
-- os << "[";
-+ *_tree << "[";
- for (i = 0; i < style->stroke_dash.n_dash; i++) {
- if ((i)) {
-- os << " ";
-+ *_tree << " ";
- }
-- os << style->stroke_dash.dash[i];
-+ *_tree << style->stroke_dash.dash[i];
- }
-- os << "] " << style->stroke_dash.offset << " setdash\n";
-+ *_tree << "] " << style->stroke_dash.offset << " setdash\n";
- } else {
-- os << "[] 0 setdash\n";
-+ *_tree << "[] 0 setdash\n";
- }
-
-- os << style->stroke_width.computed << " setlinewidth\n";
-- os << style->stroke_linejoin.computed << " setlinejoin\n";
-- os << style->stroke_linecap.computed << " setlinecap\n";
-+ *_tree << style->stroke_width.computed << " setlinewidth\n";
-+ *_tree << style->stroke_linejoin.computed << " setlinejoin\n";
-+ *_tree << style->stroke_linecap.computed << " setlinecap\n";
- }
-
-
-@@ -662,52 +681,53 @@
- if (_bitmap) return 0;
-
- if (style->fill.type == SP_PAINT_TYPE_COLOR || SP_IS_GRADIENT (SP_STYLE_FILL_SERVER (style))) {
-- Inkscape::SVGOStringStream os;
-
-- os << "gsave\n";
-+ _tree->gsave();
-
-- print_fill_style(os, style);
-+ print_fill_style(style);
-
-- print_bpath(os, bpath->path);
-+ print_bpath(bpath->path);
-
- if (style->fill_rule.value == SP_WIND_RULE_EVENODD) {
- if (style->fill.type == SP_PAINT_TYPE_COLOR) {
-- os << "eofill\n";
-+ *_tree << "eofill\n";
- } else if (SP_IS_GRADIENT (SP_STYLE_FILL_SERVER (style))) {
- SPGradient *g=SP_GRADIENT(SP_STYLE_FILL_SERVER (style));
-- os << "eoclip\n";
-+ *_tree << "eoclip\n";
- if (g->gradientTransform_set) {
-- os << "gsave [" << g->gradientTransform[0] << " " << g->gradientTransform[1]
-- << " " << g->gradientTransform[2] << " " << g->gradientTransform[3]
-- << " " << g->gradientTransform[4] << " " << g->gradientTransform[5] << "] concat\n";
-+ _tree->gsave();
-+ *_tree << "[" << g->gradientTransform[0] << " " << g->gradientTransform[1]
-+ << " " << g->gradientTransform[2] << " " << g->gradientTransform[3]
-+ << " " << g->gradientTransform[4] << " " << g->gradientTransform[5] << "] concat\n";
- }
-- os << "shfill\n";
-+ *_tree << "shfill\n";
- if (g->gradientTransform_set) {
-- os << "grestore\n";
-+ _tree->grestore();
- }
- }
- } else {
- if (style->fill.type == SP_PAINT_TYPE_COLOR) {
-- os << "fill\n";
-+ *_tree << "fill\n";
- } else if (SP_IS_GRADIENT (SP_STYLE_FILL_SERVER (style))) {
- SPGradient *g=SP_GRADIENT(SP_STYLE_FILL_SERVER (style));
-- os << "clip\n";
-+ *_tree << "clip\n";
- if (g->gradientTransform_set) {
-- os << "gsave [" << g->gradientTransform[0] << " " << g->gradientTransform[1]
-- << " " << g->gradientTransform[2] << " " << g->gradientTransform[3]
-- << " " << g->gradientTransform[4] << " " << g->gradientTransform[5] << "] concat\n";
-+ _tree->gsave();
-+ *_tree << "[" << g->gradientTransform[0] << " " << g->gradientTransform[1]
-+ << " " << g->gradientTransform[2] << " " << g->gradientTransform[3]
-+ << " " << g->gradientTransform[4] << " " << g->gradientTransform[5] << "] concat\n";
- }
-- os << "shfill\n";
-+ *_tree << "shfill\n";
- if (g->gradientTransform_set) {
-- os << "grestore\n";
-+ _tree->grestore();
- }
- }
- }
-
-- os << "grestore\n";
-+ _tree->grestore();
-
-- fprintf(_stream, "%s", os.str().c_str());
-- }
-+// fprintf(_stream, "%s", os.str().c_str());
-+ }
-
- return 0;
- }
-@@ -721,15 +741,11 @@
- if (_bitmap) return 0;
-
- if (style->stroke.type == SP_PAINT_TYPE_COLOR) {
-- Inkscape::SVGOStringStream os;
--
-- print_stroke_style(os, style);
--
-- print_bpath(os, bpath->path);
-+ print_stroke_style(style);
-
-- os << "stroke\n";
-+ print_bpath(bpath->path);
-
-- fprintf(_stream, "%s", os.str().c_str());
-+ *_tree << "stroke\n";
- }
-
- return 0;
-@@ -743,49 +759,25 @@
- if (_bitmap) return 0;
-
- return print_image(_stream, px, w, h, rs, transform);
--#if 0
-- fprintf(_stream, "gsave\n");
-- fprintf(_stream, "/rowdata %d string def\n", 3 * w);
-- fprintf(_stream, "[%g %g %g %g %g %g] concat\n",
-- transform->c[0],
-- transform->c[1],
-- transform->c[2],
-- transform->c[3],
-- transform->c[4],
-- transform->c[5]);
-- fprintf(_stream, "%d %d 8 [%d 0 0 -%d 0 %d]\n", w, h, w, h, h);
-- fprintf(_stream, "{currentfile rowdata readhexstring pop}\n");
-- fprintf(_stream, "false 3 colorimage\n");
--
-- for (unsigned int r = 0; r < h; r++) {
-- guchar *s;
-- unsigned int c0, c1, c;
-- s = px + r * rs;
-- for (c0 = 0; c0 < w; c0 += 24) {
-- c1 = MIN(w, c0 + 24);
-- for (c = c0; c < c1; c++) {
-- static const char xtab[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
-- fputc(xtab[s[0] >> 4], _stream);
-- fputc(xtab[s[0] & 0xf], _stream);
-- fputc(xtab[s[1] >> 4], _stream);
-- fputc(xtab[s[1] & 0xf], _stream);
-- fputc(xtab[s[2] >> 4], _stream);
-- fputc(xtab[s[2] & 0xf], _stream);
-- s += 4;
-- }
-- fputs("\n", _stream);
-- }
-- }
--
-- fprintf(_stream, "grestore\n");
--
-- return 0;
--#endif
- }
-
--const char *
-+const string
- PrintPS::PSFontName(const SPStyle *style)
- {
-+
-+ gchar *fname=style->text->font_family.value;
-+
-+ // Just pass the standard adobe font names
-+ if(strcasecmp(fname, "helvetica")==0){
-+ return "Helvetica";
-+ } else if (strcasecmp(fname, "times")==0) {
-+ return "Times";
-+ } else if (strcasecmp(fname, "courier")==0) {
-+ return "Courier";
-+ } else if (strcasecmp(fname, "symbol")==0) {
-+ return "Symbol";
-+ }
-+
- font_instance *tf = (font_factory::Default())->Face(style->text->font_family.value, font_style_to_pos(*style));
-
- char const *n;
-@@ -809,7 +801,8 @@
- (i) ? "Italic" : ((o) ? "Oblique" : "") );
- }
-
-- return g_strdup(n);
-+ string s(n);
-+ return s;
- }
-
-
-@@ -820,45 +813,46 @@
- if (!_stream) return 0; // XXX: fixme, returning -1 as unsigned.
- if (_bitmap) return 0;
-
-- Inkscape::SVGOStringStream os;
--
- // Escape chars
-- // FlowResOut feeds us text char by char
-- if (!strcmp(text, "(")) {
-- text = "\\(";
-- } else if (!strcmp(text, ")")) {
-- text = "\\)";
-- } else if (!strcmp(text, "\\")) {
-- text = "\\\\";
-+ // FlowResOut does no longer work char by char
-+ string ntext;
-+ const char *c=text;
-+ while (*c!='\0') {
-+ if (*c=='(') {
-+ ntext+="\\(";
-+ } else if (*c==')') {
-+ ntext+="\\)";
-+ } else if (*c=='\\') {
-+ ntext+="\\\\";
-+ } else {
-+ ntext+=*c;
-+ }
-+ c++;
- }
-
- // set font
-- const char *fn = PSFontName(style);
-- os << "/" << fn << " findfont\n";
-- os << style->font_size.computed << " scalefont\n";
-- os << "setfont\n";
-- g_free((void *) fn);
-+ const string fn = PSFontName(style);
-+
-+ _tree->setFont(fn,style->font_size.computed);
-
- if (style->fill.type == SP_PAINT_TYPE_COLOR) {
- // set fill style
-- print_fill_style(os, style);
-+ print_fill_style(style);
- // paint fill
-- os << "newpath\n";
-- os << p[NR::X] << " " << p[NR::Y] << " moveto\n";
-- os << "(" << text << ") show\n";
-+ *_tree << "newpath\n";
-+ *_tree << p[NR::X] << " " << p[NR::Y] << " moveto\n";
-+ *_tree << "(" << ntext << ") show\n";
- }
-
- if (style->stroke.type == SP_PAINT_TYPE_COLOR) {
- // set stroke style
-- print_stroke_style(os, style);
-+ print_stroke_style(style);
- // paint stroke
-- os << "newpath\n";
-- os << p[NR::X] << " " << p[NR::Y] << " moveto\n";
-- os << "(" << text << ") false charpath stroke\n";
-+ *_tree << "newpath\n";
-+ *_tree << p[NR::X] << " " << p[NR::Y] << " moveto\n";
-+ *_tree << "(" << ntext << ") false charpath stroke\n";
- }
-
-- fprintf(_stream, "%s", os.str().c_str());
--
- return 0;
- }
-
-@@ -867,33 +861,33 @@
- /* PostScript helpers */
-
- void
--PrintPS::print_bpath(SVGOStringStream &os, const NArtBpath *bp)
-+PrintPS::print_bpath(const NArtBpath *bp)
- {
- unsigned int closed;
-
-- os << "newpath\n";
-+ *_tree << "newpath\n";
- closed = FALSE;
- while (bp->code != NR_END) {
- switch (bp->code) {
- case NR_MOVETO:
- if (closed) {
-- os << "closepath\n";
-+ *_tree << "closepath\n";
- }
- closed = TRUE;
-- os << bp->x3 << " " << bp->y3 << " moveto\n";
-+ *_tree << bp->x3 << " " << bp->y3 << " moveto\n";
- break;
- case NR_MOVETO_OPEN:
- if (closed) {
-- os << "closepath\n";
-+ *_tree << "closepath\n";
- }
- closed = FALSE;
-- os << bp->x3 << " " << bp->y3 << " moveto\n";
-+ *_tree << bp->x3 << " " << bp->y3 << " moveto\n";
- break;
- case NR_LINETO:
-- os << bp->x3 << " " << bp->y3 << " lineto\n";
-+ *_tree << bp->x3 << " " << bp->y3 << " lineto\n";
- break;
- case NR_CURVETO:
-- os << bp->x1 << " " << bp->y1 << " "
-+ *_tree << bp->x1 << " " << bp->y1 << " "
- << bp->x2 << " " << bp->y2 << " "
- << bp->x3 << " " << bp->y3 << " curveto\n";
- break;
-@@ -903,7 +897,7 @@
- bp += 1;
- }
- if (closed) {
-- os << "closepath\n";
-+ *_tree << "closepath\n";
- }
- }
-
-@@ -1002,8 +996,9 @@
- }
-
- void
--PrintPS::ascii85_flush(SVGOStringStream &os)
-+PrintPS::ascii85_flush()
- {
-+ string s;
- char c[5];
- int i;
- gboolean zero_case = (ascii85_buf == 0);
-@@ -1017,31 +1012,32 @@
- * at end of data. */
- if (zero_case && (ascii85_len == 4)) {
- if (ascii85_linewidth >= max_linewidth) {
-- os << '\n';
-+ s += '\n';
- ascii85_linewidth = 0;
- }
-- os << 'z';
-+ s += 'z';
- ascii85_linewidth++;
- } else {
- for (i=0; i < ascii85_len+1; i++) {
- if ((ascii85_linewidth >= max_linewidth) && (c[i] != '%')) {
-- os << '\n';
-+ s += '\n';
- ascii85_linewidth = 0;
- }
-- os << c[i];
-+ s+= c[i];
- ascii85_linewidth++;
- }
- }
-
- ascii85_len = 0;
- ascii85_buf = 0;
-+ *_tree << s;
- }
-
- inline void
--PrintPS::ascii85_out(guchar byte, SVGOStringStream &os)
-+PrintPS::ascii85_out(guchar byte)
- {
- if (ascii85_len == 4)
-- ascii85_flush(os);
-+ ascii85_flush();
-
- ascii85_buf <<= 8;
- ascii85_buf |= byte;
-@@ -1049,24 +1045,24 @@
- }
-
- void
--PrintPS::ascii85_nout(int n, guchar *uptr, SVGOStringStream &os)
-+PrintPS::ascii85_nout(int n, guchar *uptr)
- {
- while (n-- > 0) {
-- ascii85_out(*uptr, os);
-+ ascii85_out(*uptr);
- uptr++;
- }
- }
-
- void
--PrintPS::ascii85_done(SVGOStringStream &os)
-+PrintPS::ascii85_done()
- {
- if (ascii85_len) {
- /* zero any unfilled buffer portion, then flush */
- ascii85_buf <<= (8 * (4-ascii85_len));
-- ascii85_flush(os);
-+ ascii85_flush();
- }
-
-- os << "~>\n";
-+ *_tree << "~>\n";
- }
-
- unsigned int
-@@ -1076,35 +1072,34 @@
- unsigned int i, j;
- /* gchar *data, *src; */
- guchar *packb = NULL, *plane = NULL;
-- Inkscape::SVGOStringStream os;
-
-- os << "gsave\n";
-- os << "[" << transform->c[0] << " "
-+ _tree->gsave();
-+ *_tree << "[" << transform->c[0] << " "
- << transform->c[1] << " "
- << transform->c[2] << " "
- << transform->c[3] << " "
- << transform->c[4] << " "
- << transform->c[5] << "] concat\n";
-- os << width << " " << height << " 8 ["
-+ *_tree << width << " " << height << " 8 ["
- << width << " 0 0 -" << height << " 0 " << height << "]\n";
-
-
- /* Write read image procedure */
-- os << "% Strings to hold RGB-samples per scanline\n";
-- os << "/rstr " << width << " string def\n";
-- os << "/gstr " << width << " string def\n";
-- os << "/bstr " << width << " string def\n";
-- os << "{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}\n";
-- os << "{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}\n";
-- os << "{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}\n";
-- os << "true 3\n";
-+ *_tree << "% Strings to hold RGB-samples per scanline\n";
-+ *_tree << "/rstr " << width << " string def\n";
-+ *_tree << "/gstr " << width << " string def\n";
-+ *_tree << "/bstr " << width << " string def\n";
-+ *_tree << "{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}\n";
-+ *_tree << "{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}\n";
-+ *_tree << "{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}\n";
-+ *_tree << "true 3\n";
-
- /* Allocate buffer for packbits data. Worst case: Less than 1% increase */
- packb = (guchar *)g_malloc((width * 105)/100+2);
- plane = (guchar *)g_malloc(width);
-
- /* ps_begin_data(ofp); */
-- os << "colorimage\n";
-+ *_tree << "colorimage\n";
-
- #define GET_RGB_TILE(begin) \
- {int scan_lines; \
-@@ -1131,31 +1126,17 @@
- compress_packbits(width, plane, &nout, packb);
-
- ascii85_init();
-- ascii85_nout(nout, packb, os);
-- ascii85_out(128, os); /* Write EOD of RunLengthDecode filter */
-- ascii85_done(os);
-+ ascii85_nout(nout, packb);
-+ ascii85_out(128); /* Write EOD of RunLengthDecode filter */
-+ ascii85_done();
- }
- }
- /* ps_end_data(ofp); */
-
--#if 0
-- fprintf(ofp, "showpage\n");
-- g_free(data);
--#endif
--
- g_free(packb);
- g_free(plane);
-
--#if 0
-- if (ferror(ofp)) {
-- g_message(_("write error occurred"));
-- return (FALSE);
-- }
--#endif
--
-- os << "grestore\n";
--
-- fprintf(ofp, "%s", os.str().c_str());
-+ _tree->grestore();
-
- return 0;
- #undef GET_RGB_TILE
-diff -urN inkscape-20050326-2100.orig/src/extension/internal/ps.h inkscape-20050326-2100/src/extension/internal/ps.h
---- inkscape-20050326-2100.orig/src/extension/internal/ps.h 2005-03-27 07:01:06.000000000 +0200
-+++ inkscape-20050326-2100/src/extension/internal/ps.h 2005-03-29 13:59:42.000000000 +0200
-@@ -5,8 +5,8 @@
- * This is the internal module used to do Postscript Printing
- *
- * Author:
-- * Lauris Kaplinski <lauris@kaplinski.com>
-- * Ted Gould <ted@gould.cx>
-+ * Lauris Kaplinski <lauris@kaplinski.com>
-+ * Ted Gould <ted@gould.cx>
- *
- * Lauris: This code is in the public domain
- * Ted: This code is under the GNU GPL
-@@ -19,6 +19,9 @@
- #include <libnr/nr-path.h>
-
- #include "svg/stringstream.h"
-+#include <string>
-+#include <memory>
-+#include "pstree.h"
-
- namespace Inkscape {
- namespace Extension {
-@@ -30,58 +33,58 @@
- FILE * _stream;
- unsigned short _dpi;
- bool _bitmap;
-+ std::auto_ptr<Inkscape::Extension::Internal::PS::PSTree> _tree;
-
-- void print_bpath (SVGOStringStream &os, const NArtBpath *bp);
-+ void print_bpath (const NArtBpath *bp);
-
-- void PrintPS::print_fill_style (SVGOStringStream &os, const SPStyle *style);
-- void PrintPS::print_stroke_style (SVGOStringStream &os, const SPStyle *style);
-+ void PrintPS::print_fill_style (const SPStyle *style);
-+ void PrintPS::print_stroke_style (const SPStyle *style);
-
-- const char* PrintPS::PSFontName (const SPStyle *style);
--
-- unsigned int print_image (FILE *ofp, guchar *px, unsigned int width, unsigned int height, unsigned int rs,
-- const NRMatrix *transform);
-- void compress_packbits (int nin, guchar *src, int *nout, guchar *dst);
--
-- /* ASCII 85 variables */
-- guint32 ascii85_buf;
-- int ascii85_len;
-- int ascii85_linewidth;
-- /* ASCII 85 Functions */
-- void ascii85_init (void);
-- void ascii85_flush (SVGOStringStream &os);
-- inline void ascii85_out (guchar byte, SVGOStringStream &os);
-- void ascii85_nout (int n, guchar *uptr, SVGOStringStream &os);
-- void ascii85_done (SVGOStringStream &os);
-+ const std::string PrintPS::PSFontName (const SPStyle *style);
-
-+ unsigned int print_image (FILE *ofp, guchar *px, unsigned int width, unsigned int height, unsigned int rs,
-+ const NRMatrix *transform);
-+ void compress_packbits (int nin, guchar *src, int *nout, guchar *dst);
-+
-+ /* ASCII 85 variables */
-+ guint32 ascii85_buf;
-+ int ascii85_len;
-+ int ascii85_linewidth;
-+ /* ASCII 85 Functions */
-+ void ascii85_init (void);
-+ void ascii85_flush ();
-+ inline void ascii85_out (guchar byte);
-+ void ascii85_nout (int n, guchar *uptr);
-+ void ascii85_done ();
-
- public:
-- PrintPS (void);
-- virtual ~PrintPS (void);
-+ PrintPS (void);
-+ virtual ~PrintPS (void);
-
-- /* Print functions */
-- virtual unsigned int setup (Inkscape::Extension::Print * module);
-- /*
-- virtual unsigned int set_preview (Inkscape::Extension::Print * module);
-- */
--
-- virtual unsigned int begin (Inkscape::Extension::Print * module, SPDocument *doc);
-- virtual unsigned int finish (Inkscape::Extension::Print * module);
--
-- /* Rendering methods */
-- virtual unsigned int bind (Inkscape::Extension::Print * module, const NRMatrix *transform, float opacity);
-- virtual unsigned int release (Inkscape::Extension::Print * module);
-- virtual unsigned int comment (Inkscape::Extension::Print * module, const char * comment);
-- virtual unsigned int fill (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *ctm, const SPStyle *style,
-- const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
-- virtual unsigned int stroke (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *transform, const SPStyle *style,
-- const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
-- virtual unsigned int image (Inkscape::Extension::Print * module, unsigned char *px, unsigned int w, unsigned int h, unsigned int rs,
-- const NRMatrix *transform, const SPStyle *style);
-+ /* Print functions */
-+ virtual unsigned int setup (Inkscape::Extension::Print * module);
-+ /*
-+ virtual unsigned int set_preview (Inkscape::Extension::Print * module);
-+ */
-+
-+ virtual unsigned int begin (Inkscape::Extension::Print * module, SPDocument *doc);
-+ virtual unsigned int finish (Inkscape::Extension::Print * module);
-+
-+ /* Rendering methods */
-+ virtual unsigned int bind (Inkscape::Extension::Print * module, const NRMatrix *transform, float opacity);
-+ virtual unsigned int release (Inkscape::Extension::Print * module);
-+ virtual unsigned int comment (Inkscape::Extension::Print * module, const char * comment);
-+ virtual unsigned int fill (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *ctm, const SPStyle *style,
-+ const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
-+ virtual unsigned int stroke (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *transform, const SPStyle *style,
-+ const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
-+ virtual unsigned int image (Inkscape::Extension::Print * module, unsigned char *px, unsigned int w, unsigned int h, unsigned int rs,
-+ const NRMatrix *transform, const SPStyle *style);
- virtual unsigned int text (Inkscape::Extension::Print *module, const char *text,
-- NR::Point p, const SPStyle *style);
-+ NR::Point p, const SPStyle *style);
-
-- bool textToPath (Inkscape::Extension::Print * ext);
-- static void init (void);
-+ bool textToPath (Inkscape::Extension::Print * ext);
-+ static void init (void);
- };
-
- } /* namespace Internal */
-diff -urN inkscape-20050326-2100.orig/src/extension/internal/pstree.cpp inkscape-20050326-2100/src/extension/internal/pstree.cpp
---- inkscape-20050326-2100.orig/src/extension/internal/pstree.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ inkscape-20050326-2100/src/extension/internal/pstree.cpp 2005-03-29 13:59:42.000000000 +0200
-@@ -0,0 +1,137 @@
-+//
-+// C++ Implementation: pstree
-+//
-+// Description:
-+//
-+//
-+// Author: Paul de Vrieze <pauldv@cs.ru.nl>, (C) 2005
-+//
-+// Copyright: See COPYING file that comes with this distribution
-+//
-+//
-+#include "pstree.h"
-+#include <sstream>
-+
-+namespace Inkscape {
-+
-+namespace Extension {
-+
-+namespace Internal {
-+
-+namespace PS {
-+
-+using namespace std;
-+
-+PSTree::PSTree() : PSBlock(0)
-+{
-+ _current = this;
-+}
-+
-+PSTree& PSTree::put (const string &s) {
-+ _current->addElem(new MiscPSElem(s));
-+ return *this;
-+}
-+
-+PSTree& PSTree::operator<<(const std::string &s){
-+ return put(s);
-+}
-+
-+PSTree& PSTree::operator<<(int i){
-+ std::ostringstream s;
-+ s<< i;
-+ return put(s.str());
-+}
-+
-+PSTree& PSTree::operator<<(unsigned int i){
-+ std::ostringstream s;
-+ s<< i;
-+ return put(s.str());
-+}
-+
-+PSTree& PSTree::operator<<(float f){
-+ ostringstream s;
-+ s.imbue(std::locale::classic());
-+ s.setf(std::ios::showpoint);
-+ s.precision(8);
-+ s<< f;
-+ return put(s.str());
-+}
-+
-+PSTree& PSTree::operator<<(double d){
-+ ostringstream s;
-+ s.imbue(std::locale::classic());
-+ s.setf(std::ios::showpoint);
-+ s.precision(8);
-+ s<< d;
-+ return put(s.str());
-+}
-+
-+PSTree& PSTree::grestore() {
-+ _current=_current->parent();
-+ put("grestore\n");
-+ return *this;
-+}
-+
-+PSTree& PSTree::gsave() {
-+ PSBlock *nb = new PSBlock(_current);
-+ _current->addElem(nb);
-+ _current=nb;
-+ put("gsave\n");
-+ return *this;
-+}
-+
-+bool hasFont(const PSBlock *obj, const PSFontMetric &metr) {
-+ if (obj==0) { return false; }
-+ if (obj->font().size() >=0) {
-+ return (obj->font()==metr);
-+ }
-+ return hasFont(obj->parent(),metr);
-+}
-+
-+PSTree &PSTree::setFont(const string &name, const float &size) {
-+ PSFontMetric metr(name,size);
-+ if (! hasFont(_current, metr)) {
-+ *this << "/" <<name << " findfont\n";
-+ *this << size << " scalefont\n";
-+ *this << "setfont\n";
-+ _current->setFont(metr);
-+ }
-+ return *this;
-+}
-+
-+string PSBlock::str() {
-+ string s;
-+ for(vector<PSElem*>::iterator it=_elems.begin(); it !=_elems.end(); it++){
-+ s += (*it)->str();
-+ }
-+ return s;
-+}
-+
-+void PSBlock::addElem(PSElem *elem){
-+ _elems.push_back(elem);
-+}
-+
-+PSBlock::~PSBlock(){
-+ while (! _elems.empty()) {
-+ delete _elems[0];
-+ }
-+}
-+
-+PSFontMetric::PSFontMetric(const std::string s, const float f)
-+ : _fontname(s), _computedsize(f) { }
-+
-+bool PSFontMetric::operator==(const PSFontMetric &m) const {
-+ return (_computedsize==m._computedsize) && (_fontname==m._fontname);
-+}
-+
-+bool PSFontMetric::operator!=(const PSFontMetric &m) const {
-+ return (_fontname!=m._fontname) || (_computedsize!=m._computedsize);
-+}
-+
-+} // Namespace PS
-+
-+}
-+
-+}
-+
-+}
-diff -urN inkscape-20050326-2100.orig/src/extension/internal/pstree.h inkscape-20050326-2100/src/extension/internal/pstree.h
---- inkscape-20050326-2100.orig/src/extension/internal/pstree.h 1970-01-01 01:00:00.000000000 +0100
-+++ inkscape-20050326-2100/src/extension/internal/pstree.h 2005-03-29 13:59:42.000000000 +0200
-@@ -0,0 +1,103 @@
-+//
-+// C++ Interface: pstree
-+//
-+// Description:
-+//
-+//
-+// Author: Paul de Vrieze <pauldv@cs.ru.nl>, (C) 2005
-+//
-+// Copyright: See COPYING file that comes with this distribution
-+//
-+//
-+#ifndef INKSCAPE_EXTENSION_INTERNAL_PSPSTREE_H
-+#define INKSCAPE_EXTENSION_INTERNAL_PSPSTREE_H
-+
-+#include <vector>
-+#include <string>
-+
-+namespace Inkscape {
-+
-+namespace Extension {
-+
-+namespace Internal {
-+
-+namespace PS {
-+
-+/**
-+ * An utterance of postscript
-+ */
-+class PSElem{
-+public:
-+ virtual std::string str() = 0;
-+};
-+
-+class MiscPSElem : public PSElem {
-+ std::string _value;
-+public:
-+ MiscPSElem(const std::string value) : _value(value) {};
-+ virtual std::string str() { return _value; };
-+ virtual ~MiscPSElem() {};
-+};
-+
-+
-+class PSFontMetric {
-+ private:
-+ std::string _fontname;
-+ float _computedsize;
-+
-+ public:
-+ PSFontMetric(const std::string s="", const float f=-1);
-+ bool operator==(const PSFontMetric&) const;
-+ bool operator!=(const PSFontMetric&) const;
-+ std::string fontname() const { return _fontname; };
-+ float size() const { return _computedsize; };
-+};
-+
-+
-+class PSBlock : public PSElem{
-+private:
-+ std::vector<PSElem *> _elems;
-+ PSBlock *_parent;
-+ PSFontMetric _font;
-+public:
-+ PSBlock(PSBlock *parent) : _parent(parent) {};
-+ void addElem(PSElem *elem);
-+ virtual std::string str();
-+ virtual ~PSBlock();
-+ PSBlock *parent() const { return _parent; };
-+ void setFont(const PSFontMetric &font){ _font=font; };
-+ const PSFontMetric &font() const { return _font; }
-+};
-+
-+/**
-+ * @author Paul de Vrieze
-+ */
-+class PSTree : public PSBlock{
-+private:
-+ PSBlock *_current;
-+public:
-+ PSTree();
-+// virtual ~PSTree();
-+ PSTree& put (const std::string &s);
-+ PSTree &operator<<(const std::string &s);
-+ PSTree &operator<<(int i);
-+ PSTree &operator<<(unsigned int i);
-+ PSTree &operator<<(float f);
-+ PSTree &operator<<(double d);
-+ PSTree &grestore();
-+ PSTree &gsave();
-+ PSTree &setFont(const std::string &name, const float &size);
-+// PSTree &operator<<(const char * s);
-+};
-+
-+//PSTree &operator<< (PSTree &tree, const std::string &s);
-+
-+}
-+
-+}
-+
-+}
-+
-+}
-+
-+#endif
diff --git a/media-gfx/inkscape/files/inkscape-epsout.patch b/media-gfx/inkscape/files/inkscape-epsout.patch
deleted file mode 100644
index 176193d..0000000
--- a/media-gfx/inkscape/files/inkscape-epsout.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -urN inkscape-20050426-1320.orig/src/extension/internal/ps.cpp inkscape-20050426-1320/src/extension/internal/ps.cpp
---- inkscape-20050426-1320.orig/src/extension/internal/ps.cpp 2005-04-26 22:20:34.000000000 +0200
-+++ inkscape-20050426-1320/src/extension/internal/ps.cpp 2005-04-27 20:57:34.179458518 +0200
-@@ -259,6 +259,8 @@
- -1, &bytesRead, &bytesWritten, &error);
- fn = local_fn;
-
-+ bool overridePageBB = false;
-+
- /* TODO: Replace the below fprintf's with something that does the right thing whether in
- * gui or batch mode (e.g. --print=blah). Consider throwing an exception: currently one of
- * the callers (sp_print_document_to_file, "ret = mod->begin(doc)") wrongly ignores the
-@@ -290,6 +292,11 @@
- return 0;
- }
- _stream = osf;
-+
-+ // Hack to allow export to eps
-+ if (strcasecmp(".eps",&fn[strlen(fn)-4])==0) {
-+ overridePageBB=true;
-+ }
- } else {
- gchar *qn;
- /* put cwd stuff in here */
-@@ -344,7 +351,7 @@
- bool pageLandscape;
- pageBoundingBox = mod->get_param_bool("pageBoundingBox");
- // printf("Page Bounding Box: %s\n", pageBoundingBox ? "TRUE" : "FALSE");
-- if (pageBoundingBox) {
-+ if (pageBoundingBox && (! overridePageBB )) {
- d.x0 = d.y0 = 0;
- d.x1 = ceil(_width);
- d.y1 = ceil(_height);
diff --git a/media-gfx/inkscape/files/inkscape-landscape.patch b/media-gfx/inkscape/files/inkscape-landscape.patch
deleted file mode 100644
index d71e012..0000000
--- a/media-gfx/inkscape/files/inkscape-landscape.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -urN inkscape.orig/src/extension/internal/ps.cpp inkscape/src/extension/internal/ps.cpp
---- inkscape.orig/src/extension/internal/ps.cpp 2004-11-17 13:33:42.186628224 +0100
-+++ inkscape/src/extension/internal/ps.cpp 2004-11-17 13:34:38.167117896 +0100
-@@ -354,7 +354,9 @@
- // respective pages.
- os << "%%Pages: 1\n";
-
-- pageLandscape = (d.x1 - d.x0 > d.y1 - d.y0) ? true : false;
-+ // Disable this, just allways be upright
-+ // pageLandscape = (d.x1 - d.x0 > d.y1 - d.y0) ? true : false;
-+ pageLandscape = false;
-
- if (pageLandscape) {
- os << "%%Orientation: Landscape\n";
diff --git a/media-gfx/inkscape/inkscape-0.46_pre15990.ebuild b/media-gfx/inkscape/inkscape-0.46_pre15990.ebuild
deleted file mode 100644
index 64964ae..0000000
--- a/media-gfx/inkscape/inkscape-0.46_pre15990.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.44.ebuild,v 1.7 2006/09/07 14:31:47 gustavoz Exp $
-
-inherit eutils gnome2 subversion
-
-PREVER="${PV/*_pre/}"
-PREVER="${PREVER/*_p/}"
-MV="${PREVER}"
-MP="$PN-$MV"
-DESCRIPTION="A SVG based generic vector-drawing program"
-HOMEPAGE="http://www.inkscape.org/"
-#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-SRC_URI=""
-ESVN_REPO_URI="https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk"
-ESVN_OPTIONS="-r${PREVER}"
-S=${WORKDIR}/${MP}
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="dia gnome mmx inkjar lcms doc postscript spell wmf imagemagick"
-RESTRICT="nomirror test"
-
-COMMON_DEPEND=">=x11-libs/gtk+-2.10.7
- dev-cpp/glibmm
- >=dev-cpp/gtkmm-2.4
- >=dev-libs/boehm-gc-6.4
- >=dev-libs/glib-2.6.5
- >=dev-libs/libsigc++-2.0.12
- dev-libs/popt
- media-libs/fontconfig
- >=media-libs/freetype-2
- media-libs/libpng
- >=x11-libs/pango-1.4.0
- >=dev-libs/libxml2-2.6.20
- dev-perl/XML-Parser
- dev-perl/XML-XQL
- dev-python/pyxml
- virtual/xft
- x11-libs/cairo
- app-text/poppler-bindings
- imagemagick? ( media-gfx/imagemagick )
- gnome? (
- >=gnome-base/gnome-vfs-2.0
- gnome-base/libgnomeprint
- gnome-base/libgnomeprintui
- )
- lcms? ( >=media-libs/lcms-1.14 )
- spell? ( 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}
- dia? ( app-office/dia )
- postscript? ( >=media-gfx/pstoedit-3.44 media-gfx/skencil )
- wmf? ( media-libs/libwmf )"
-
-DEPEND="${COMMON_DEPEND}
- sys-devel/gettext
- dev-util/pkgconfig
- x11-libs/libX11
- >=dev-util/intltool-0.29"
-
-pkg_setup() {
- G2CONF="${G2CONF} --with-xft"
- G2CONF="${G2CONF} $(use_with spell gtkspell)"
- #G2CONF="${G2CONF} $(use_with jabber inkboard)"
- G2CONF="${G2CONF} $(use_enable mmx)"
- G2CONF="${G2CONF} $(use_with inkjar)"
- G2CONF="${G2CONF} $(use_with gnome gnome-vfs)"
- G2CONF="${G2CONF} $(use_with gnome gnome-print)"
- G2CONF="${G2CONF} $(use_with imagemagick)"
- G2CONF="${G2CONF} $(use_enable lcms)"
-}
-
-
-src_unpack() {
-# unpack ${A}
- subversion_src_unpack
- cd ${S}
-
- sh autogen.sh || die "failed to create configure"
-}
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
diff --git a/media-gfx/inkscape/inkscape-0.46_pre16516.ebuild b/media-gfx/inkscape/inkscape-0.46_pre16516.ebuild
deleted file mode 100644
index 64964ae..0000000
--- a/media-gfx/inkscape/inkscape-0.46_pre16516.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.44.ebuild,v 1.7 2006/09/07 14:31:47 gustavoz Exp $
-
-inherit eutils gnome2 subversion
-
-PREVER="${PV/*_pre/}"
-PREVER="${PREVER/*_p/}"
-MV="${PREVER}"
-MP="$PN-$MV"
-DESCRIPTION="A SVG based generic vector-drawing program"
-HOMEPAGE="http://www.inkscape.org/"
-#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-SRC_URI=""
-ESVN_REPO_URI="https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk"
-ESVN_OPTIONS="-r${PREVER}"
-S=${WORKDIR}/${MP}
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="dia gnome mmx inkjar lcms doc postscript spell wmf imagemagick"
-RESTRICT="nomirror test"
-
-COMMON_DEPEND=">=x11-libs/gtk+-2.10.7
- dev-cpp/glibmm
- >=dev-cpp/gtkmm-2.4
- >=dev-libs/boehm-gc-6.4
- >=dev-libs/glib-2.6.5
- >=dev-libs/libsigc++-2.0.12
- dev-libs/popt
- media-libs/fontconfig
- >=media-libs/freetype-2
- media-libs/libpng
- >=x11-libs/pango-1.4.0
- >=dev-libs/libxml2-2.6.20
- dev-perl/XML-Parser
- dev-perl/XML-XQL
- dev-python/pyxml
- virtual/xft
- x11-libs/cairo
- app-text/poppler-bindings
- imagemagick? ( media-gfx/imagemagick )
- gnome? (
- >=gnome-base/gnome-vfs-2.0
- gnome-base/libgnomeprint
- gnome-base/libgnomeprintui
- )
- lcms? ( >=media-libs/lcms-1.14 )
- spell? ( 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}
- dia? ( app-office/dia )
- postscript? ( >=media-gfx/pstoedit-3.44 media-gfx/skencil )
- wmf? ( media-libs/libwmf )"
-
-DEPEND="${COMMON_DEPEND}
- sys-devel/gettext
- dev-util/pkgconfig
- x11-libs/libX11
- >=dev-util/intltool-0.29"
-
-pkg_setup() {
- G2CONF="${G2CONF} --with-xft"
- G2CONF="${G2CONF} $(use_with spell gtkspell)"
- #G2CONF="${G2CONF} $(use_with jabber inkboard)"
- G2CONF="${G2CONF} $(use_enable mmx)"
- G2CONF="${G2CONF} $(use_with inkjar)"
- G2CONF="${G2CONF} $(use_with gnome gnome-vfs)"
- G2CONF="${G2CONF} $(use_with gnome gnome-print)"
- G2CONF="${G2CONF} $(use_with imagemagick)"
- G2CONF="${G2CONF} $(use_enable lcms)"
-}
-
-
-src_unpack() {
-# unpack ${A}
- subversion_src_unpack
- cd ${S}
-
- sh autogen.sh || die "failed to create configure"
-}
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
diff --git a/media-gfx/inkscape/inkscape-0.46_pre17441.ebuild b/media-gfx/inkscape/inkscape-0.46_pre17441.ebuild
deleted file mode 100644
index 64964ae..0000000
--- a/media-gfx/inkscape/inkscape-0.46_pre17441.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.44.ebuild,v 1.7 2006/09/07 14:31:47 gustavoz Exp $
-
-inherit eutils gnome2 subversion
-
-PREVER="${PV/*_pre/}"
-PREVER="${PREVER/*_p/}"
-MV="${PREVER}"
-MP="$PN-$MV"
-DESCRIPTION="A SVG based generic vector-drawing program"
-HOMEPAGE="http://www.inkscape.org/"
-#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-SRC_URI=""
-ESVN_REPO_URI="https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk"
-ESVN_OPTIONS="-r${PREVER}"
-S=${WORKDIR}/${MP}
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-IUSE="dia gnome mmx inkjar lcms doc postscript spell wmf imagemagick"
-RESTRICT="nomirror test"
-
-COMMON_DEPEND=">=x11-libs/gtk+-2.10.7
- dev-cpp/glibmm
- >=dev-cpp/gtkmm-2.4
- >=dev-libs/boehm-gc-6.4
- >=dev-libs/glib-2.6.5
- >=dev-libs/libsigc++-2.0.12
- dev-libs/popt
- media-libs/fontconfig
- >=media-libs/freetype-2
- media-libs/libpng
- >=x11-libs/pango-1.4.0
- >=dev-libs/libxml2-2.6.20
- dev-perl/XML-Parser
- dev-perl/XML-XQL
- dev-python/pyxml
- virtual/xft
- x11-libs/cairo
- app-text/poppler-bindings
- imagemagick? ( media-gfx/imagemagick )
- gnome? (
- >=gnome-base/gnome-vfs-2.0
- gnome-base/libgnomeprint
- gnome-base/libgnomeprintui
- )
- lcms? ( >=media-libs/lcms-1.14 )
- spell? ( 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}
- dia? ( app-office/dia )
- postscript? ( >=media-gfx/pstoedit-3.44 media-gfx/skencil )
- wmf? ( media-libs/libwmf )"
-
-DEPEND="${COMMON_DEPEND}
- sys-devel/gettext
- dev-util/pkgconfig
- x11-libs/libX11
- >=dev-util/intltool-0.29"
-
-pkg_setup() {
- G2CONF="${G2CONF} --with-xft"
- G2CONF="${G2CONF} $(use_with spell gtkspell)"
- #G2CONF="${G2CONF} $(use_with jabber inkboard)"
- G2CONF="${G2CONF} $(use_enable mmx)"
- G2CONF="${G2CONF} $(use_with inkjar)"
- G2CONF="${G2CONF} $(use_with gnome gnome-vfs)"
- G2CONF="${G2CONF} $(use_with gnome gnome-print)"
- G2CONF="${G2CONF} $(use_with imagemagick)"
- G2CONF="${G2CONF} $(use_enable lcms)"
-}
-
-
-src_unpack() {
-# unpack ${A}
- subversion_src_unpack
- cd ${S}
-
- sh autogen.sh || die "failed to create configure"
-}
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
diff --git a/media-gfx/inkscape/inkscape-0.47_pre20479.ebuild b/media-gfx/inkscape/inkscape-0.47_pre20479.ebuild
new file mode 100644
index 0000000..576bae6
--- /dev/null
+++ b/media-gfx/inkscape/inkscape-0.47_pre20479.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/inkscape/inkscape-0.46-r5.ebuild,v 1.8 2008/11/24 21:11:03 ranger Exp $
+
+inherit gnome2 eutils subversion
+
+PREVER="${PV/*_pre/}"
+PREVER="${PREVER/*_p/}"
+MV="${PV/_p*/}"
+MP="$PN-$MV"
+DESCRIPTION="A SVG based generic vector-drawing program"
+HOMEPAGE="http://www.inkscape.org/"
+#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI=""
+ESVN_REPO_URI="https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk"
+ESVN_REVISION="${PREVER}"
+S=${WORKDIR}/${MP}
+
+EAPI="2"
+
+SLOT="0"
+LICENSE="GPL-2 LGPL-2.1"
+KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+IUSE="dia doc gnome inkjar jabber lcms mmx perl postscript spell wmf openmp"
+RESTRICT="nomirror test"
+
+COMMON_DEPEND="
+ openmp? ( >=sys-devel/gcc-4.2[openmp] )
+ >=app-text/poppler-bindings-0.8.3[cairo]
+ dev-cpp/glibmm
+ >=dev-cpp/gtkmm-2.10.0
+ >=dev-libs/boehm-gc-6.4
+ dev-libs/boost
+ >=dev-libs/glib-2.6.5
+ >=dev-libs/libsigc++-2.0.12
+ >=dev-libs/libxml2-2.6.20
+ >=dev-libs/libxslt-1.0.15
+ sci-libs/gsl
+ dev-libs/popt
+ dev-python/lxml
+ dev-python/pyxml
+ media-gfx/imagemagick
+ media-libs/fontconfig
+ >=media-libs/freetype-2
+ media-libs/libpng
+ virtual/xft
+ >=x11-libs/gtk+-2.10.7
+ >=x11-libs/pango-1.4.0
+ gnome? ( >=gnome-base/gnome-vfs-2.0 )
+ lcms? ( >=media-libs/lcms-1.14 )
+ perl? (
+ dev-perl/XML-Parser
+ dev-perl/XML-XQL
+ )
+ spell? ( 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}
+ sys-devel/gettext
+ dev-util/pkgconfig
+ x11-libs/libX11
+ >=dev-util/intltool-0.29"
+
+pkg_setup() {
+ # bug 207070
+ if use postscript && ! built_with_use media-gfx/pstoedit plotutils ; then
+ eerror "you need to emerge media-gfx/pstoedit with plotutils support."
+ die "remerge media-gfx/pstoedit with USE=\"plotutils\""
+ fi
+ # bug 213026 and bug 213706
+ if ! built_with_use app-text/poppler-bindings cairo ; then
+ eerror "you need to emerge app-text/poppler-bindings with cairo support."
+ die "remerge app-text/poppler-bindings with USE=\"cairo\""
+ fi
+
+ G2CONF="${G2CONF} --with-xft"
+ G2CONF="${G2CONF} $(use_with spell gtkspell)"
+ G2CONF="${G2CONF} $(use_enable jabber inkboard)"
+ G2CONF="${G2CONF} $(use_enable mmx)"
+ G2CONF="${G2CONF} $(use_with inkjar)"
+ G2CONF="${G2CONF} $(use_with gnome gnome-vfs)"
+ G2CONF="${G2CONF} $(use_enable lcms)"
+ G2CONF="${G2CONF} $(use_with perl)"
+ G2CONF="${G2CONF} $(use_with openmp)"
+}
+
+src_unpack() {
+ subversion_src_unpack
+# gnome2_src_unpack
+ gnome2_omf_fix
+
+ cd "${S}"
+ epatch ${FILESDIR}/${MP}-type-punning.patch
+
+ sh autogen.sh || die "Failed to create configure"
+ elibtoolize ${ELTCONF}
+}
+
+src_compile() {
+ default_src_compile
+}
+
+DOCS="AUTHORS ChangeLog NEWS README"