pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

nlopt: Expose language API support through packacge options.



Module Name:	pkgsrc-wip
Committed By:	Paul Ripke <stix%stix.id.au@localhost>
Pushed By:	stix
Date:		Fri Nov 11 23:59:39 2022 +1100
Changeset:	441133131b050b3d2e92a5f2995f112958b33c19

Modified Files:
	nlopt/Makefile
	nlopt/PLIST
	nlopt/buildlink3.mk
Added Files:
	nlopt/PLIST.octave
	nlopt/PLIST.python
	nlopt/options.mk

Log Message:
nlopt: Expose language API support through packacge options.

TODO:
- GUILE support broken.
- Octave version extraction for PLIST.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=441133131b050b3d2e92a5f2995f112958b33c19

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 nlopt/Makefile      |  9 +++++----
 nlopt/PLIST         | 48 ------------------------------------------------
 nlopt/PLIST.octave  | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 nlopt/PLIST.python  |  3 +++
 nlopt/buildlink3.mk | 23 +++++++++++++++++++++--
 nlopt/options.mk    | 42 ++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 118 insertions(+), 54 deletions(-)

diffs:
diff --git a/nlopt/Makefile b/nlopt/Makefile
index a484744077..accdf2aa07 100644
--- a/nlopt/Makefile
+++ b/nlopt/Makefile
@@ -10,11 +10,12 @@ HOMEPAGE=		https://nlopt.readthedocs.io/en/latest/
 COMMENT=		Nonlinear optimization library
 LICENSE=		gnu-lgpl-v2.1 OR mit
 
-USE_TOOLS+=		cmake
+USE_TOOLS+=		cmake pkg-config:run
 USE_CMAKE=		yes
-USE_LANGUAGES=		c c++
+USE_LANGUAGES+=		c c++
+
+.include "../../mk/bsd.prefs.mk"
+.include "options.mk"
 
 .include "../../devel/gmp/buildlink3.mk"
-.include "../../lang/guile20/buildlink3.mk"
-.include "../../math/octave/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/nlopt/PLIST b/nlopt/PLIST
index 4f5b4eb58c..5cea29de42 100644
--- a/nlopt/PLIST
+++ b/nlopt/PLIST
@@ -6,58 +6,10 @@ lib/cmake/nlopt/NLoptConfig.cmake
 lib/cmake/nlopt/NLoptConfigVersion.cmake
 lib/cmake/nlopt/NLoptLibraryDepends-release.cmake
 lib/cmake/nlopt/NLoptLibraryDepends.cmake
-lib/guile/2.0/extensions/nlopt_guile.so
 lib/libnlopt.so
 lib/libnlopt.so.0
 lib/libnlopt.so.0.11.1
-lib/octave/6.4.0/site/oct/x86_64--netbsd/nlopt_optimize.oct
 lib/pkgconfig/nlopt.pc
 man/man3/nlopt.3
 man/man3/nlopt_minimize.3
 man/man3/nlopt_minimize_constrained.3
-share/guile/site/2.0/nlopt.scm
-share/octave/6.4.0/site/m/NLOPT_AUGLAG.m
-share/octave/6.4.0/site/m/NLOPT_AUGLAG_EQ.m
-share/octave/6.4.0/site/m/NLOPT_GD_MLSL.m
-share/octave/6.4.0/site/m/NLOPT_GD_MLSL_LDS.m
-share/octave/6.4.0/site/m/NLOPT_GD_STOGO.m
-share/octave/6.4.0/site/m/NLOPT_GD_STOGO_RAND.m
-share/octave/6.4.0/site/m/NLOPT_GN_CRS2_LM.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT_L.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT_L_NOSCAL.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT_L_RAND.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT_L_RAND_NOSCAL.m
-share/octave/6.4.0/site/m/NLOPT_GN_DIRECT_NOSCAL.m
-share/octave/6.4.0/site/m/NLOPT_GN_ESCH.m
-share/octave/6.4.0/site/m/NLOPT_GN_ISRES.m
-share/octave/6.4.0/site/m/NLOPT_GN_MLSL.m
-share/octave/6.4.0/site/m/NLOPT_GN_MLSL_LDS.m
-share/octave/6.4.0/site/m/NLOPT_GN_ORIG_DIRECT.m
-share/octave/6.4.0/site/m/NLOPT_GN_ORIG_DIRECT_L.m
-share/octave/6.4.0/site/m/NLOPT_G_MLSL.m
-share/octave/6.4.0/site/m/NLOPT_G_MLSL_LDS.m
-share/octave/6.4.0/site/m/NLOPT_LD_AUGLAG.m
-share/octave/6.4.0/site/m/NLOPT_LD_AUGLAG_EQ.m
-share/octave/6.4.0/site/m/NLOPT_LD_CCSAQ.m
-share/octave/6.4.0/site/m/NLOPT_LD_LBFGS.m
-share/octave/6.4.0/site/m/NLOPT_LD_LBFGS_NOCEDAL.m
-share/octave/6.4.0/site/m/NLOPT_LD_MMA.m
-share/octave/6.4.0/site/m/NLOPT_LD_SLSQP.m
-share/octave/6.4.0/site/m/NLOPT_LD_TNEWTON.m
-share/octave/6.4.0/site/m/NLOPT_LD_TNEWTON_PRECOND.m
-share/octave/6.4.0/site/m/NLOPT_LD_TNEWTON_PRECOND_RESTART.m
-share/octave/6.4.0/site/m/NLOPT_LD_TNEWTON_RESTART.m
-share/octave/6.4.0/site/m/NLOPT_LD_VAR1.m
-share/octave/6.4.0/site/m/NLOPT_LD_VAR2.m
-share/octave/6.4.0/site/m/NLOPT_LN_AUGLAG.m
-share/octave/6.4.0/site/m/NLOPT_LN_AUGLAG_EQ.m
-share/octave/6.4.0/site/m/NLOPT_LN_BOBYQA.m
-share/octave/6.4.0/site/m/NLOPT_LN_COBYLA.m
-share/octave/6.4.0/site/m/NLOPT_LN_NELDERMEAD.m
-share/octave/6.4.0/site/m/NLOPT_LN_NEWUOA.m
-share/octave/6.4.0/site/m/NLOPT_LN_NEWUOA_BOUND.m
-share/octave/6.4.0/site/m/NLOPT_LN_PRAXIS.m
-share/octave/6.4.0/site/m/NLOPT_LN_SBPLX.m
-share/octave/6.4.0/site/m/nlopt_minimize.m
-share/octave/6.4.0/site/m/nlopt_minimize_constrained.m
diff --git a/nlopt/PLIST.octave b/nlopt/PLIST.octave
new file mode 100644
index 0000000000..d32792c86c
--- /dev/null
+++ b/nlopt/PLIST.octave
@@ -0,0 +1,47 @@
+@comment $NetBSD$
+lib/octave/${OCTAVE_VERSION}/site/oct/x86_64--netbsd/nlopt_optimize.oct
+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_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_LBFGS_NOCEDAL.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
diff --git a/nlopt/PLIST.python b/nlopt/PLIST.python
new file mode 100644
index 0000000000..07ed92fc77
--- /dev/null
+++ b/nlopt/PLIST.python
@@ -0,0 +1,3 @@
+@comment $NetBSD$
+${PYSITELIB}/_nlopt.so
+${PYSITELIB}/nlopt.py
diff --git a/nlopt/buildlink3.mk b/nlopt/buildlink3.mk
index cd0bf1ec16..fe089de021 100644
--- a/nlopt/buildlink3.mk
+++ b/nlopt/buildlink3.mk
@@ -5,9 +5,28 @@ BUILDLINK_TREE+=	nlopt
 .if !defined(NLOPT_BUILDLINK3_MK)
 NLOPT_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.nlopt+=	nlopt>=2.6.2
