On 2018/10/24 09:21, Stuart Henderson wrote:
> CVSROOT:      /cvs
> Module name:  ports
> Changes by:   st...@cvs.openbsd.org   2018/10/24 09:21:56
> 
> Modified files:
>       devel/gmp      : Makefile 
>       devel/gmp/pkg  : PLIST 
> 
> Log message:
> disable gmpxx (c++ library), it isn't used in ports or enabled by default 
> upstream
> ok naddy@
> 

Annoyingly it turns out that productivity/libalkimia uses the gmpxx.h
header but not the library from gmp's C++ support.

This gives a choice between a dirty option (install gmpxx.h anyway)
and the messy option below. I think I've got the bootstrap parts right
but a pair of eyes that understands it better than me wouldn't go
amiss :)

(bumps in dependent ports not shown here but also needed).

Index: devel/gmp/Makefile
===================================================================
RCS file: /cvs/ports/devel/gmp/Makefile,v
retrieving revision 1.37
diff -u -p -r1.37 Makefile
--- devel/gmp/Makefile  24 Oct 2018 15:21:56 -0000      1.37
+++ devel/gmp/Makefile  26 Oct 2018 14:57:53 -0000
@@ -1,10 +1,16 @@
 # $OpenBSD: Makefile,v 1.37 2018/10/24 15:21:56 sthen Exp $
 
-COMMENT=       library for arbitrary precision arithmetic
+COMMENT-main=  library for arbitrary precision arithmetic
+COMMENT-gmpxx= C++ library for arbitrary precision arithmetic
 
 DISTNAME=      gmp-6.1.2
-REVISION =     2
+MULTI_PACKAGES=        -main -gmpxx
+PKGNAME-main=  ${DISTNAME}
+PKGNAME-gmpxx= gmpxx-6.1.2
+
+REVISION =     3
 SHARED_LIBS +=  gmp                  10.0     # 13.2
+SHARED_LIBS +=  gmpxx                2.0      # 9.2
 CATEGORIES=    devel math
 
 HOMEPAGE=      https://gmplib.org/
@@ -15,11 +21,25 @@ EXTRACT_SUFX=       .tar.xz
 # LGPLv3+
 PERMIT_PACKAGE_CDROM=  Yes
 
+WANTLIB-main=  # empty
+WANTLIB-gmpxx= gmp m ${COMPILER_LIBCXX}
+
+LIB_DEPENDS-gmpxx= ${BASE_PKGPATH},-main
+
+PSEUDO_FLAVORS=        no_gmpxx bootstrap
+FLAVOR?=       no_gmpxx bootstrap
+
 MASTER_SITES=  https://gmplib.org/download/gmp/ \
                ${MASTER_SITE_GNU:=gmp/}
 
 CONFIGURE_STYLE=autoconf
 AUTOCONF_VERSION=2.69
+
+.include <bsd.port.arch.mk>
+.if ${BUILD_PACKAGES:M-gmpxx}
+CONFIGURE_ARGS=        --enable-cxx
+.endif
+
 # Don't try to optimize for the local CPU submodel
 CONFIGURE_ARGS+=--build=${MACHINE_ARCH}-unknown-openbsd${OSrev}
 
