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@
-