-BUILDLINK_ABI_DEPENDS.nlopt+=	nlopt>=2.6.2
+BUILDLINK_API_DEPENDS.nlopt+=	nlopt>=2.7.1
+BUILDLINK_ABI_DEPENDS.nlopt+=	nlopt>=2.7.1
 BUILDLINK_PKGSRCDIR.nlopt?=	../../wip/nlopt
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+pkgbase := nlopt
+.include "../../mk/pkg-build-options.mk"
+
+.if ${PKG_BUILD_OPTIONS.nlopt:Mguile}
+.  include "../../lang/guile30/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.nlopt:Moctave}
+.  include "../../math/octave/buildlink3.mk"
+.endif
+
+.if ${PKG_BUILD_OPTIONS.nlopt:Mpython}
+.  include "../../lang/python/extension.mk"
+.endif
+
+.include "../../devel/gmp/buildlink3.mk"
 .endif # NLOPT_BUILDLINK3_MK
 
 BUILDLINK_TREE+=	-nlopt
diff --git a/nlopt/options.mk b/nlopt/options.mk
new file mode 100644
index 0000000000..6d05dc8940
--- /dev/null
+++ b/nlopt/options.mk
@@ -0,0 +1,42 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.nlopt
+PKG_SUPPORTED_OPTIONS=		octave python
+PKG_SUGGESTED_OPTIONS=
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_SRC=		PLIST
+
+CMAKE_ARGS+=		-DNLOPT_SWIG:BOOL=TRUE
+CMAKE_ARGS+=		-DNLOPT_FORTRAN:BOOL=FALSE	# just builds tests
+CMAKE_ARGS+=		-DNLOPT_MATLAB:BOOL=FALSE
+
+# GUILE fails to be found by cmake?
+#.if !empty(PKG_OPTIONS:Mguile)
+#.include "../../lang/guile30/buildlink3.mk"
+#CMAKE_ARGS+=		-DNLOPT_GUILE:BOOL=TRUE
+#.else
+#CMAKE_ARGS+=		-DNLOPT_GUILE:BOOL=FALSE
+#.endif
+
+
+.if !empty(PKG_OPTIONS:Moctave)
+.include "../../math/octave/buildlink3.mk"
+CMAKE_ARGS+=		-DNLOPT_OCTAVE:BOOL=TRUE
+PLIST_SRC+=		PLIST.octave
+PLIST_SUBST+=		OCTAVE_VERSION=6.4.0
+.else
+CMAKE_ARGS+=		-DNLOPT_OCTAVE:BOOL=FALSE
+.endif
+
+
+.if !empty(PKG_OPTIONS:Mpython)
+.include "../../lang/python/extension.mk"
+.include "../../math/py-numpy/buildlink3.mk"
+CMAKE_ARGS+=		-DNLOPT_PYTHON:BOOL=TRUE
+PLIST_SRC+=		PLIST.python
+PLIST_SUBST+=		PYSITELIB=${PYSITELIB}
+.else
+CMAKE_ARGS+=		-DNLOPT_PYTHON:BOOL=FALSE
+.endif


Home | Main Index | Thread Index | Old Index