Hi, Here's an update to xpdf-4.00.
Now uses Qt instead of Motif :-( Tests and comments are welcome. Ciao, Kili Index: Makefile =================================================================== RCS file: /cvs/ports/textproc/xpdf/Makefile,v retrieving revision 1.89 diff -u -p -r1.89 Makefile --- Makefile 26 Jul 2017 22:45:31 -0000 1.89 +++ Makefile 21 Oct 2017 20:35:50 -0000 @@ -2,33 +2,29 @@ COMMENT= PDF viewer for X11 -DISTNAME= xpdf-3.04 +DISTNAME= xpdf-4.00 CATEGORIES= textproc x11 -REVISION= 2 -MASTER_SITES= ftp://ftp.foolabs.com/pub/xpdf/ \ - http://mirror.ctan.org/support/xpdf/ +MASTER_SITES= https://www.xpdfreader.com/dl/ -HOMEPAGE= http://www.foolabs.com/xpdf/ +HOMEPAGE= https://www.xpdfreader.com/ # GPLv2 only or GPLv3 only or both (at our choice) PERMIT_PACKAGE_CDROM= Yes -LIB_DEPENDS+= graphics/png x11/motif -USE_GMAKE= Yes -CONFIGURE_STYLE=gnu -CONFIGURE_ARGS= --enable-multithreaded \ - --without-Sgm-library \ - --without-libpaper-library - -CONFIGURE_ENV= CPPFLAGS='-I${X11BASE}/include/freetype2 -I${X11BASE}/include -I${LOCALBASE}/include -DLOCALBASE="\"${LOCALBASE}\""' \ - LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib -lm -lz" -MAKE_ENV+=MOTIFLIB='-L${LOCALBASE}/lib -lXm' +MODULES= devel/cmake \ + X11/qt5 + +LIB_DEPENDS+= graphics/png RUN_DEPENDS= print/ghostscript/gnu-fonts -WANTLIB= ICE SM X11 Xext Xpm Xt freetype Xm \ - c m png pthread ${COMPILER_LIBCXX} z +USE_GMAKE= Yes + +CXXFLAGS+= -DLOCALBASE=\\\"${LOCALBASE}\\\" + +WANTLIB= Qt5Core Qt5Gui Qt5Widgets freetype c m png pthread \ + ${COMPILER_LIBCXX} z NO_TEST= Yes @@ -37,13 +33,9 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/doc/sample-xpdfrc \ ${PREFIX}/share/examples/xpdf/xpdfrc # already in poppler-utils -.for i in pdffonts pdfimages pdfinfo pdftoppm pdftops pdftotext +.for i in pdffonts pdfimages pdfinfo pdftohtml pdftoppm pdftops pdftotext rm ${PREFIX}/man/man1/$i.1 rm ${PREFIX}/bin/$i .endfor -# forgotten in Makefile.in (there's also a pdfthtml, but it conflicts -# with poppler-utils): - ${INSTALL_PROGRAM} ${WRKBUILD}/xpdf/pdftopng ${PREFIX}/bin - ${INSTALL_MAN} ${WRKSRC}/doc/pdftopng.1 ${PREFIX}/man/man1 .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/textproc/xpdf/distinfo,v retrieving revision 1.18 diff -u -p -r1.18 distinfo --- distinfo 8 Jun 2014 18:56:33 -0000 1.18 +++ distinfo 21 Oct 2017 20:35:50 -0000 @@ -1,2 +1,2 @@ -SHA256 (xpdf-3.04.tar.gz) = ETkMdHM6vLJiqspNtocQ8T///UK/4qCGGl38kSspd+U= -SIZE (xpdf-3.04.tar.gz) = 825519 +SHA256 (xpdf-4.00.tar.gz) = /z2SxCFm41sbpq7JtfCt/7X8BaPrldxJUFtuNE5CFtY= +SIZE (xpdf-4.00.tar.gz) = 854175 Index: patches/patch-Makefile_in =================================================================== RCS file: patches/patch-Makefile_in diff -N patches/patch-Makefile_in --- patches/patch-Makefile_in 1 Oct 2011 19:46:35 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,19 +0,0 @@ -$OpenBSD: patch-Makefile_in,v 1.2 2011/10/01 19:46:35 kili Exp $ ---- Makefile.in.orig Mon Aug 15 23:08:52 2011 -+++ Makefile.in Thu Aug 18 21:10:22 2011 -@@ -102,13 +102,8 @@ install: dummy - $(INSTALL_DATA) $(srcdir)/doc/pdfimages.1 $(DESTDIR)@mandir@/man1/pdfimages.1 - -mkdir -p $(DESTDIR)@mandir@/man5 - $(INSTALL_DATA) $(srcdir)/doc/xpdfrc.5 $(DESTDIR)@mandir@/man5/xpdfrc.5 -- -mkdir -p $(DESTDIR)@sysconfdir@ -- @if test ! -f $(DESTDIR)@sysconfdir@/xpdfrc; then \ -- echo "$(INSTALL_DATA) $(srcdir)/doc/sample-xpdfrc $(DESTDIR)@sysconfdir@/xpdfrc"; \ -- $(INSTALL_DATA) $(srcdir)/doc/sample-xpdfrc $(DESTDIR)@sysconfdir@/xpdfrc; \ -- else \ -- echo "# not overwriting the existing $(DESTDIR)@sysconfdir@/xpdfrc"; \ -- fi -+ -mkdir -p $(PREFIX)/share/examples/xpdf -+ $(INSTALL_DATA) $(srcdir)/doc/sample-xpdfrc $(PREFIX)/share/examples/xpdf/xpdfrc - - clean: - -cd goo; $(MAKE) clean Index: patches/patch-splash_Makefile_in =================================================================== RCS file: patches/patch-splash_Makefile_in diff -N patches/patch-splash_Makefile_in --- patches/patch-splash_Makefile_in 8 Jun 2014 18:56:33 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-splash_Makefile_in,v 1.2 2014/06/08 18:56:33 kili Exp $ ---- splash/Makefile.in.orig Wed May 28 20:50:50 2014 -+++ splash/Makefile.in Fri May 30 14:29:41 2014 -@@ -16,7 +16,7 @@ GOOLIBDIR = ../goo - FOFISRCDIR = $(srcdir)/../fofi - FOFILIBDIR = ../fofi - --CXXFLAGS = @CXXFLAGS@ @DEFS@ -I.. -I$(srcdir)/.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(srcdir) @freetype2_CFLAGS@ -+CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ @DEFS@ -I.. -I$(srcdir)/.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(srcdir) @freetype2_CFLAGS@ - - CXX = @CXX@ - AR = @AR@ Index: patches/patch-splash_SplashXPath_cc =================================================================== RCS file: patches/patch-splash_SplashXPath_cc diff -N patches/patch-splash_SplashXPath_cc --- patches/patch-splash_SplashXPath_cc 8 Jun 2014 18:56:33 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,49 +0,0 @@ -$OpenBSD: patch-splash_SplashXPath_cc,v 1.4 2014/06/08 18:56:33 kili Exp $ - -Replace Miod's fix from 2009 by some assert's, because the bug -*should* have been fixed in a different way and I'm too lazy to -verify it. (needs a change to strokeAdjust(), which is private) - ---- splash/SplashXPath.cc.orig Wed May 28 20:50:50 2014 -+++ splash/SplashXPath.cc Fri May 30 15:31:49 2014 -@@ -8,6 +8,8 @@ - - #include <aconf.h> - -+#include <assert.h> -+ - #ifdef USE_GCC_PRAGMAS - #pragma implementation - #endif -@@ -69,7 +71,7 @@ SplashXPath::SplashXPath(SplashPath *path, SplashCoord - - // do stroke adjustment - if (path->hints) { -- strokeAdjust(pts, path->hints, path->hintsLength); -+ strokeAdjust(pts, path->hints, path->hintsLength, path->length); - } - - segs = NULL; -@@ -176,7 +178,8 @@ SplashXPath::SplashXPath(SplashPath *path, SplashCoord - } - - void SplashXPath::strokeAdjust(SplashXPathPoint *pts, -- SplashPathHint *hints, int nHints) { -+ SplashPathHint *hints, int nHints, -+ int plength) { - SplashXPathAdjust *adjusts, *adjust; - SplashPathHint *hint; - SplashCoord x0, y0, x1, y1, x2, y2, x3, y3; -@@ -188,9 +191,12 @@ void SplashXPath::strokeAdjust(SplashXPathPoint *pts, - adjusts = (SplashXPathAdjust *)gmallocn(nHints, sizeof(SplashXPathAdjust)); - for (i = 0; i < nHints; ++i) { - hint = &hints[i]; -+ assert(hint->firstPt < plength && hint->lastPt < plength); - x0 = pts[hint->ctrl0 ].x; y0 = pts[hint->ctrl0 ].y; -+ assert(hint->ctrl0 + 1 < plength); - x1 = pts[hint->ctrl0 + 1].x; y1 = pts[hint->ctrl0 + 1].y; - x2 = pts[hint->ctrl1 ].x; y2 = pts[hint->ctrl1 ].y; -+ assert(hint->ctrl1 + 1 < plength); - x3 = pts[hint->ctrl1 + 1].x; y3 = pts[hint->ctrl1 + 1].y; - if (x0 == x1 && x2 == x3) { - adjusts[i].vert = gTrue; Index: patches/patch-splash_SplashXPath_h =================================================================== RCS file: patches/patch-splash_SplashXPath_h diff -N patches/patch-splash_SplashXPath_h --- patches/patch-splash_SplashXPath_h 8 Jun 2014 18:56:33 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -$OpenBSD: patch-splash_SplashXPath_h,v 1.1 2014/06/08 18:56:33 kili Exp $ - -Replace Miod's fix from 2009 by some assert's, because the bug -*should* have been fixed in a different way and I'm too lazy to -verify it. (needs a change to strokeAdjust(), which is private) - ---- splash/SplashXPath.h.orig Wed May 28 20:50:50 2014 -+++ splash/SplashXPath.h Fri May 30 15:33:45 2014 -@@ -99,7 +99,8 @@ class SplashXPath { (private) - void transform(SplashCoord *matrix, SplashCoord xi, SplashCoord yi, - SplashCoord *xo, SplashCoord *yo); - void strokeAdjust(SplashXPathPoint *pts, -- SplashPathHint *hints, int nHints); -+ SplashPathHint *hints, int nHints, -+ int plength); - void grow(int nSegs); - void addCurve(SplashCoord x0, SplashCoord y0, - SplashCoord x1, SplashCoord y1, Index: patches/patch-xpdf_Makefile_in =================================================================== RCS file: patches/patch-xpdf_Makefile_in diff -N patches/patch-xpdf_Makefile_in --- patches/patch-xpdf_Makefile_in 8 Jun 2014 18:56:33 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$OpenBSD: patch-xpdf_Makefile_in,v 1.6 2014/06/08 18:56:33 kili Exp $ ---- xpdf/Makefile.in.orig Wed May 28 20:50:50 2014 -+++ xpdf/Makefile.in Fri May 30 14:28:24 2014 -@@ -19,7 +19,7 @@ FOFILIBDIR = ../fofi - SPLASHSRCDIR = $(srcdir)/../splash - SPLASHLIBDIR = ../splash - --CXXFLAGS = @CXXFLAGS@ @DEFS@ -I.. -I$(srcdir)/.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) @freetype2_CFLAGS@ @Sgm_CFLAGS@ @Xm_CFLAGS@ @Xt_CFLAGS@ @Xp_CFLAGS@ @Xext_CFLAGS@ @Xpm_CFLAGS@ @libpng_CFLAGS@ @libpaper_CFLAGS@ @X_CFLAGS@ @EXTRA_CFLAGS@ -+CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ @DEFS@ -I.. -I$(srcdir)/.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) @freetype2_CFLAGS@ @Sgm_CFLAGS@ @Xm_CFLAGS@ @Xt_CFLAGS@ @Xp_CFLAGS@ @Xext_CFLAGS@ @Xpm_CFLAGS@ @libpng_CFLAGS@ @libpaper_CFLAGS@ @X_CFLAGS@ @EXTRA_CFLAGS@ - - LDFLAGS = @LDFLAGS@ - -@@ -33,7 +33,7 @@ SPLASHLIBS = -L$(SPLASHLIBDIR) -lsplash - - OTHERLIBS = @LIBS@ @libpaper_LIBS@ @EXTRA_LIBS@ \ - -L$(FOFILIBDIR) -lfofi \ -- -L$(GOOLIBDIR) -lGoo -+ -L$(GOOLIBDIR) -lGoo -pthread - - CXX = @CXX@ -