git: b26a85b20d01 - main - math/mppp: Build with the fmt library enabled; Add port options for all optional dependencies

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 24 Sep 2023 20:23:54 UTC
The branch main has been updated by yuri:

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

commit b26a85b20d012cc0645933ae8a21178c484458cf
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-09-24 20:22:54 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-09-24 20:23:47 +0000

    math/mppp: Build with the fmt library enabled; Add port options for all optional dependencies
---
 math/mppp/Makefile | 39 ++++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)

diff --git a/math/mppp/Makefile b/math/mppp/Makefile
index 7de18a5e6f36..5ec987fec545 100644
--- a/math/mppp/Makefile
+++ b/math/mppp/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	mppp
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.27
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	math
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -11,12 +11,7 @@ WWW=		https://github.com/bluescarni/mppp
 LICENSE=	MPL20
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libarb.so:math/arb \
-		libboost_serialization.so:devel/boost-libs \
-		libflint.so:math/flint2 \
-		libgmp.so:math/gmp \
-		libmpc.so:math/mpc \
-		libmpfr.so:math/mpfr
+LIB_DEPENDS=	libgmp.so:math/gmp
 
 USES=		cmake compiler:c++14-lang
 USE_LDCONFIG=	yes
@@ -24,11 +19,37 @@ USE_LDCONFIG=	yes
 USE_GITHUB=	yes
 GH_ACCOUNT=	bluescarni
 
-CMAKE_ON=	MPPP_WITH_ARB MPPP_WITH_MPC MPPP_WITH_MPFR MPPP_ENABLE_IPO MPPP_WITH_BOOST_S11N
+CMAKE_ON=	MPPP_ENABLE_IPO
 CMAKE_OFF=	MPPP_WITH_QUADMATH # no quad-precision fp type on FreeBSD, requested __float128 reinstantiation, bug#238129
-TEST_ARGS=	-DMPPP_BUILD_TESTS=ON -DMPPP_WITH_QUADMATH=OFF
+TEST_ARGS=	-DMPPP_BUILD_TESTS=ON
 BENCHMARK_ARGS=	-DMPPP_BUILD_BENCHMARKS=ON -DMPPP_BENCHMARK_FLINT=ON -DMPPP_BENCHMARK_BOOST=ON
 
+OPTIONS_DEFINE=			ARB FMT MPC MPFR SERIALIZATION
+OPTIONS_DEFAULT=		ARB FMT MPC MPFR SERIALIZATION
+
+ARB_DESC=			Enable features relying on Arb
+ARB_CMAKE_BOOL=			MPPP_WITH_ARB
+ARB_LIB_DEPENDS=		libarb.so:math/arb \
+				libflint.so:math/flint2
+ARB_IMPLIES=			MPFR
+
+FMT_DESC=			Enable support for the fmt library
+FMT_CMAKE_BOOL=			MPPP_WITH_FMT
+FMT_LIB_DEPENDS=		libfmt.so:devel/libfmt
+
+MPC_DESC=			Enable features relying on MPC
+MPC_CMAKE_BOOL=			MPPP_WITH_MPC
+MPC_LIB_DEPENDS=		libmpc.so:math/mpc
+MPC_IMPLIES=			MPFR
+
+MPFR_DESC=			Enable features relying on MPFR
+MPFR_CMAKE_BOOL=		MPPP_WITH_MPFR
+MPFR_LIB_DEPENDS=		libmpfr.so:math/mpfr
+
+SERIALIZATION_DESC=		Enable features relying on the Boost.Serialization library
+SERIALIZATION_CMAKE_BOOL=	MPPP_WITH_BOOST_S11N
+SERIALIZATION_LIB_DEPENDS=	libboost_serialization.so:devel/boost-libs
+
 do-test:
 	@cd ${BUILD_WRKSRC} && \
 		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${TEST_ARGS} ${CMAKE_SOURCE_PATH} && \