summaryrefslogtreecommitdiff
path: root/math/nlopt/Makefile
blob: dd4dc557a783656d0e47a6cc2d7ee4072be6c8e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
PORTNAME=	nlopt
DISTVERSIONPREFIX=	v
DISTVERSION=	2.10.0
PORTREVISION=	1
CATEGORIES=	math

MAINTAINER=	rhurlin@FreeBSD.org
COMMENT=	Nonlinear optimization library
WWW=		https://nlopt.readthedocs.io/ \
		https://github.com/stevengj/nlopt/

LICENSE=	LGPL21 MIT
LICENSE_COMB=	multi
LICENSE_FILE=	${WRKSRC}/COPYING

BROKEN_armv6=	fails to package: Unable to access file site-packages/_nlopt.a:No such file or directory
BROKEN_armv7=	fails to package: Unable to access file site-packages/_nlopt.a:No such file or directory

FLAVORS=	full minimal
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
minimal_CONFLICTS_INSTALL=	${PORTNAME}

USES=		cmake:testing
USE_GITHUB=	yes
GH_ACCOUNT=	stevengj
USE_LDCONFIG=	yes

# 'make test': 100% tests passed, 0 tests failed out of 83
CMAKE_TESTING_ON=	NLOPT_TESTS

.if ${FLAVOR} == full
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_OCTAVE NLOPT_PYTHON NLOPT_SWIG
.endif

.include <bsd.port.mk>