diff options
Diffstat (limited to 'math/nlopt')
-rw-r--r-- | math/nlopt/Makefile | 8 | ||||
-rw-r--r-- | math/nlopt/files/patch-CMakeLists.txt | 11 | ||||
-rw-r--r-- | math/nlopt/files/patch-CMakePresets.json | 11 | ||||
-rw-r--r-- | math/nlopt/pkg-plist.full | 48 |
4 files changed, 75 insertions, 3 deletions
diff --git a/math/nlopt/Makefile b/math/nlopt/Makefile index 283559daa8db..dd4dc557a783 100644 --- a/math/nlopt/Makefile +++ b/math/nlopt/Makefile @@ -1,6 +1,7 @@ PORTNAME= nlopt DISTVERSIONPREFIX= v DISTVERSION= 2.10.0 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= rhurlin@FreeBSD.org @@ -20,6 +21,7 @@ FLAVOR?= ${FLAVORS:[1]} full_BUILD_DEPENDS= ${PYNUMPY} \ swig:devel/swig +full_LIB_DEPENDS= liboctave.so:math/octave full_RUN_DEPENDS= ${PYNUMPY} full_CONFLICTS_INSTALL= ${PORTNAME}-minimal minimal_PKGNAMESUFFIX= -minimal @@ -34,16 +36,18 @@ USE_LDCONFIG= yes CMAKE_TESTING_ON= NLOPT_TESTS .if ${FLAVOR} == full -USES+= guile:3.0,alias localbase pkgconfig python +USES+= guile:3.0,alias localbase octave:env pkgconfig python # Because guile-config-3.0 crashes, nlopt avoids this by using # files/patch-cmake_FindGuile.cmake and setting GUILE_EXECUTABLE # and GUILE_CONFIG_EXECUTABLE MAKE_ENV+= GUILE_EXECUTABLE=${PREFIX}/bin/guile-3.0 \ GUILE_CONFIG_EXECUTABLE=${PREFIX}/bin/guile-config-3.0 CMAKE_OFF= NLOPT_JAVA +GNU_HOST= ${ARCH}-portbld-freebsd${OSREL} PLIST= ${PKGDIR}/pkg-plist.${FLAVOR} +PLIST_SUB= GNU_HOST=${GNU_HOST} OCTAVE_VERSION=${OCTAVE_VERSION} .elif ${FLAVOR} == minimal -CMAKE_OFF= NLOPT_GUILE NLOPT_JAVA NLOPT_PYTHON NLOPT_SWIG +CMAKE_OFF= NLOPT_GUILE NLOPT_JAVA NLOPT_OCTAVE NLOPT_PYTHON NLOPT_SWIG .endif .include <bsd.port.mk> diff --git a/math/nlopt/files/patch-CMakeLists.txt b/math/nlopt/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..4cc24139004e --- /dev/null +++ b/math/nlopt/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2025-02-04 18:29:30 UTC ++++ CMakeLists.txt +@@ -147,7 +147,7 @@ if (NLOPT_CXX OR NLOPT_PYTHON OR NLOPT_GUILE OR NLOPT_ + if (NLOPT_CXX OR NLOPT_PYTHON OR NLOPT_GUILE OR NLOPT_OCTAVE OR NLOPT_JAVA) + check_cxx_symbol_exists (__cplusplus ciso646 SYSTEM_HAS_CXX) + if (SYSTEM_HAS_CXX) +- set (CMAKE_CXX_STANDARD 11) # set the standard to C++11 but do not require it ++ set (CMAKE_CXX_STANDARD 17) # set the standard to C++17 but do not require it + + if (NLOPT_CXX) + set (CMAKE_CXX_STANDARD_REQUIRED ON) # if we build C++ API, we do need C++11 diff --git a/math/nlopt/files/patch-CMakePresets.json b/math/nlopt/files/patch-CMakePresets.json new file mode 100644 index 000000000000..e557968bc963 --- /dev/null +++ b/math/nlopt/files/patch-CMakePresets.json @@ -0,0 +1,11 @@ +--- CMakePresets.json.orig 2025-02-04 18:29:30 UTC ++++ CMakePresets.json +@@ -8,7 +8,7 @@ + "cacheVariables": { + "CMAKE_BUILD_TYPE": "RelWithDebInfo", + "CMAKE_C_FLAGS": "-Wall -Wextra -Wpedantic -Wshadow", +- "CMAKE_CXX_FLAGS": "-Wall -Wextra -Wpedantic -Wshadow -D_GLIBCXX_ASSERTIONS -fno-inline", ++ "CMAKE_CXX_FLAGS": "-Wall -Wextra -Wpedantic -Wshadow -D_GLIBCXX_ASSERTIONS -fno-inline -std=c++17", + "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install", + "SWIG_COMPILE_FLAGS": "-O1 -Wno-unused-parameter -Wno-shadow" + } diff --git a/math/nlopt/pkg-plist.full b/math/nlopt/pkg-plist.full index 3a3a6db63e96..971a564dd944 100644 --- a/math/nlopt/pkg-plist.full +++ b/math/nlopt/pkg-plist.full @@ -1,4 +1,3 @@ -%%GUILE_SITE%%/nlopt.scm include/nlopt.h include/nlopt.hpp lib/cmake/nlopt/NLoptConfig.cmake @@ -9,10 +8,57 @@ lib/guile/%%GUILE_VER%%/extensions/nlopt_guile.so lib/libnlopt.so lib/libnlopt.so.1 lib/libnlopt.so.1.0.0 +lib/octave/%%OCTAVE_VERSION%%/site/oct/%%GNU_HOST%%/nlopt_optimize.oct %%PYTHON_SITELIBDIR%%/_nlopt.so %%PYTHON_SITELIBDIR%%/nlopt-2.10.0.dist-info/METADATA %%PYTHON_SITELIBDIR%%/nlopt.py libdata/pkgconfig/nlopt.pc +%%GUILE_SITE%%/nlopt.scm share/man/man3/nlopt.3.gz share/man/man3/nlopt_minimize.3.gz share/man/man3/nlopt_minimize_constrained.3.gz +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_AUGLAG.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_AUGLAG_EQ.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GD_MLSL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GD_MLSL_LDS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GD_STOGO.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GD_STOGO_RAND.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_AGS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_CRS2_LM.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT_L.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT_L_NOSCAL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT_L_RAND.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT_L_RAND_NOSCAL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_DIRECT_NOSCAL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_ESCH.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_ISRES.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_MLSL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_MLSL_LDS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_ORIG_DIRECT.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_GN_ORIG_DIRECT_L.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_G_MLSL.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_G_MLSL_LDS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_AUGLAG.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_AUGLAG_EQ.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_CCSAQ.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_LBFGS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_MMA.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_SLSQP.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_TNEWTON.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_TNEWTON_PRECOND.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_TNEWTON_PRECOND_RESTART.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_TNEWTON_RESTART.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_VAR1.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LD_VAR2.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_AUGLAG.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_AUGLAG_EQ.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_BOBYQA.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_COBYLA.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_NELDERMEAD.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_NEWUOA.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_NEWUOA_BOUND.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_PRAXIS.m +share/octave/%%OCTAVE_VERSION%%/site/m/NLOPT_LN_SBPLX.m +share/octave/%%OCTAVE_VERSION%%/site/m/nlopt_minimize.m +share/octave/%%OCTAVE_VERSION%%/site/m/nlopt_minimize_constrained.m |