git: 42239f81363b - main - math/gecode: update 6.3.0 → 6.4.0

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 17 Sep 2026 21:22:53 UTC
The branch main has been updated by yuri:

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

commit 42239f81363baaf07d50c9dfa7d9492d3468e1a7
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-09-17 20:21:55 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-09-17 21:22:49 +0000

    math/gecode: update 6.3.0 → 6.4.0
    
    Noteworthy changes:
    - changed to cmake
    - install both shared and static libs now
---
 math/gecode/Makefile                | 73 ++++++++++++++++---------------------
 math/gecode/distinfo                |  6 +--
 math/gecode/files/patch-Makefile.in | 11 ------
 math/gecode/files/patch-configure   | 20 ----------
 math/gecode/pkg-plist               | 52 ++++++++++++++++++--------
 5 files changed, 71 insertions(+), 91 deletions(-)

diff --git a/math/gecode/Makefile b/math/gecode/Makefile
index e5273a525d1d..b1aa5daa451d 100644
--- a/math/gecode/Makefile
+++ b/math/gecode/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	gecode
 DISTVERSIONPREFIX=	release-
-DISTVERSION=	6.3.0
-PORTREVISION=	7
+DISTVERSION=	6.4.0
 CATEGORIES=	math
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Generic Constraint Development Environment
-WWW=		https://www.gecode.org/
+WWW=		https://www.gecode.dev/ \
+		https://github.com/gecode/gecode
 
 LICENSE=	BSL MIT
 LICENSE_COMB=	multi
@@ -14,73 +14,64 @@ LICENSE_COMB=	multi
 NOT_FOR_ARCHS=		armv6 armv7
 NOT_FOR_ARCHS_REASON=	needs code written to specify rounding control mechanism in Boost.Numeric.Interval
 
-USES=		bison:build compiler:c++11-lang gmake perl5
+USES=		bison:build cmake compiler:c++11-lang perl5
 USE_PERL5=	build
 USE_LDCONFIG=	yes
 
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--disable-examples
-
 USE_GITHUB=	yes
 GH_ACCOUNT=	Gecode
-GH_TAGNAME=	fc22c40 # 6.3.0 branch is ready for a long time, but hasn't been tagged yet
 
 DATADIR=	${PREFIX}/share/minizinc/gecode # it only installs the MiniZinc library into DATADIR
 
-OPTIONS_DEFINE=		AUDIT CBS FLATZINC GIST PEAKHEAP PROFILE SEARCH
-OPTIONS_RADIO=		LIBTYPE
-OPTIONS_RADIO_LIBTYPE=	SHARED STATIC
-OPTIONS_DEFAULT=	CBS FLATZINC SEARCH SHARED
+CMAKE_ON=	GECODE_ENABLE_QT
+CMAKE_OFF=	BUILD_EXAMPLES
+
+OPTIONS_DEFINE=		AUDIT CBS FLATZINC GIST PROFILE SEARCH
+OPTIONS_MULTI=		LIBTYPE
+OPTIONS_MULTI_LIBTYPE=	SHARED STATIC
+OPTIONS_DEFAULT=	CBS FLATZINC SEARCH SHARED STATIC
 OPTIONS_SUB=		yes
 LIBTYPE_DESC=		Library type
 
 AUDIT_DESC=			Build with auditing code
-AUDIT_CONFIGURE_ENABLE=		audit
+AUDIT_CMAKE_BOOL=		GECODE_ENABLE_AUDIT
 
 CBS_DESC=			Support for counting-based search
-CBS_CONFIGURE_ENABLE=		cbs
+CBS_CMAKE_BOOL=			GECODE_ENABLE_CBS
 
-FLATZINC_DESC=			Build FlatZinc interpreter
-FLATZINC_CONFIGURE_ENABLE=	flatzinc
+FLATZINC_DESC=			Build FlatZinc module
+FLATZINC_CMAKE_BOOL=		GECODE_ENABLE_FLATZINC
+FLATZINC_USES=			qt:6
+FLATZINC_USE=			qt=base,tools:build
 
 GIST_DESC=			Enable gist, graphical and interactive search tool
-GIST_CONFIGURE_ENABLE=		gist qt
-GIST_USES=			gl qt:5
-GIST_USE=			gl=gl qt=core,gui,printsupport,widgets,qmake:build,buildtools:build
+GIST_CMAKE_BOOL=		GECODE_ENABLE_GIST
 GIST_IMPLIES=			SHARED # because Qt must be built in a special way: error: "You must build your code with position independent code if Qt was built with -reduce-relocations"
