pkgsrc-WIP-changes archive

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

wip/nlopt: Upgrade of math/nlopt from 2.4.2 to 2.6.2.



Module Name:	pkgsrc-wip
Committed By:	Paul Ripke <stix%stix.id.au@localhost>
Pushed By:	stix
Date:		Tue Oct 20 13:35:14 2020 +1100
Changeset:	b2d2ff46f1735266981a31ffea544c89ee7d7f02

Added Files:
	nlopt/DESCR
	nlopt/Makefile
	nlopt/PLIST
	nlopt/buildlink3.mk
	nlopt/distinfo

Log Message:
wip/nlopt: Upgrade of math/nlopt from 2.4.2 to 2.6.2.

pkgsrc Makefile substitution to prefix builtin rb_tree symbols to
avoid collisions against NetBSD libc rbtree.

Tested with wip/PrusaSlicer.

Release notes:

2.6.2:
 - Fixed forced stop exception with dimension elimination ([#317])
 - Fixed get_initial_step wrapping ([#319])
 - Various build fixes ([#314], [#308], [#303], [#278])

2.6.1:
 - Fix nlopt_version return value for 2.6.x and update soname and docs.

2.6.0:
 - New set_upper_bound and set_lower_bound functions in the low-level C API
   to set one bound at a time (#257). There is no longer a separate
   libnlopt_cxx library - C++ algorithms (stogo) are compiled and included
   by default (#198). Various build fixes (#197, #216, #245, #250, #230,
   #261, etc.), other fixes (#242, #258).

2.5.0:
 - New AGS global solver (#194), thanks to Vladislav Sovrasov.
 - New nlopt_get_numevals function providing a built-in evaluation counter
   (#160).
 - New nlopt_get_errmsg function for more descriptive error messages.
 - Build system is converted to cmake (#49), thanks to Julien Schueller
 - Plugins updated for recent Octave and Guile versions.
 - Various other build fixes and minor bug fixes.

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

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

diffstat:
 nlopt/DESCR         | 17 +++++++++++++++++
 nlopt/Makefile      | 26 ++++++++++++++++++++++++++
 nlopt/PLIST         | 17 +++++++++++++++++
 nlopt/buildlink3.mk | 13 +++++++++++++
 nlopt/distinfo      |  6 ++++++
 5 files changed, 79 insertions(+)

diffs:
diff --git a/nlopt/DESCR b/nlopt/DESCR
new file mode 100644
index 0000000000..0adb1b393d
--- /dev/null
+++ b/nlopt/DESCR
@@ -0,0 +1,17 @@
+NLopt is a free/open-source library for nonlinear optimization,
+providing a common interface for a number of different free optimization
+routines available online as well as original implementations of various
+other algorithms.
+
+Its features include:
+- Callable from C, C++, Fortran, Matlab or GNU Octave, Python,
+  GNU Guile, Julia, GNU R, Lua, and OCaml.
+- A common interface for many different algorithms -- try a different
+  algorithm just by changing one parameter.
+- Support for large-scale optimization (some algorithms scalable to
+  millions of parameters and thousands of constraints).
+- Both global and local optimization algorithms.
+- Algorithms using function values only (derivative-free) and also
+  algorithms exploiting user-supplied gradients.
+- Algorithms for unconstrained optimization, bound-constrained
+  optimization, and general nonlinear inequality/equality constraints.
diff --git a/nlopt/Makefile b/nlopt/Makefile
new file mode 100644
index 0000000000..6393af989c
--- /dev/null
+++ b/nlopt/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD$
+
+DISTNAME=		nlopt-2.6.2
+CATEGORIES=		math
+MASTER_SITES=		${MASTER_SITE_GITHUB:=stevengj/}
+GITHUB_PROJECT=		nlopt
+GITHUB_TAG=		v${PKGVERSION_NOREV}
+MAINTAINER=		pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=		https://nlopt.readthedocs.io/en/latest/
+COMMENT=		Nonlinear optimization library
+LICENSE=		gnu-lgpl-v2.1 OR mit
+
+USE_TOOLS+=		cmake
+USE_CMAKE=		yes
+USE_LANGUAGES=		c c++
+
+SUBST_CLASSES+=		rbtree
+CH_FILES_CMD=		cd ${WRKSRC} && ${FIND} . -name '*.[ch]'
+SUBST_FILES.rbtree+=	${CH_FILES_CMD:sh}
+SUBST_MESSAGE.rbtree=	Changing rb_tree symbols that collide with NetBSD libc.
+SUBST_SED.rbtree=	-e "s|rb_tree_|nlopt_rb_tree_|g"
+SUBST_STAGE.rbtree=	post-extract
+
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../lang/guile20/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/nlopt/PLIST b/nlopt/PLIST
new file mode 100644
index 0000000000..72e002e361
--- /dev/null
+++ b/nlopt/PLIST
@@ -0,0 +1,17 @@
+@comment $NetBSD$
+include/nlopt.f
+include/nlopt.h
+include/nlopt.hpp
+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.10.0
+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
diff --git a/nlopt/buildlink3.mk b/nlopt/buildlink3.mk
new file mode 100644
index 0000000000..cd0bf1ec16
--- /dev/null
+++ b/nlopt/buildlink3.mk
@@ -0,0 +1,13 @@
+# $NetBSD$
+
+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_PKGSRCDIR.nlopt?=	../../wip/nlopt
+.endif # NLOPT_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-nlopt
diff --git a/nlopt/distinfo b/nlopt/distinfo
new file mode 100644
index 0000000000..a3acedeb4d
--- /dev/null
+++ b/nlopt/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (nlopt-2.6.2.tar.gz) = d7f7962e4e8cc014b734d591d8041a64d56250c3
+RMD160 (nlopt-2.6.2.tar.gz) = 133b655d359ef9d5475324e077e28901a30bb757
+SHA512 (nlopt-2.6.2.tar.gz) = 61e5c01140a57c0ad2a0acd82ad50dce1b5679dc281e55cbbc332e876b19a689013100617545a42b721d8c487df37d6ccd67859171243433fe29468f259b556b
+Size (nlopt-2.6.2.tar.gz) = 2040229 bytes


Home | Main Index | Thread Index | Old Index