git: 9dc9eb71e509 - main - print/scribus-devel: switch to C++17 for upcoming poppler

From: Adriaan de Groot <adridg_at_FreeBSD.org>
Date: Fri, 21 Jan 2022 21:41:53 UTC
The branch main has been updated by adridg:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9dc9eb71e509c136098ed08eff0294eeb2a226e6

commit 9dc9eb71e509c136098ed08eff0294eeb2a226e6
Author:     Adriaan de Groot <adridg@FreeBSD.org>
AuthorDate: 2022-01-17 18:31:25 +0000
Commit:     Adriaan de Groot <adridg@FreeBSD.org>
CommitDate: 2022-01-21 21:41:06 +0000

    print/scribus-devel: switch to C++17 for upcoming poppler
    
    This is a fix-it-before-it-breaks commit. Upcoming poppler requires
    consumers to build as C++17. Switch to that, and pull in an
    upstream patch that fixes the Scribus build in C++17.
    
    PR:     260956
---
 print/scribus-devel/Makefile                       |  8 +++--
 ...h-34dee8142844a7ee70ddff95253d0299896bcc16.diff | 38 ++++++++++++++++++++++
 2 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/print/scribus-devel/Makefile b/print/scribus-devel/Makefile
index a022ffd87a64..11c55db1d726 100644
--- a/print/scribus-devel/Makefile
+++ b/print/scribus-devel/Makefile
@@ -2,7 +2,7 @@
 
 PORTNAME=	scribus
 PORTVERSION=	1.5.7
-PORTREVISION=	10
+PORTREVISION=	11
 CATEGORIES=	print editors
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}${PKGNAMESUFFIX}/${PORTVERSION}/ \
 		http://www.scribus.net/downloads/${PORTVERSION}/
@@ -38,14 +38,16 @@ LIB_DEPENDS=	liblcms2.so:graphics/lcms2 \
 		libqxp-0.0.so:textproc/libqxp \
 		libzmf-0.0.so:graphics/libzmf
 
-USES=		cmake compiler:gcc-c++11-lib desktop-file-utils dos2unix gnome \
+USES=		cmake compiler:c++17-lang desktop-file-utils dos2unix gnome \
 		jpeg pkgconfig python:3.6+ qt:5 shared-mime-info tar:xz
 USE_QT=		buildtools_build core declarative gui linguisttools_build \
 		network opengl printsupport qmake_build widgets xml
 DOS2UNIX_REGEX=	.*\.(cpp|h|txt)
 USE_GNOME=	libxml2
 
-CMAKE_ARGS+=	-DWANT_HUNSPELL=YES -DCMAKE_COLOR_MAKEFILE:BOOL=ON
+CMAKE_ARGS+=	-DWANT_HUNSPELL=YES \
+		-DWANT_CPP17=YES \
+		-DCMAKE_COLOR_MAKEFILE:BOOL=ON 
 
 OPTIONS_DEFINE=	DOCS
 
diff --git a/print/scribus-devel/files/patch-34dee8142844a7ee70ddff95253d0299896bcc16.diff b/print/scribus-devel/files/patch-34dee8142844a7ee70ddff95253d0299896bcc16.diff
new file mode 100644
index 000000000000..040f90b85bb6
--- /dev/null
+++ b/print/scribus-devel/files/patch-34dee8142844a7ee70ddff95253d0299896bcc16.diff
@@ -0,0 +1,38 @@
+From 34dee8142844a7ee70ddff95253d0299896bcc16 Mon Sep 17 00:00:00 2001
+From: Jean Ghali <jghali@libertysurf.fr>
+Date: Wed, 4 Aug 2021 21:18:11 +0000
+Subject: [PATCH] #16605: Compilation error in lib2geom/path.h
+
+git-svn-id: svn://scribus.net/trunk/Scribus@24687 11d20701-8431-0410-a711-e3c959e3b870
+---
+ scribus/third_party/lib2geom/path.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/scribus/third_party/lib2geom/path.h b/scribus/third_party/lib2geom/path.h
+index fab674ed3b..e923b5de8b 100644
+--- scribus/third_party/lib2geom/path.h
++++ scribus/third_party/lib2geom/path.h
+@@ -251,14 +251,15 @@ class BezierCurve : public Curve {
+ 
+   D2<SBasis> toSBasis() const {return inner.toSBasis(); }
+ 
+-protected:
+-  BezierCurve(Point c[]) {
+-    Coord x[order+1], y[order+1];
+-    for(unsigned i = 0; i <= order; i++) {
+-        x[i] = c[i][X]; y[i] = c[i][Y];
+-    }
+-    inner = Bezier(x, y);
+-  }
++// #16605: does not seem used at triggers build error with clang 12.0.1
++//protected:
++//  BezierCurve(Point c[]) {
++//    Coord x[order+1], y[order+1];
++//    for(unsigned i = 0; i <= order; i++) {
++//        x[i] = c[i][X]; y[i] = c[i][Y];
++//    }
++//    inner = Bezier(x, y);
++//  }
+ };
+ 
+ // BezierCurve<0> is meaningless; specialize it out