-GIST_MAKE_ARGS=			FREEBSD_LDFLAGS=-L${LOCALBASE}/lib
-
-PEAKHEAP_DESC=			Peak heap size tracking
-PEAKHEAP_CONFIGURE_ENABLE=	peakheap
 
 PROFILE_DESC=			Build with profiling information
-PROFILE_CONFIGURE_ENABLE=	profile
+PROFILE_CMAKE_BOOL=		GECODE_ENABLE_CPPROFILER
 
 SEARCH_DESC=			Build search engines
-SEARCH_CONFIGURE_ENABLE=	search
+SEARCH_CMAKE_BOOL=		GECODE_ENABLE_SEARCH
 
 SHARED_DESC=			Build shared executables and/or libraries
-SHARED_CONFIGURE_ENABLE=	shared
+SHARED_CMAKE_BOOL=		GECODE_BUILD_SHARED
+SHARED_LIB_DEPENDS=		libgmp.so:math/gmp \
+				libmpfr.so:math/mpfr
 
-STATIC_CONFIGURE_ENABLE=	static
+STATIC_CMAKE_BOOL=		GECODE_BUILD_STATIC
 
 TEST_TARGET=	check
 
-post-patch-STATIC-on: # workaround for https://github.com/Gecode/gecode/issues/117
-	@${REINPLACE_CMD} -e 's| -fPIC | |; s|"-fPIC|"|' ${WRKSRC}/configure
+.include <bsd.port.options.mk>
 
-post-install-SHARED-on:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.*.*
+.if ${PORT_OPTIONS:MSHARED} && ${PORT_OPTIONS:MGIST}
+USES+=		gl qt:6
+USE_QT=		base tools:build
+USE_GL=		gl
+.endif
 
-post-install-FLATZINC-on:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/fzn-gecode
-
-post-install-FLATZINC-off: # https://github.com/Gecode/gecode/issues/108
-	@cd ${STAGEDIR}${PREFIX} && ${RMDIR} share/minizinc/gecode share/minizinc/solvers share/minizinc
-
-test-extended: stage # breaks, see https://github.com/Gecode/gecode/issues/109
-	@cd ${WRKSRC} && \
-		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test && \
-		LD_LIBRARY_PATH=${STAGEDIR}${PREFIX}/lib ./test/test -test -Float
+post-patch-STATIC-on: # workaround for https://github.com/Gecode/gecode/issues/117
+	@${REINPLACE_CMD} -e 's| -fPIC | |; s|"-fPIC|"|' ${WRKSRC}/configure
 
 .include <bsd.port.mk>
diff --git a/math/gecode/distinfo b/math/gecode/distinfo
index 6e4db326da9a..2fa7e9dc7b21 100644
--- a/math/gecode/distinfo
+++ b/math/gecode/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1691773520
-SHA256 (Gecode-gecode-release-6.3.0-fc22c40_GH0.tar.gz) = dc7cfc83a9de32a6b3b8f9dc965ad9914ad7c8643ba6925031cbad574062fb15
-SIZE (Gecode-gecode-release-6.3.0-fc22c40_GH0.tar.gz) = 5741716
+TIMESTAMP = 1789665306
+SHA256 (Gecode-gecode-release-6.4.0_GH0.tar.gz) = 4cc0e4f440f821a643e637801094cd42ccb5946caf5248c905f29f5f3a16f260
+SIZE (Gecode-gecode-release-6.4.0_GH0.tar.gz) = 5760095
diff --git a/math/gecode/files/patch-Makefile.in b/math/gecode/files/patch-Makefile.in
deleted file mode 100644
index 683ca3df1eaa..000000000000
--- a/math/gecode/files/patch-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig	2021-12-18 04:22:38 UTC
-+++ Makefile.in
-@@ -77,7 +77,7 @@ export QT_CPPFLAGS = @QTDEFINES@ @QTINCLUDES@
- export LINKQT = @QTLIBS@
- export MPFR_CPPFLAGS = @GMP_CPPFLAGS@ @MPFR_CPPFLAGS@
- ifeq "@enable_mpfr@" "yes"
--export LINKMPFR = @MPFR_LIB_PATH@ @GMP_LIB_PATH@ @MPFR_LINK@ @GMP_LINK@
-+export LINKMPFR = $(FREEBSD_LDFLAGS) @MPFR_LIB_PATH@ @GMP_LIB_PATH@ @MPFR_LINK@ @GMP_LINK@
- else
- export LINKMPFR =
- endif
diff --git a/math/gecode/files/patch-configure b/math/gecode/files/patch-configure
deleted file mode 100644
index c494bdabbf39..000000000000
--- a/math/gecode/files/patch-configure
+++ /dev/null
@@ -1,20 +0,0 @@
---- configure.orig	2021-05-20 06:12:58 UTC
-+++ configure
-@@ -12552,7 +12552,7 @@ if test "${enable_qt+set}" = set; then :
-   enableval=$enable_qt;
- fi
- 
--  for ac_prog in qmake-qt4 qmake
-+  for ac_prog in qmake-qt5 qmake
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
-@@ -12594,7 +12594,7 @@ fi
-   test -n "$QMAKE" && break
- done
- 
--  for ac_prog in moc-qt4 moc
-+  for ac_prog in moc-qt5 moc
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
diff --git a/math/gecode/pkg-plist b/math/gecode/pkg-plist
index 6730fbc9a911..2f5f6e4c2b8b 100644
--- a/math/gecode/pkg-plist
+++ b/math/gecode/pkg-plist
@@ -1,7 +1,5 @@
 %%FLATZINC%%bin/fzn-gecode
