graphics/pstoedit: update to 3.78.

ChangeLog: http://www.calvina.de/pstoedit/changelog.htm

 * Bug fix. pstoedit did not find older versions of GhostScript under Windows.
 * Support for mawk in creation of pstoedit.ph header file. mawk is often used
   on build servers in place of gawk.
 * Some small update to comply with some Debian requirements.
 * Added experimental support for filled objects in DXF output using the HATCH
   element of DXF.
 * Fixed a problem when running pstoedit with output to standard output instead
   of a file.
 * Adapted to new versioning scheme of GhostScript.
 * Additional backend for pcb-rnd contributed by Erich Heinzle.
 * Some additional options in WEMF driver.
 * Better handling of bounding box in EMF output. Contributed by Samuel Thibault.
 * Better handling of metric option in fig driver.
 * Fix a compile problem under certain MacOS versions.
 * Various changes needed for interworking with newer versions of GhostScript.
 * Some code modernization based on feedback from VS-2019, Clang Powertools and
   PVS Studio.
 * Added support for dotted and dashed lines to the DXF backend.
 * Reduce redundancy in help documents.
 * Porting to Windows CE by Rohan Shetty.
 * Made pstoedit compatible with ghostscript 9.27.
 * Fix a bug occurring with large scale factors.
 * Include full documentation by default and provide an option to generate
   documentation locally which then fit best to the local installation.
 * Started to apply improvements proposed by clang-tidy.
 * Included a bunch of patches from Debian for easier maintenance of the
   package plus correction to some spelling issues. Thanks to Barak A.
   Pearlmutter.
 * added a -vl option to specify a verbosity level. Using the older -v enables
   level 1. For more use -vl 2.
 * included a patch contributed by OpenSuse folks fixing a problem in finding
   the plugins under certain conditions.
 * included a patch contributed by Martin Madsen related to checking non
   existing directories when looking for plugins.
 * added support for pdfwithshow and pdfawidthshow special operators when
   reading PDF files.
 * Scott Pakin updated the cfdg driver to support the current version of cfdg.
 * changes needed for newer versions of GhostScript.
 * some code cleanup. pstoedit passed all Coverity checks.

PR:		270984
Reported by:	eric@camachat.org
This commit is contained in:
Eric Camachat 2023-04-24 18:55:42 +02:00 committed by Fernando Apesteguía
parent dd35cf3590
commit 0c5de1fc4a
5 changed files with 27 additions and 88 deletions

View file

@ -1,6 +1,5 @@
PORTNAME= pstoedit
PORTVERSION= 3.70
PORTREVISION= 12
PORTVERSION= 3.78
CATEGORIES= graphics print
MASTER_SITES= SF
@ -28,17 +27,18 @@ OPTIONS_DEFAULT= EMF MAGICK MING PLOTUTILS
OPTIONS_SUB= yes
EMF_DESC= WMF/EMF support via libEMF
MING_DESC= Flash support via Ming
PLOTUTILS_DESC= Plotting support via Plotutils
EMF_LIB_DEPENDS= libEMF.so:graphics/libemf
EMF_CONFIGURE_ON= --with-libemf-include=${LOCALBASE}/include/libEMF
EMF_CONFIGURE_OFF= --without-emf
MAGICK_USES= magick
MAGICK_CONFIGURE_ON= --with-magick
MAGICK_CONFIGURE_OFF= --without-magick
MING_DESC= Flash support via Ming
MING_LIB_DEPENDS= libming.so:graphics/ming
MING_CONFIGURE_ON= --with-swf
MING_CONFIGURE_OFF= --without-swf
PLOTUTILS_DESC= Plotting support via Plotutils
PLOTUTILS_LIB_DEPENDS= libplotter.so:graphics/plotutils
PLOTUTILS_CONFIGURE_ON= --with-libplot
PLOTUTILS_CONFIGURE_OFF= --without-libplot

View file

@ -1,2 +1,3 @@
SHA256 (pstoedit-3.70.tar.gz) = 06b86113f7847cbcfd4e0623921a8763143bbcaef9f9098e6def650d1ff8138c
SIZE (pstoedit-3.70.tar.gz) = 1013949
TIMESTAMP = 1682094664
SHA256 (pstoedit-3.78.tar.gz) = 8cc28e34bc7f88d913780f8074e813dd5aaa0ac2056a6b36d4bf004a0e90d801
SIZE (pstoedit-3.78.tar.gz) = 1301408

View file

