Hi, An inkscape update:
* Bugfix release. * Loads of patches integrated upstream (bye bye glib/poppler hacks). * Uses newer autoconf. A few bits I am unsure of: * 'make update-plist' wants to remove the icon dir entries. Really? * Does not appear to need groff anymore (?) * Not sure how much value the new translated manuals add, for example the japanese manual does not appear to render properly with or without groff. Shall we remove it? For the latter two points, I will CC Ingo. I have been using this solidly for a few days now and besides this bug (which is also present in the in-tree version of inkscape), no problems: https://bugs.launchpad.net/inkscape/+bug/1238142 Index: Makefile =================================================================== RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/Makefile,v retrieving revision 1.36 diff -u -p -r1.36 Makefile --- Makefile 1 Oct 2013 09:07:18 -0000 1.36 +++ Makefile 15 Oct 2013 22:19:46 -0000 @@ -2,17 +2,10 @@ COMMENT= SVG vector drawing application -DISTNAME= inkscape-0.48.2 -REVISION= 8 +DISTNAME= inkscape-0.48.4 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=inkscape/} -# error: #error "Only <glib.h> can be included directly." -# (patch from Fedora) -PATCHFILES= inkscape-glib-2.32.patch:0 -PATCH_DIST_STRIP=-p1 -MASTER_SITES0= https://distfiles.bsdfrog.org/ - HOMEPAGE= http://www.inkscape.org/ # GPLv2 and LGPLv2.1 @@ -23,7 +16,7 @@ WANTLIB += Xext Xfixes Xi Xinerama Xrand WANTLIB += atkmm-1.6 c cairo cairomm-1.0 fontconfig freetype gc WANTLIB += gdk-x11-2.0 gdk_pixbuf-2.0 gdkmm-2.4 gio-2.0 giomm-2.4 WANTLIB += glib-2.0 glibmm-2.4 gobject-2.0 gsl gslcblas gthread-2.0 -WANTLIB += gtk-x11-2.0 gtkmm-2.4 gtkspell lcms m pango-1.0 pangocairo-1.0 +WANTLIB += gtk-x11-2.0 gtkmm-2.4 gtkspell lcms2 m pango-1.0 pangocairo-1.0 WANTLIB += pangoft2-1.0 pangomm-1.4 png poppler poppler-glib popt WANTLIB += pthread sigc-2.0 stdc++ xml2 xslt z @@ -47,9 +40,8 @@ RUN_DEPENDS= devel/desktop-file-utils \ x11/gtk+2,-guic USE_GMAKE= Yes -USE_GROFF= Yes CONFIGURE_STYLE= autoconf -AUTOCONF_VERSION= 2.68 +AUTOCONF_VERSION= 2.69 CONFIGURE_ARGS= --without-gnome-vfs CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/ImageMagick \ -I${LOCALBASE}/include -I${X11BASE}/include" \ Index: distinfo =================================================================== RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/distinfo,v retrieving revision 1.7 diff -u -p -r1.7 distinfo --- distinfo 28 Jun 2013 12:02:30 -0000 1.7 +++ distinfo 15 Oct 2013 22:19:46 -0000 @@ -1,4 +1,2 @@ -SHA256 (inkscape-0.48.2.tar.gz) = PwHnTRI+kSjwj0gBSLJHn7r8/5MLa2uMl09tZ0q2ZBo= -SHA256 (inkscape-glib-2.32.patch) = 8e08TvJFESD3Y7pgtEFGqGBEvdAi/VJNmgZuzdx1UgQ= -SIZE (inkscape-0.48.2.tar.gz) = 26277797 -SIZE (inkscape-glib-2.32.patch) = 62797 +SHA256 (inkscape-0.48.4.tar.gz) = bhnuCHp5ASoM7JxubRlDV+JWt+xThTbvy990/fLTHVo= +SIZE (inkscape-0.48.4.tar.gz) = 26452454 Index: patches/patch-configure_ac =================================================================== RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/patches/patch-configure_ac,v retrieving revision 1.4 diff -u -p -r1.4 patch-configure_ac --- patches/patch-configure_ac 13 Jul 2012 15:10:47 -0000 1.4 +++ patches/patch-configure_ac 15 Oct 2013 22:19:46 -0000 @@ -1,12 +1,15 @@ -$OpenBSD: patch-configure_ac,v 1.4 2012/07/13 15:10:47 kili Exp $ ---- configure.ac.orig Fri Jul 8 21:23:16 2011 -+++ configure.ac Thu Jul 12 18:27:17 2012 -@@ -795,7 +795,7 @@ if test "x$cairo_pdf" = "xyes"; then +$OpenBSD$ + +Hardcoded -dl. + +--- configure.ac.orig Thu Oct 10 14:50:45 2013 ++++ configure.ac Thu Oct 10 14:51:10 2013 +@@ -780,7 +780,7 @@ if test "x$cairo_pdf" = "xyes"; then fi dnl Shouldn't we test for libpng and libz? --INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lX11 -lxml2 -ldl" -+INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lX11 -lxml2 $lt_cv_dlopen_libs" +-INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lxml2 -ldl" ++INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lxml2 $lt_cv_dlopen_libs" if test "x$openmp_ok" = "xyes"; then INKSCAPE_LIBS="$INKSCAPE_LIBS -lgomp" fi Index: patches/patch-src_extension_implementation_script_cpp =================================================================== RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/patches/patch-src_extension_implementation_script_cpp,v retrieving revision 1.1 diff -u -p -r1.1 patch-src_extension_implementation_script_cpp --- patches/patch-src_extension_implementation_script_cpp 7 Jan 2013 20:03:42 -0000 1.1 +++ patches/patch-src_extension_implementation_script_cpp 15 Oct 2013 22:19:46 -0000 @@ -5,9 +5,9 @@ Security fix for CVE-2012-6076 inkscape: Patch taken from Debian: http://patch-tracker.debian.org/patch/series/view/inkscape/0.48.3.1-1.3/04-fix-LP911146.diff ---- src/extension/implementation/script.cpp.orig Fri Jul 8 20:25:09 2011 -+++ src/extension/implementation/script.cpp Mon Jan 7 19:10:54 2013 -@@ -936,7 +936,14 @@ int Script::execute (const std::list<std::string> &in_ +--- src/extension/implementation/script.cpp.orig Thu Dec 13 17:00:46 2012 ++++ src/extension/implementation/script.cpp Thu Oct 10 14:50:24 2013 +@@ -956,7 +956,14 @@ int Script::execute (const std::list<std::string> &in_ // assemble the rest of argv std::copy(in_params.begin(), in_params.end(), std::back_inserter(argv)); if (!filein.empty()) { Index: patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp =================================================================== RCS file: patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp diff -N patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp --- patches/patch-src_extension_internal_pdfinput_pdf-parser_cpp 13 Jul 2012 15:10:47 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,631 +0,0 @@ -$OpenBSD: patch-src_extension_internal_pdfinput_pdf-parser_cpp,v 1.4 2012/07/13 15:10:47 kili Exp $ - -Fix build with poppler-0.20. From arch linux. - ---- src/extension/internal/pdfinput/pdf-parser.cpp.orig Fri Jul 8 20:25:09 2011 -+++ src/extension/internal/pdfinput/pdf-parser.cpp Thu Jul 12 18:55:07 2012 -@@ -367,14 +367,14 @@ void PdfParser::parse(Object *obj, GBool topLevel) { - for (i = 0; i < obj->arrayGetLength(); ++i) { - obj->arrayGet(i, &obj2); - if (!obj2.isStream()) { -- error(-1, const_cast<char*>("Weird page contents")); -+ error(errInternal, -1, const_cast<char*>("Weird page contents")); - obj2.free(); - return; - } - obj2.free(); - } - } else if (!obj->isStream()) { -- error(-1, const_cast<char*>("Weird page contents")); -+ error(errInternal, -1, const_cast<char*>("Weird page contents")); - return; - } - parser = new Parser(xref, new Lexer(xref, obj), gFalse); -@@ -419,7 +419,7 @@ void PdfParser::go(GBool topLevel) { - - // too many arguments - something is wrong - } else { -- error(getPos(), const_cast<char*>("Too many args in content stream")); -+ error(errInternal, getPos(), const_cast<char*>("Too many args in content stream")); - if (printCommands) { - printf("throwing away arg: "); - obj.print(stdout); -@@ -436,7 +436,7 @@ void PdfParser::go(GBool topLevel) { - - // args at end with no command - if (numArgs > 0) { -- error(getPos(), const_cast<char*>("Leftover args in content stream")); -+ error(errInternal, getPos(), const_cast<char*>("Leftover args in content stream")); - if (printCommands) { - printf("%d leftovers:", numArgs); - for (i = 0; i < numArgs; ++i) { -@@ -502,7 +502,7 @@ void PdfParser::execOp(Object *cmd, Object args[], int - name = cmd->getCmd(); - if (!(op = findOp(name))) { - if (ignoreUndef == 0) -- error(getPos(), const_cast<char*>("Unknown operator '%s'"), name); -+ error(errInternal, getPos(), const_cast<char*>("Unknown operator '%s'"), name); - return; - } - -@@ -510,26 +510,26 @@ void PdfParser::execOp(Object *cmd, Object args[], int - argPtr = args; - if (op->numArgs >= 0) { - if (numArgs < op->numArgs) { -- error(getPos(), const_cast<char*>("Too few (%d) args to '%s' operator"), numArgs, name); -+ error(errInternal, getPos(), const_cast<char*>("Too few (%d) args to '%s' operator"), numArgs, name); - return; - } - if (numArgs > op->numArgs) { - #if 0 -- error(getPos(), "Too many (%d) args to '%s' operator", numArgs, name); -+ error(errInternal, getPos(), "Too many (%d) args to '%s' operator", numArgs, name); - #endif - argPtr += numArgs - op->numArgs; - numArgs = op->numArgs; - } - } else { - if (numArgs > -op->numArgs) { -- error(getPos(), const_cast<char*>("Too many (%d) args to '%s' operator"), -+ error(errInternal, getPos(), const_cast<char*>("Too many (%d) args to '%s' operator"), - numArgs, name); - return; - } - } - for (i = 0; i < numArgs; ++i) { - if (!checkArg(&argPtr[i], op->tchk[i])) { -- error(getPos(), const_cast<char*>("Arg #%d to '%s' operator is wrong type (%s)"), -+ error(errInternal, getPos(), const_cast<char*>("Arg #%d to '%s' operator is wrong type (%s)"), - i, name, argPtr[i].getTypeName()); - return; - } -@@ -690,7 +690,7 @@ void PdfParser::opSetExtGState(Object args[], int numA - return; - } - if (!obj1.isDict()) { -- error(getPos(), const_cast<char*>("ExtGState '%s' is wrong type"), args[0].getName()); -+ error(errInternal, getPos(), const_cast<char*>("ExtGState '%s' is wrong type"), args[0].getName()); - obj1.free(); - return; - } -@@ -705,7 +705,7 @@ void PdfParser::opSetExtGState(Object args[], int numA - if (state->parseBlendMode(&obj2, &mode)) { - state->setBlendMode(mode); - } else { -- error(getPos(), const_cast<char*>("Invalid blend mode in ExtGState")); -+ error(errInternal, getPos(), const_cast<char*>("Invalid blend mode in ExtGState")); - } - } - obj2.free(); -@@ -764,7 +764,7 @@ void PdfParser::opSetExtGState(Object args[], int numA - state->setTransfer(funcs); - } - } else if (!obj2.isNull()) { -- error(getPos(), const_cast<char*>("Invalid transfer function in ExtGState")); -+ error(errInternal, getPos(), const_cast<char*>("Invalid transfer function in ExtGState")); - } - obj2.free(); - -@@ -784,7 +784,7 @@ void PdfParser::opSetExtGState(Object args[], int numA - funcs[0] = Function::parse(&obj3); - if (funcs[0]->getInputSize() != 1 || - funcs[0]->getOutputSize() != 1) { -- error(getPos(), -+ error(errInternal, getPos(), - const_cast<char*>("Invalid transfer function in soft mask in ExtGState")); - delete funcs[0]; - funcs[0] = NULL; -@@ -809,11 +809,7 @@ void PdfParser::opSetExtGState(Object args[], int numA - blendingColorSpace = NULL; - isolated = knockout = gFalse; - if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) { --#ifdef POPPLER_NEW_COLOR_SPACE_API - blendingColorSpace = GfxColorSpace::parse(&obj5, NULL); --#else -- blendingColorSpace = GfxColorSpace::parse(&obj5); --#endif - } - obj5.free(); - if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) { -@@ -840,15 +836,15 @@ void PdfParser::opSetExtGState(Object args[], int numA - delete funcs[0]; - } - } else { -- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); -+ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); - } - obj4.free(); - } else { -- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); -+ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); - } - obj3.free(); - } else if (!obj2.isNull()) { -- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState")); -+ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState")); - } - } - obj2.free(); -@@ -876,7 +872,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha, - // check form type - dict->lookup(const_cast<char*>("FormType"), &obj1); - if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) { -- error(getPos(), const_cast<char*>("Unknown form type")); -+ error(errInternal, getPos(), const_cast<char*>("Unknown form type")); - } - obj1.free(); - -@@ -884,7 +880,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha, - dict->lookup(const_cast<char*>("BBox"), &obj1); - if (!obj1.isArray()) { - obj1.free(); -- error(getPos(), const_cast<char*>("Bad form bounding box")); -+ error(errInternal, getPos(), const_cast<char*>("Bad form bounding box")); - return; - } - for (i = 0; i < 4; ++i) { -@@ -1012,19 +1008,11 @@ void PdfParser::opSetFillColorSpace(Object args[], int - - state->setFillPattern(NULL); - res->lookupColorSpace(args[0].getName(), &obj); --#ifdef POPPLER_NEW_COLOR_SPACE_API - if (obj.isNull()) { - colorSpace = GfxColorSpace::parse(&args[0], NULL); - } else { - colorSpace = GfxColorSpace::parse(&obj, NULL); - } --#else -- if (obj.isNull()) { -- colorSpace = GfxColorSpace::parse(&args[0]); -- } else { -- colorSpace = GfxColorSpace::parse(&obj); -- } --#endif - obj.free(); - if (colorSpace) { - state->setFillColorSpace(colorSpace); -@@ -1032,7 +1020,7 @@ void PdfParser::opSetFillColorSpace(Object args[], int - state->setFillColor(&color); - builder->updateStyle(state); - } else { -- error(getPos(), const_cast<char*>("Bad color space (fill)")); -+ error(errInternal, getPos(), const_cast<char*>("Bad color space (fill)")); - } - } - -@@ -1043,19 +1031,11 @@ void PdfParser::opSetStrokeColorSpace(Object args[], i - - state->setStrokePattern(NULL); - res->lookupColorSpace(args[0].getName(), &obj); --#ifdef POPPLER_NEW_COLOR_SPACE_API - if (obj.isNull()) { - colorSpace = GfxColorSpace::parse(&args[0], NULL); - } else { - colorSpace = GfxColorSpace::parse(&obj, NULL); - } --#else -- if (obj.isNull()) { -- colorSpace = GfxColorSpace::parse(&args[0]); -- } else { -- colorSpace = GfxColorSpace::parse(&obj); -- } --#endif - obj.free(); - if (colorSpace) { - state->setStrokeColorSpace(colorSpace); -@@ -1063,7 +1043,7 @@ void PdfParser::opSetStrokeColorSpace(Object args[], i - state->setStrokeColor(&color); - builder->updateStyle(state); - } else { -- error(getPos(), const_cast<char*>("Bad color space (stroke)")); -+ error(errInternal, getPos(), const_cast<char*>("Bad color space (stroke)")); - } - } - -@@ -1072,7 +1052,7 @@ void PdfParser::opSetFillColor(Object args[], int numA - int i; - - if (numArgs != state->getFillColorSpace()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'sc' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'sc' command")); - return; - } - state->setFillPattern(NULL); -@@ -1088,7 +1068,7 @@ void PdfParser::opSetStrokeColor(Object args[], int nu - int i; - - if (numArgs != state->getStrokeColorSpace()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SC' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SC' command")); - return; - } - state->setStrokePattern(NULL); -@@ -1109,7 +1089,7 @@ void PdfParser::opSetFillColorN(Object args[], int num - if (!((GfxPatternColorSpace *)state->getFillColorSpace())->getUnder() || - numArgs - 1 != ((GfxPatternColorSpace *)state->getFillColorSpace()) - ->getUnder()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); - return; - } - for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) { -@@ -1120,23 +1100,15 @@ void PdfParser::opSetFillColorN(Object args[], int num - state->setFillColor(&color); - builder->updateStyle(state); - } --#ifdef POPPLER_NEW_COLOR_SPACE_API - if (args[numArgs-1].isName() && - (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { - state->setFillPattern(pattern); - builder->updateStyle(state); - } --#else -- if (args[numArgs-1].isName() && -- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { -- state->setFillPattern(pattern); -- builder->updateStyle(state); -- } --#endif - - } else { - if (numArgs != state->getFillColorSpace()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); - return; - } - state->setFillPattern(NULL); -@@ -1161,7 +1133,7 @@ void PdfParser::opSetStrokeColorN(Object args[], int n - ->getUnder() || - numArgs - 1 != ((GfxPatternColorSpace *)state->getStrokeColorSpace()) - ->getUnder()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); - return; - } - for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) { -@@ -1172,23 +1144,15 @@ void PdfParser::opSetStrokeColorN(Object args[], int n - state->setStrokeColor(&color); - builder->updateStyle(state); - } --#ifdef POPPLER_NEW_COLOR_SPACE_API - if (args[numArgs-1].isName() && - (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { - state->setStrokePattern(pattern); - builder->updateStyle(state); - } --#else -- if (args[numArgs-1].isName() && -- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { -- state->setStrokePattern(pattern); -- builder->updateStyle(state); -- } --#endif - - } else { - if (numArgs != state->getStrokeColorSpace()->getNComps()) { -- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); -+ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); - return; - } - state->setStrokePattern(NULL); -@@ -1212,7 +1176,7 @@ void PdfParser::opMoveTo(Object args[], int numArgs) { - - void PdfParser::opLineTo(Object args[], int numArgs) { - if (!state->isCurPt()) { -- error(getPos(), const_cast<char*>("No current point in lineto")); -+ error(errInternal, getPos(), const_cast<char*>("No current point in lineto")); - return; - } - state->lineTo(args[0].getNum(), args[1].getNum()); -@@ -1222,7 +1186,7 @@ void PdfParser::opCurveTo(Object args[], int numArgs) - double x1, y1, x2, y2, x3, y3; - - if (!state->isCurPt()) { -- error(getPos(), const_cast<char*>("No current point in curveto")); -+ error(errInternal, getPos(), const_cast<char*>("No current point in curveto")); - return; - } - x1 = args[0].getNum(); -@@ -1238,7 +1202,7 @@ void PdfParser::opCurveTo1(Object args[], int numArgs) - double x1, y1, x2, y2, x3, y3; - - if (!state->isCurPt()) { -- error(getPos(), const_cast<char*>("No current point in curveto1")); -+ error(errInternal, getPos(), const_cast<char*>("No current point in curveto1")); - return; - } - x1 = state->getCurX(); -@@ -1254,7 +1218,7 @@ void PdfParser::opCurveTo2(Object args[], int numArgs) - double x1, y1, x2, y2, x3, y3; - - if (!state->isCurPt()) { -- error(getPos(), const_cast<char*>("No current point in curveto2")); -+ error(errInternal, getPos(), const_cast<char*>("No current point in curveto2")); - return; - } - x1 = args[0].getNum(); -@@ -1282,7 +1246,7 @@ void PdfParser::opRectangle(Object args[], int numArgs - - void PdfParser::opClosePath(Object args[], int numArgs) { - if (!state->isCurPt()) { -- error(getPos(), const_cast<char*>("No current point in closepath")); -+ error(errInternal, getPos(), const_cast<char*>("No current point in closepath")); - return; - } - state->closePath(); -@@ -1298,7 +1262,7 @@ void PdfParser::opEndPath(Object args[], int numArgs) - - void PdfParser::opStroke(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in stroke")); - return; - } - if (state->isPath()) { -@@ -1314,7 +1278,7 @@ void PdfParser::opStroke(Object args[], int numArgs) { - - void PdfParser::opCloseStroke(Object * /*args[]*/, int /*numArgs*/) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in closepath/stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/stroke")); - return; - } - state->closePath(); -@@ -1331,7 +1295,7 @@ void PdfParser::opCloseStroke(Object * /*args[]*/, int - - void PdfParser::opFill(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in fill")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in fill")); - return; - } - if (state->isPath()) { -@@ -1347,7 +1311,7 @@ void PdfParser::opFill(Object args[], int numArgs) { - - void PdfParser::opEOFill(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in eofill")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in eofill")); - return; - } - if (state->isPath()) { -@@ -1363,7 +1327,7 @@ void PdfParser::opEOFill(Object args[], int numArgs) { - - void PdfParser::opFillStroke(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in fill/stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in fill/stroke")); - return; - } - if (state->isPath()) { -@@ -1376,7 +1340,7 @@ void PdfParser::opFillStroke(Object args[], int numArg - - void PdfParser::opCloseFillStroke(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in closepath/fill/stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/fill/stroke")); - return; - } - if (state->isPath()) { -@@ -1388,7 +1352,7 @@ void PdfParser::opCloseFillStroke(Object args[], int n - - void PdfParser::opEOFillStroke(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in eofill/stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in eofill/stroke")); - return; - } - if (state->isPath()) { -@@ -1399,7 +1363,7 @@ void PdfParser::opEOFillStroke(Object args[], int numA - - void PdfParser::opCloseEOFillStroke(Object args[], int numArgs) { - if (!state->isCurPt()) { -- //error(getPos(), const_cast<char*>("No path in closepath/eofill/stroke")); -+ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/eofill/stroke")); - return; - } - if (state->isPath()) { -@@ -1440,7 +1404,7 @@ void PdfParser::doPatternFillFallback(GBool eoFill) { - doShadingPatternFillFallback((GfxShadingPattern *)pattern, gFalse, eoFill); - break; - default: -- error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in fill"), -+ error(errInternal, getPos(), const_cast<char*>("Unimplemented pattern type (%d) in fill"), - pattern->getType()); - break; - } -@@ -1459,7 +1423,7 @@ void PdfParser::doPatternStrokeFallback() { - doShadingPatternFillFallback((GfxShadingPattern *)pattern, gTrue, gFalse); - break; - default: -- error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in stroke"), -+ error(errInternal, getPos(), const_cast<char*>("Unimplemented pattern type (%d) in stroke"), - pattern->getType()); - break; - } -@@ -1579,15 +1543,9 @@ void PdfParser::opShFill(Object args[], int numArgs) { - double *matrix = NULL; - GBool savedState = gFalse; - --#ifdef POPPLER_NEW_COLOR_SPACE_API - if (!(shading = res->lookupShading(args[0].getName(), NULL))) { - return; - } --#else -- if (!(shading = res->lookupShading(args[0].getName()))) { -- return; -- } --#endif - - // save current graphics state - if (shading->getType() != 2 && shading->getType() != 3) { -@@ -2156,7 +2114,7 @@ void PdfParser::opTextNextLine(Object args[], int numA - - void PdfParser::opShowText(Object args[], int numArgs) { - if (!state->getFont()) { -- error(getPos(), const_cast<char*>("No font in show")); -+ error(errInternal, getPos(), const_cast<char*>("No font in show")); - return; - } - if (fontChanged) { -@@ -2170,7 +2128,7 @@ void PdfParser::opMoveShowText(Object args[], int numA - double tx, ty; - - if (!state->getFont()) { -- error(getPos(), const_cast<char*>("No font in move/show")); -+ error(errInternal, getPos(), const_cast<char*>("No font in move/show")); - return; - } - if (fontChanged) { -@@ -2188,7 +2146,7 @@ void PdfParser::opMoveSetShowText(Object args[], int n - double tx, ty; - - if (!state->getFont()) { -- error(getPos(), const_cast<char*>("No font in move/set/show")); -+ error(errInternal, getPos(), const_cast<char*>("No font in move/set/show")); - return; - } - if (fontChanged) { -@@ -2211,7 +2169,7 @@ void PdfParser::opShowSpaceText(Object args[], int num - int i; - - if (!state->getFont()) { -- error(getPos(), const_cast<char*>("No font in show/space")); -+ error(errInternal, getPos(), const_cast<char*>("No font in show/space")); - return; - } - if (fontChanged) { -@@ -2236,7 +2194,7 @@ void PdfParser::opShowSpaceText(Object args[], int num - } else if (obj.isString()) { - doShowText(obj.getString()); - } else { -- error(getPos(), const_cast<char*>("Element of show/space array must be number or string")); -+ error(errInternal, getPos(), const_cast<char*>("Element of show/space array must be number or string")); - } - obj.free(); - } -@@ -2334,7 +2292,7 @@ void PdfParser::doShowText(GooString *s) { - if (charProc.isStream()) { - //parse(&charProc, gFalse); // TODO: parse into SVG font - } else { -- error(getPos(), const_cast<char*>("Missing or bad Type3 CharProc entry")); -+ error(errInternal, getPos(), const_cast<char*>("Missing or bad Type3 CharProc entry")); - } - //out->endType3Char(state); - if (resDict) { -@@ -2410,7 +2368,7 @@ void PdfParser::opXObject(Object args[], int numArgs) - return; - } - if (!obj1.isStream()) { -- error(getPos(), const_cast<char*>("XObject '%s' is wrong type"), name); -+ error(errInternal, getPos(), const_cast<char*>("XObject '%s' is wrong type"), name); - obj1.free(); - return; - } -@@ -2426,9 +2384,9 @@ void PdfParser::opXObject(Object args[], int numArgs) - /* out->psXObject(obj1.getStream(), - obj3.isStream() ? obj3.getStream() : (Stream *)NULL);*/ - } else if (obj2.isName()) { -- error(getPos(), const_cast<char*>("Unknown XObject subtype '%s'"), obj2.getName()); -+ error(errInternal, getPos(), const_cast<char*>("Unknown XObject subtype '%s'"), obj2.getName()); - } else { -- error(getPos(), const_cast<char*>("XObject subtype is missing or wrong type")); -+ error(errInternal, getPos(), const_cast<char*>("XObject subtype is missing or wrong type")); - } - obj2.free(); - obj1.free(); -@@ -2559,11 +2517,7 @@ void PdfParser::doImage(Object *ref, Stream *str, GBoo - } - } - if (!obj1.isNull()) { --#ifdef POPPLER_NEW_COLOR_SPACE_API - colorSpace = GfxColorSpace::parse(&obj1, NULL); --#else -- colorSpace = GfxColorSpace::parse(&obj1); --#endif - } else if (csMode == streamCSDeviceGray) { - colorSpace = new GfxDeviceGrayColorSpace(); - } else if (csMode == streamCSDeviceRGB) { -@@ -2648,11 +2602,7 @@ void PdfParser::doImage(Object *ref, Stream *str, GBoo - obj2.free(); - } - } --#ifdef POPPLER_NEW_COLOR_SPACE_API - maskColorSpace = GfxColorSpace::parse(&obj1, NULL); --#else -- maskColorSpace = GfxColorSpace::parse(&obj1); --#endif - obj1.free(); - if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { - goto err1; -@@ -2758,7 +2708,7 @@ void PdfParser::doImage(Object *ref, Stream *str, GBoo - err2: - obj1.free(); - err1: -- error(getPos(), const_cast<char*>("Bad image parameters")); -+ error(errInternal, getPos(), const_cast<char*>("Bad image parameters")); - } - - void PdfParser::doForm(Object *str) { -@@ -2783,7 +2733,7 @@ void PdfParser::doForm(Object *str) { - // check form type - dict->lookup(const_cast<char*>("FormType"), &obj1); - if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) { -- error(getPos(), const_cast<char*>("Unknown form type")); -+ error(errInternal, getPos(), const_cast<char*>("Unknown form type")); - } - obj1.free(); - -@@ -2791,7 +2741,7 @@ void PdfParser::doForm(Object *str) { - dict->lookup(const_cast<char*>("BBox"), &bboxObj); - if (!bboxObj.isArray()) { - bboxObj.free(); -- error(getPos(), const_cast<char*>("Bad form bounding box")); -+ error(errInternal, getPos(), const_cast<char*>("Bad form bounding box")); - return; - } - for (i = 0; i < 4; ++i) { -@@ -2827,11 +2777,7 @@ void PdfParser::doForm(Object *str) { - if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) { - transpGroup = gTrue; - if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) { --#ifdef POPPLER_NEW_COLOR_SPACE_API - blendingColorSpace = GfxColorSpace::parse(&obj3, NULL); --#else -- blendingColorSpace = GfxColorSpace::parse(&obj3); --#endif - } - obj3.free(); - if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) { -@@ -2990,7 +2936,7 @@ Stream *PdfParser::buildImageStream() { - parser->getObj(&obj); - while (!obj.isCmd(const_cast<char*>("ID")) && !obj.isEOF()) { - if (!obj.isName()) { -- error(getPos(), const_cast<char*>("Inline image dictionary key must be a name object")); -+ error(errInternal, getPos(), const_cast<char*>("Inline image dictionary key must be a name object")); - obj.free(); - } else { - key = copyString(obj.getName()); -@@ -3005,7 +2951,7 @@ Stream *PdfParser::buildImageStream() { - parser->getObj(&obj); - } - if (obj.isEOF()) { -- error(getPos(), const_cast<char*>("End of file in inline image")); -+ error(errInternal, getPos(), const_cast<char*>("End of file in inline image")); - obj.free(); - dict.free(); - return NULL; -@@ -3020,11 +2966,11 @@ Stream *PdfParser::buildImageStream() { - } - - void PdfParser::opImageData(Object args[], int numArgs) { -- error(getPos(), const_cast<char*>("Internal: got 'ID' operator")); -+ error(errInternal, getPos(), const_cast<char*>("Internal: got 'ID' operator")); - } - - void PdfParser::opEndImage(Object args[], int numArgs) { -- error(getPos(), const_cast<char*>("Internal: got 'EI' operator")); -+ error(errInternal, getPos(), const_cast<char*>("Internal: got 'EI' operator")); - } - - //------------------------------------------------------------------------ Index: patches/patch-src_extension_internal_pdfinput_svg-builder_cpp =================================================================== RCS file: patches/patch-src_extension_internal_pdfinput_svg-builder_cpp diff -N patches/patch-src_extension_internal_pdfinput_svg-builder_cpp --- patches/patch-src_extension_internal_pdfinput_svg-builder_cpp 13 Jul 2012 15:10:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,26 +0,0 @@ -$OpenBSD: patch-src_extension_internal_pdfinput_svg-builder_cpp,v 1.2 2012/07/13 15:10:47 kili Exp $ - -Fix build with poppler-0.20 (from arch linux) png-1.5. - ---- src/extension/internal/pdfinput/svg-builder.cpp.orig Fri Jul 8 20:25:09 2011 -+++ src/extension/internal/pdfinput/svg-builder.cpp Thu Jul 12 18:28:52 2012 -@@ -961,9 +961,7 @@ void SvgBuilder::updateFont(GfxState *state) { - _font_style = sp_repr_css_attr_new(); - GfxFont *font = state->getFont(); - // Store original name -- if (font->getOrigName()) { -- _font_specification = font->getOrigName()->getCString(); -- } else if (font->getName()) { -+ if (font->getName()) { - _font_specification = font->getName()->getCString(); - } else { - _font_specification = (char*) "Arial"; -@@ -1443,7 +1441,7 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream * - return NULL; - } - // Set error handler -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_write_struct(&png_ptr, &info_ptr); - return NULL; - } Index: patches/patch-src_helper_png-write_cpp =================================================================== RCS file: patches/patch-src_helper_png-write_cpp diff -N patches/patch-src_helper_png-write_cpp --- patches/patch-src_helper_png-write_cpp 8 Jul 2011 20:38:00 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-src_helper_png-write_cpp,v 1.1 2011/07/08 20:38:00 naddy Exp $ - -Fix build with png-1.5. - ---- src/helper/png-write.cpp.orig Wed Jul 6 19:28:18 2011 -+++ src/helper/png-write.cpp Wed Jul 6 19:28:41 2011 -@@ -165,7 +165,7 @@ sp_png_write_rgba_striped(SPDocument *doc, - /* Set error handling. REQUIRED if you aren't supplying your own - * error hadnling functions in the png_create_write_struct() call. - */ -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - /* If we get here, we had a problem reading the file */ - fclose(fp); - png_destroy_write_struct(&png_ptr, &info_ptr); Index: patches/patch-src_sp-image_cpp =================================================================== RCS file: patches/patch-src_sp-image_cpp diff -N patches/patch-src_sp-image_cpp --- patches/patch-src_sp-image_cpp 13 Jul 2012 15:10:47 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-src_sp-image_cpp,v 1.2 2012/07/13 15:10:47 kili Exp $ - -Fix build with png-1.5. - ---- src/sp-image.cpp.orig Thu Jul 12 18:27:13 2012 -+++ src/sp-image.cpp Thu Jul 12 18:27:13 2012 -@@ -389,7 +389,7 @@ static bool readPngAndHeaders( PushPull &youme, gint & - { - char* name = 0; - int compression_type = 0; -- char* profile = 0; -+ png_byte* profile = 0; - png_uint_32 proflen = 0; - if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) { - // g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type); Index: pkg/PLIST =================================================================== RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/pkg/PLIST,v retrieving revision 1.7 diff -u -p -r1.7 PLIST --- pkg/PLIST 20 Aug 2013 22:05:55 -0000 1.7 +++ pkg/PLIST 15 Oct 2013 22:19:46 -0000 @@ -1,31 +1,34 @@ @comment $OpenBSD: PLIST,v 1.7 2013/08/20 22:05:55 zhuk Exp $ @bin bin/inkscape @bin bin/inkview +man/el/ +man/el/man1/ +@man man/el/man1/inkscape.el.1 man/fr/ man/fr/man1/ -@man man/fr/man1/inkscape.1 +@man man/fr/man1/inkscape.fr.1 +man/ja/ +man/ja/man1/ +@man man/ja/man1/inkscape.ja.1 @man man/man1/inkscape.1 +@man man/man1/inkscape.el.1 +@man man/man1/inkscape.fr.1 +@man man/man1/inkscape.ja.1 +@man man/man1/inkscape.sk.1 +@man man/man1/inkscape.zh_TW.1 @man man/man1/inkview.1 +man/sk/ +man/sk/man1/ +@man man/sk/man1/inkscape.ja.1 +man/zh_TW/ +man/zh_TW/man1/ +@man man/zh_TW/man1/inkscape.zh_TW.1 share/applications/inkscape.desktop -share/icons/ -share/icons/hicolor/ -share/icons/hicolor/16x16/ -share/icons/hicolor/16x16/apps/ share/icons/hicolor/16x16/apps/inkscape.png -share/icons/hicolor/22x22/ -share/icons/hicolor/22x22/apps/ share/icons/hicolor/22x22/apps/inkscape.png -share/icons/hicolor/24x24/ -share/icons/hicolor/24x24/apps/ share/icons/hicolor/24x24/apps/inkscape.png -share/icons/hicolor/256x256/ -share/icons/hicolor/256x256/apps/ share/icons/hicolor/256x256/apps/inkscape.png -share/icons/hicolor/32x32/ -share/icons/hicolor/32x32/apps/ share/icons/hicolor/32x32/apps/inkscape.png -share/icons/hicolor/48x48/ -share/icons/hicolor/48x48/apps/ share/icons/hicolor/48x48/apps/inkscape.png share/inkscape/ share/inkscape/clipart/ @@ -442,6 +445,7 @@ share/inkscape/extensions/txt2svg.pl share/inkscape/extensions/uniconv-ext.py share/inkscape/extensions/uniconv_output.py share/inkscape/extensions/voronoi.py +share/inkscape/extensions/voronoi2svg.py share/inkscape/extensions/web-set-att.inx share/inkscape/extensions/web-set-att.py share/inkscape/extensions/web-transmit-att.inx -- Best Regards Edd Barrett http://www.theunixzoo.co.uk