-bin/mzn-gecode
-include/examples/job-shop-instances.hpp
-include/examples/scowl.hpp
+%%FLATZINC%%bin/mzn-gecode
 include/gecode/driver.hh
 include/gecode/driver/options.hpp
 include/gecode/driver/script.hpp
@@ -17,6 +15,7 @@ include/gecode/flatzinc/parser.hh
 %%FLATZINC%%include/gecode/flatzinc/parser.tab.hpp
 include/gecode/flatzinc/plugin.hh
 include/gecode/flatzinc/registry.hh
+include/gecode/flatzinc/restart-random.hpp
 include/gecode/flatzinc/symboltable.hh
 include/gecode/flatzinc/varspec.hh
 include/gecode/float.hh
@@ -585,6 +584,7 @@ include/gecode/support/dynamic-array.hpp
 include/gecode/support/dynamic-queue.hpp
 include/gecode/support/dynamic-stack.hpp
 include/gecode/support/exception.hpp
+include/gecode/support/failpoint.hpp
 include/gecode/support/hash.hpp
 include/gecode/support/heap.hpp
 include/gecode/support/hw-rnd.hpp
@@ -597,10 +597,7 @@ include/gecode/support/run-jobs.hpp
 include/gecode/support/sort.hpp
 include/gecode/support/static-stack.hpp
 include/gecode/support/thread.hpp
-include/gecode/support/thread/none.hpp
-include/gecode/support/thread/pthreads.hpp
 include/gecode/support/thread/thread.hpp
-include/gecode/support/thread/windows.hpp
 include/gecode/support/timer.hpp
 include/gecode/third-party/boost/LICENSE_1_0.txt
 include/gecode/third-party/boost/config.hpp
@@ -698,46 +695,65 @@ include/gecode/third-party/boost/numeric/interval/rounding.hpp
 include/gecode/third-party/boost/numeric/interval/transc.hpp
 include/gecode/third-party/boost/numeric/interval/utility.hpp
 include/gecode/third-party/boost/type.hpp
+lib/cmake/Gecode/FindMPFR.cmake
+lib/cmake/Gecode/GecodeConfig.cmake
+lib/cmake/Gecode/GecodeConfigVersion.cmake
+lib/cmake/Gecode/GecodeTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Gecode/GecodeTargets.cmake
 %%STATIC%%lib/libgecodedriver.a
 %%SHARED%%lib/libgecodedriver.so
 %%SHARED%%lib/libgecodedriver.so.51
-%%SHARED%%lib/libgecodedriver.so.51.0
+%%SHARED%%lib/libgecodedriver.so.6.4.0
 %%FLATZINC%%%%STATIC%%lib/libgecodeflatzinc.a
 %%FLATZINC%%%%SHARED%%lib/libgecodeflatzinc.so
 %%FLATZINC%%%%SHARED%%lib/libgecodeflatzinc.so.51
-%%FLATZINC%%%%SHARED%%lib/libgecodeflatzinc.so.51.0
+%%FLATZINC%%%%SHARED%%lib/libgecodeflatzinc.so.6.4.0
 %%STATIC%%lib/libgecodefloat.a
 %%SHARED%%lib/libgecodefloat.so
 %%SHARED%%lib/libgecodefloat.so.51
