diff options
author | 2009-01-08 13:33:21 +0000 | |
---|---|---|
committer | 2009-01-08 13:33:21 +0000 | |
commit | a98e6cb7831e89e5ddc24281c27295d6413126d6 (patch) | |
tree | 8ebe019263171cb3e55bfbfee1a0b329ae5294f7 /media-gfx/inkscape | |
parent | Get the eclipse ebuild from the java overlay, and clean it up just a little (diff) | |
download | pauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.tar.gz pauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.tar.bz2 pauldv-a98e6cb7831e89e5ddc24281c27295d6413126d6.zip |
New svn repos prerelease
svn path=/trunk/overlay/; revision=78
Diffstat (limited to 'media-gfx/inkscape')
-rw-r--r-- | media-gfx/inkscape/Manifest | 9 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-0.41_gnome-print.patch | 16 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-0.44-gcc41.patch | 26 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-20050326.psfix.patch | 1245 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-epsout.patch | 33 | ||||
-rw-r--r-- | media-gfx/inkscape/files/inkscape-landscape.patch | 14 | ||||
-rw-r--r-- | media-gfx/inkscape/inkscape-0.46_pre15990.ebuild | 89 | ||||
-rw-r--r-- | media-gfx/inkscape/inkscape-0.46_pre16516.ebuild | 89 | ||||
-rw-r--r-- | media-gfx/inkscape/inkscape-0.46_pre17441.ebuild | 89 | ||||
-rw-r--r-- | media-gfx/inkscape/inkscape-0.47_pre20479.ebuild | 113 |
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" |