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 drawVect; + copy(drawList.begin(),drawList.end(),back_inserter(drawVect)); + imageptr->draw(drawVect); +#endif /* MAGICK7 */ #endif