Index: devel/gmp/pkg/DESCR
===================================================================
RCS file: devel/gmp/pkg/DESCR
diff -N devel/gmp/pkg/DESCR
--- devel/gmp/pkg/DESCR 1 Nov 2006 18:43:09 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-GNU MP is a library for arbitrary precision arithmetic, operating on
-signed integers, rational numbers, and floating point numbers.  It has a
-rich set of functions, and the functions have a regular interface.
-
-GNU MP is designed to be as fast as possible, both for small operands and
-for huge operands.  The speed is achieved by using fullwords as the basic
-arithmetic type, by using fast algorithms, by carefully optimized assembly
-code for the most common inner loops for a lots of CPUs, and by a general
-emphasis on speed (instead of simplicity or elegance).
-
-The speed of GNU MP is believed to be faster than any other similar
-library. The advantage for GNU MP increases with the operand sizes for
-certain operations, since GNU MP in many cases has asymptotically faster
-algorithms.
-
-The mpfr library is no longer bundled with gmp, but exists as a separate
-package instead.
Index: devel/gmp/pkg/DESCR-gmpxx
===================================================================
RCS file: devel/gmp/pkg/DESCR-gmpxx
diff -N devel/gmp/pkg/DESCR-gmpxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ devel/gmp/pkg/DESCR-gmpxx   26 Oct 2018 14:57:53 -0000
@@ -0,0 +1,5 @@
+GNU MP is a library for arbitrary precision arithmetic, operating on
+signed integers, rational numbers, and floating point numbers.  It has a
+rich set of functions, and the functions have a regular interface.
+
+This subpackage contains "gmpxx", the C++ support.
Index: devel/gmp/pkg/DESCR-main
===================================================================
RCS file: devel/gmp/pkg/DESCR-main
diff -N devel/gmp/pkg/DESCR-main
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ devel/gmp/pkg/DESCR-main    26 Oct 2018 14:57:53 -0000
@@ -0,0 +1,17 @@
+GNU MP is a library for arbitrary precision arithmetic, operating on
+signed integers, rational numbers, and floating point numbers.  It has a
+rich set of functions, and the functions have a regular interface.
+
+GNU MP is designed to be as fast as possible, both for small operands and
+for huge operands.  The speed is achieved by using fullwords as the basic
+arithmetic type, by using fast algorithms, by carefully optimized assembly
+code for the most common inner loops for a lots of CPUs, and by a general
+emphasis on speed (instead of simplicity or elegance).
+
+The speed of GNU MP is believed to be faster than any other similar
+library. The advantage for GNU MP increases with the operand sizes for
+certain operations, since GNU MP in many cases has asymptotically faster
+algorithms.
+
+The mpfr library is no longer bundled with gmp, but exists as a separate
+package instead.
Index: devel/gmp/pkg/PLIST
===================================================================
RCS file: devel/gmp/pkg/PLIST
diff -N devel/gmp/pkg/PLIST
--- devel/gmp/pkg/PLIST 24 Oct 2018 15:21:56 -0000      1.9
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,6 +0,0 @@
-@comment $OpenBSD: PLIST,v 1.9 2018/10/24 15:21:56 sthen Exp $
-include/gmp.h
-@info info/gmp.info
-lib/libgmp.a
-lib/libgmp.la
-@lib lib/libgmp.so.${LIBgmp_VERSION}
Index: devel/gmp/pkg/PLIST-gmpxx
===================================================================
RCS file: devel/gmp/pkg/PLIST-gmpxx
diff -N devel/gmp/pkg/PLIST-gmpxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ devel/gmp/pkg/PLIST-gmpxx   26 Oct 2018 14:57:53 -0000
@@ -0,0 +1,6 @@
+@comment $OpenBSD: PLIST,v 1.9 2018/10/24 15:21:56 sthen Exp $
+@conflict gmp-<6.1.2p2
+include/gmpxx.h
+lib/libgmpxx.a
+lib/libgmpxx.la
+@lib lib/libgmpxx.so.${LIBgmpxx_VERSION}
Index: devel/gmp/pkg/PLIST-main
===================================================================
RCS file: devel/gmp/pkg/PLIST-main
diff -N devel/gmp/pkg/PLIST-main
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ devel/gmp/pkg/PLIST-main    26 Oct 2018 14:57:53 -0000
@@ -0,0 +1,7 @@
+@comment $OpenBSD: PLIST,v 1.9 2018/10/24 15:21:56 sthen Exp $
+@pkgpath devel/gmp
+include/gmp.h
+@info info/gmp.info
+lib/libgmp.a
+lib/libgmp.la
+@lib lib/libgmp.so.${LIBgmp_VERSION}
Index: productivity/libalkimia/Makefile
===================================================================
RCS file: /cvs/ports/productivity/libalkimia/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- productivity/libalkimia/Makefile    27 Jul 2017 10:05:20 -0000      1.7
+++ productivity/libalkimia/Makefile    26 Oct 2018 14:57:53 -0000
@@ -5,7 +5,7 @@ HOMEPAGE =              http://kmymoney2.sourceforge
 MAINTAINER =           KDE porting team <openbsd-...@googlegroups.com>
 V =                    5.0.0
 DISTNAME =             libalkimia-$V
-REVISION =             0
+REVISION =             1
 
 SHARED_LIBS =          alkimia         1.0 # 5.0
 
@@ -23,6 +23,7 @@ KDE4_ONLY =           Yes
 
 BUILD_DEPENDS =                ${MODKDE4_DEP_DIR}/libs
 LIB_DEPENDS =          devel/gmp
+BUILD_DEPENDS =                devel/gmp,,-gmpxx
 
 CONFIGURE_ARGS +=      -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen:Bool=Yes
 CXXFLAGS +=    -I${LOCALBASE}/include

Reply via email to