@ -1,6 +1,6 @@
--- configure 2014-12-28 20:39:58 UTC
--- configure.orig 2023-04-21 16:38:20 UTC
+++ configure
@@ -8263,6 +8263,7 @@
@@ -8517,6 +8517,7 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@ -8,7 +8,7 @@
#include <stdarg.h>
#include <string.h>
#include <float.h>
@@ -16701,12 +16702,12 @@
@@ -17994,12 +17995,12 @@ if test -n "$LIBMAGICK_CFLAGS"; then
pkg_cv_LIBMAGICK_CFLAGS="$LIBMAGICK_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
@ -24,7 +24,7 @@
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -16718,12 +16719,12 @@
@@ -18011,12 +18012,12 @@ if test -n "$LIBMAGICK_LIBS"; then
pkg_cv_LIBMAGICK_LIBS="$LIBMAGICK_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
@ -40,7 +40,7 @@
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -16744,9 +16745,9 @@
@@ -18037,9 +18038,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then

View file

@ -1,77 +0,0 @@
By Jan Rekorajski, obtained from:
http://git.pld-linux.org/gitweb.cgi/packages/pstoedit.git/commitdiff/1db94627498886a91a6e6ed80d0a8b2b6da1a16b
and made conditional to still work with ImageMagick earlier than 7.
(The configure.ac is not currently used by the port.)
--- configure.ac 2014-12-28 21:39:18.000000000 +0100
+++ configure.ac 2016-12-25 22:16:29.147826432 +0100
@@ -299,7 +299,7 @@
else
if test -n "$PKG_CONFIG"; then
AC_MSG_CHECKING(ImageMagick flags through pkg-config)
- PKG_CHECK_MODULES(LIBMAGICK, ImageMagick++,
+ PKG_CHECK_MODULES(LIBMAGICK, Magick++,
HAVE_LIBMAGICK=yes
LIBMAGICK_CFLAGS="-DHAVE_MAGIC $LIBMAGICK_CFLAGS"
LIBMAGICK_LDFLAGS="$LIBMAGICK_LIBS" ,
--- src/drvmagick++.cpp 2015-01-01 18:05:33.000000000 +0100
+++ src/drvmagick++.cpp 2017-08-08 16:38:28.879138000 -0400
@@ -121,5 +121,9 @@ void drvMAGICK::create_vpath(VPathList &
switch (elem.getType()) {
case moveto:{
+#if MagickLibVersion < 0x700
const Point & p = elem.getPoint(0);
+#else /* MAGICK7 */
+ const ::Point & p = elem.getPoint(0);
+#endif /* MAGICK7 */
const Magick::Coordinate coord(p.x_ + x_offset,
currentDeviceHeight - p.y_ + y_offset);
@@ -128,5 +132,9 @@ void drvMAGICK::create_vpath(VPathList &
break;
case lineto:{
+#if MagickLibVersion < 0x700
const Point & p = elem.getPoint(0);
+#else /* MAGICK7 */
+ const ::Point & p = elem.getPoint(0);
+#endif /* MAGICK7 */
const Magick::Coordinate coord(p.x_ + x_offset,
currentDeviceHeight - p.y_ + y_offset);
@@ -138,7 +146,13 @@ void drvMAGICK::create_vpath(VPathList &
break;
case curveto:{
+#if MagickLibVersion < 0x700
const Point & p0 = elem.getPoint(0);
const Point & p1 = elem.getPoint(1);
const Point & p2 = elem.getPoint(2);
+#else /* MAGICK7 */
+ const ::Point & p0 = elem.getPoint(0);
+ const ::Point & p1 = elem.getPoint(1);
+ const ::Point & p2 = elem.getPoint(2);
+#endif /* MAGICK7 */
vpath.
push_back(PathCurvetoAbs
@@ -279,5 +293,9 @@ void drvMAGICK::show_path()
}
dasharray[dp.nrOfEntries] = 0; // mark last element
+#if MagickLibVersion < 0x700
drawList.push_back(DrawableDashArray(dasharray)); // pulls a copy, so we are the owner of dasharray
+#else /* MAGICK7 */
+ drawList.push_back(DrawableStrokeDashArray(dasharray)); // pulls a copy, so we are the owner of dasharray
+#endif /* MAGICK7 */
//?? DrawableDashOffset
delete[]dasharray;
@@ -301,5 +319,11 @@ void drvMAGICK::show_path()
drawList.push_back(DrawablePopGraphicContext());
// Draw everything using completed drawing list
+#if MagickLibVersion < 0x700
imageptr->draw(drawList);
+#else /* MAGICK7 */
+ std::vector<Magick::Drawable> drawVect;
+ copy(drawList.begin(),drawList.end(),back_inserter(drawVect));
+ imageptr->draw(drawVect);
+#endif /* MAGICK7 */
#endif

View file

@ -0,0 +1,15 @@
--- src/drvwmf.cpp.orig 2021-04-17 18:52:47 UTC
+++ src/drvwmf.cpp
@@ -30,6 +30,12 @@
#include I_stdlib
#include <math.h>
+#ifdef max
+#undef max
+#endif
+#ifdef min
+#undef min
+#endif
#include <algorithm>
#ifndef M_PI