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

Reply via email to