-%%SHARED%%lib/libgecodefloat.so.51.0
+%%SHARED%%lib/libgecodefloat.so.6.4.0
 %%GIST%%%%STATIC%%lib/libgecodegist.a
 %%GIST%%%%SHARED%%lib/libgecodegist.so
 %%GIST%%%%SHARED%%lib/libgecodegist.so.51
-%%GIST%%%%SHARED%%lib/libgecodegist.so.51.0
+%%GIST%%%%SHARED%%lib/libgecodegist.so.6.4.0
 %%STATIC%%lib/libgecodeint.a
 %%SHARED%%lib/libgecodeint.so
 %%SHARED%%lib/libgecodeint.so.51
-%%SHARED%%lib/libgecodeint.so.51.0
+%%SHARED%%lib/libgecodeint.so.6.4.0
 %%STATIC%%lib/libgecodekernel.a
 %%SHARED%%lib/libgecodekernel.so
 %%SHARED%%lib/libgecodekernel.so.51
-%%SHARED%%lib/libgecodekernel.so.51.0
+%%SHARED%%lib/libgecodekernel.so.6.4.0
 %%STATIC%%lib/libgecodeminimodel.a
 %%SHARED%%lib/libgecodeminimodel.so
 %%SHARED%%lib/libgecodeminimodel.so.51
-%%SHARED%%lib/libgecodeminimodel.so.51.0
+%%SHARED%%lib/libgecodeminimodel.so.6.4.0
 %%STATIC%%lib/libgecodesearch.a
 %%SHARED%%lib/libgecodesearch.so
 %%SHARED%%lib/libgecodesearch.so.51
-%%SHARED%%lib/libgecodesearch.so.51.0
+%%SHARED%%lib/libgecodesearch.so.6.4.0
 %%STATIC%%lib/libgecodeset.a
 %%SHARED%%lib/libgecodeset.so
 %%SHARED%%lib/libgecodeset.so.51
-%%SHARED%%lib/libgecodeset.so.51.0
+%%SHARED%%lib/libgecodeset.so.6.4.0
 %%STATIC%%lib/libgecodesupport.a
 %%SHARED%%lib/libgecodesupport.so
 %%SHARED%%lib/libgecodesupport.so.51
-%%SHARED%%lib/libgecodesupport.so.51.0
+%%SHARED%%lib/libgecodesupport.so.6.4.0
+%%FLATZINC%%%%DATADIR%%/experimental/blackbox/fzn_blackbox.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/blackbox/fzn_blackbox_bounds.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_complete.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_last_val_bool.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_last_val_float.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_last_val_int.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_last_val_set.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_sol_bool.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_sol_float.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_sol_int.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_sol_set.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_status.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_uniform_float.mzn
+%%FLATZINC%%%%DATADIR%%/experimental/on_restart/fzn_on_restart_uniform_int.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_all_different_int.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_all_equal_int.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_alldifferent_except_0.mzn
@@ -758,6 +774,7 @@ include/gecode/third-party/boost/type.hpp
 %%FLATZINC%%%%DATADIR%%/fzn_count_eq_reif.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_cumulative.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_cumulative_opt.mzn
+%%FLATZINC%%%%DATADIR%%/fzn_cumulatives.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_decreasing_bool.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_decreasing_int.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_diffn.mzn
@@ -788,6 +805,8 @@ include/gecode/third-party/boost/type.hpp
 %%FLATZINC%%%%DATADIR%%/fzn_range.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_regular.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_roots.mzn
+%%FLATZINC%%%%DATADIR%%/fzn_sliding_among_bool.mzn
+%%FLATZINC%%%%DATADIR%%/fzn_sliding_among_int.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_sort.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_sum_pred.mzn
 %%FLATZINC%%%%DATADIR%%/fzn_sum_set.mzn
@@ -803,4 +822,5 @@ include/gecode/third-party/boost/type.hpp
 %%FLATZINC%%%%DATADIR%%/redefinitions-2.2.1.mzn
 %%FLATZINC%%%%DATADIR%%/redefinitions-2.5.2.mzn
 %%FLATZINC%%%%DATADIR%%/redefinitions.mzn
+%%FLATZINC%%%%GIST%%share/minizinc/solvers/gecode-gist.msc
 %%FLATZINC%%share/minizinc/solvers/gecode.msc