Thanks Matthias for the diff. Comments below.

On Sun Oct 22, 2017 at 06:10:01PM +0200, Matthias Kilian wrote:
> Hi Ingo,
> 
> (cc'ing back to ports)
> 
> On Sun, Oct 22, 2017 at 12:38:09AM +0200, Ingo Schwarze wrote:
> > > As libpaper seems fairly useless to me, i guess you might want to take
> > > the second approach, disable it explicitly.
> > > 
> > > I'm now investigating how to do that...
> > 
> > Applying the patch appended at the end on top of your patch lets
> > xpdf build, package, install (with pkg_add -r), and run for me.
> 
> Thanks! I've added it to my version.
> 
> > It does spew crap to stderr that i didn't notice with previous
> > versions, but i may have missed it.  Probably such splatter is
> > to be expected with "modern" software (sigh).
> > 
> >   QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to 
> > '/tmp/runtime-schwarze'
> 
> I'll have to ask the Qt gurus about this. Other Qt5 applications produce
> the same warning (stellarium from astro/stellarium, for example).

Yes other qt5 applications produce the same warning. On Linux
XDG_RUNTIME_DIR is set by default through pam_systemd:

https://www.freedesktop.org/software/systemd/man/pam_systemd.html

> 
> >   libGL error: failed to open drm device: Permission denied
> >   libGL error: failed to load driver: i965
> 
> Hmm. This happens if you don't own /dev/drm0. I bet you get the
> same error messages when running glxgears(1).  I'm using xenodm,
> which should take care of it (/etc/xenodm/GiveConsole):
> 
> if [ -c /dev/drm0 ]; then
>     chown $USER /dev/drm0
> fi
> 
> For not-so-normal setups, or when using startx(1), I'm not sure how
> to fix it in a generic way. However, I'd expect that you get the
> same error from other X11 programs using drm, too.
> 
> > Looking at the build log, this looks somewhat strange:
> > 
> >   ===>   Applying OpenBSD patch patch-xpdf_GlobalParams_cc
> >   Hmm...  Looks like a unified diff to me...
> >   The text leading up to this was:
> >   --------------------------
> >   |$OpenBSD: patch-xpdf_GlobalParams_cc,v 1.4 2015/04/06 21:05:07 ajacoutot 
> > Exp $
> >   |--- xpdf/GlobalParams.cc.orig  Wed May 28 20:50:50 2014
> >   |+++ xpdf/GlobalParams.cc       Fri May 30 14:27:13 2014
> >   --------------------------
> >   Patching file xpdf/GlobalParams.cc using Plan A...
> >   Hunk #1 succeeded at 103 (offset -17 lines).
> >   done
> > 
> > Does the "offset -17 lines" mean that the patch should be regenerated?
> > Same for patch-xpdf_XRef_cc.
> 
> I didn't include regenerated patches in my diff. The new diff contains
> regenerated patches.
> 
> > Why do you list png explicitly in LIB_DEPENDS, but not jpeg?
> > Given that the only other direct lib dependency, qtbase, requires
> > both jpeg and png directly and that the xpdf cmake run explicitly
> > tests for both, what is the difference?
> 
> Sloppiness on my side. png could have been removed in the past, too
> because even x11/motif pulled it in. Now removed in the new diff.
> 
> > I see this in my output:
> > 
> >   -- Found TIFF: /usr/local/lib/libtiff.so.40.1 (found version "4.0.8") 

You can save as tiff, png and jpeg (see in xpdf-qt/XpdfViewer.cc). I
would prefer it as BUILD,RUN_DEPENDS.

> > 
> > but:
> > 
> >   $ pkg_info -S xpdf
> >   Information for inst:xpdf-4.00
> >   Signature: 
> > xpdf-4.00,0,@ghostscript-fonts-8.11p3,@png-1.6.31,@qtbase-5.9.1p4,Qt5Core.2.1,Qt5Gui.2.1,Qt5Widgets.2.1,c++.1.0,c++abi.0.0,c.90.0,freetype.28.1,m.10.0,png.17.4,pthread.24.0,z.5.0
> > 
> > No tiff in there.  Any idea what is going on?
> 
> It looks like it checks for libtiff but then doesn't use it anywhere.
> 
> Here's a new diff:
> 
> 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  22 Oct 2017 16:05:37 -0000
> @@ -2,33 +2,33 @@
>  
>  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

USE_GMAKE can go away. cmake is your friend.

> +
> +# Don't pick up libpaper -- the build currently fails to link against
> +# it.
> +CONFIGURE_ARGS+=     -DHAVE_PAPER_H=0
> +
> +CXXFLAGS+=   -DLOCALBASE=\\\"${LOCALBASE}\\\"
> +
> +WANTLIB=     Qt5Core Qt5Gui Qt5Widgets freetype c m png pthread \
> +             ${COMPILER_LIBCXX} z
>  
>  NO_TEST=     Yes
>  
> @@ -37,13 +37,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  22 Oct 2017 16:05:37 -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_GlobalParams_cc
> ===================================================================
> RCS file: /cvs/ports/textproc/xpdf/patches/patch-xpdf_GlobalParams_cc,v
> retrieving revision 1.4
> diff -u -p -r1.4 patch-xpdf_GlobalParams_cc
> --- patches/patch-xpdf_GlobalParams_cc        6 Apr 2015 21:05:07 -0000       
> 1.4
> +++ patches/patch-xpdf_GlobalParams_cc        22 Oct 2017 16:05:37 -0000
> @@ -1,7 +1,8 @@
>  $OpenBSD: patch-xpdf_GlobalParams_cc,v 1.4 2015/04/06 21:05:07 ajacoutot Exp 
> $
> ---- xpdf/GlobalParams.cc.orig        Wed May 28 20:50:50 2014
> -+++ xpdf/GlobalParams.cc     Fri May 30 14:27:13 2014
> -@@ -120,14 +120,7 @@ static const char *displayFontDirs[] = {
> +Index: xpdf/GlobalParams.cc
> +--- xpdf/GlobalParams.cc.orig
> ++++ xpdf/GlobalParams.cc
> +@@ -103,14 +103,7 @@ static const char *displayFontDirs[] = {
>   };
>   #else
>   static const char *displayFontDirs[] = {
> 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@
> - 
> Index: patches/patch-xpdf_XRef_cc
> ===================================================================
> RCS file: /cvs/ports/textproc/xpdf/patches/patch-xpdf_XRef_cc,v
> retrieving revision 1.7
> diff -u -p -r1.7 patch-xpdf_XRef_cc
> --- patches/patch-xpdf_XRef_cc        8 Jun 2014 18:56:33 -0000       1.7
> +++ patches/patch-xpdf_XRef_cc        22 Oct 2017 16:05:37 -0000
> @@ -1,7 +1,8 @@
>  $OpenBSD: patch-xpdf_XRef_cc,v 1.7 2014/06/08 18:56:33 kili Exp $
> ---- xpdf/XRef.cc.orig        Wed May 28 20:50:50 2014
> -+++ xpdf/XRef.cc     Fri May 30 14:26:13 2014
> -@@ -958,19 +958,19 @@ void XRef::setEncryption(int permFlagsA, GBool ownerPa
> +Index: xpdf/XRef.cc
> +--- xpdf/XRef.cc.orig
> ++++ xpdf/XRef.cc
> +@@ -1003,19 +1003,19 @@ GBool XRef::getEncryption(int *permFlagsA, GBool 
> *owne
>   }
>   
>   GBool XRef::okToPrint(GBool ignoreOwnerPW) {
> 

Reply via email to