aboutsummaryrefslogtreecommitdiff
path: root/math/linbox/Makefile
blob: e9c474adab07011ed4a4bd1666afc5e98622c1e8 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
PORTNAME=	linbox
PORTVERSION=	1.6.3
DISTVERSIONPREFIX=	v
PORTREVISION=	10
CATEGORIES=	math

PATCH_SITES=	https://github.com/linbox-team/linbox/commit/
PATCHFILES=	b79fb13522fceef79e291922ca9c7af0a09b65ae.diff:-p1

MAINTAINER=	thierry@FreeBSD.org
COMMENT=	C++ library for exact, high-performance linear algebra
WWW=		https://linalg.org/

LICENSE=	GPLv2 LGPL21
LICENSE_COMB=	dual

BUILD_DEPENDS=	fflas-ffpack-config:math/fflas-ffpack
LIB_DEPENDS=	libgmp.so:math/gmp		\
		libgivaro.so:math/givaro
RUN_DEPENDS=	bash:shells/bash

USE_GITHUB=	yes
GH_ACCOUNT=	linbox-team

USES=		autoreconf blaslapack:openblas compiler:c++11-lang gmake libtool localbase pkgconfig shebangfix

SHEBANG_FILES=	benchmarks/perfpublisher.sh examples/test.sh	\
		linbox-auto-install.sh linbox-config.in tests/jenkins-maker.sh	\
		tests/perfpublisher.sh tests/test_leak.sh

OPTIONS_DEFINE=		DOXYGEN
OPTIONS_RADIO=		SIZE
OPTIONS_RADIO_SIZE=	FULL MIN
OPTIONS_DEFAULT=	FULL
OPTIONS_SUB=		yes

MIN_DESC=		Lightweight package, with less dependencies
MIN_CONFIGURE_ON=	--without-saclib

FULL_DESC=		Complete package with all its dependencies
FULL_BUILD_DEPENDS=	gnuplot:math/gnuplot
FULL_LIB_DEPENDS=	libflint.so:math/flint2		\
			libfplll.so:math/fplll		\
			libiml.so:math/iml		\
			libm4ri.so:math/m4ri		\
			libm4rie.so:math/m4rie		\
			libmpfr.so:math/mpfr		\
			libntl.so:math/ntl		\
			libtinyxml2.so:textproc/tinyxml2
FULL_RUN_DEPENDS=	gnuplot:math/gnuplot
FULL_USES=		ghostscript
FULL_CONFIGURE_WITH=	flint fplll ghostscript gnuplot iml m4ri m4rie mpfr ntl

DOXYGEN_VARS=		BINARY_ALIAS=sed=${LOCALBASE}/bin/gsed
DOXYGEN_CONFIGURE_ENABLE=doc
DOXYGEN_CONFIGURE_WITH=	docdir=${DOCSDIR}
DOXYGEN_BUILD_DEPENDS=	gsed:textproc/gsed	\
			dot:graphics/graphviz	\
			doxygen:devel/doxygen

GNU_CONFIGURE=	yes
# ATM expat and drivers are broken
CONFIGURE_ARGS=	--without-expat
USE_LDCONFIG=	yes
INSTALL_TARGET=	install-strip
TEST_TARGET=	check

.if defined(PACKAGE_BUILDING)
CONFIGURE_ARGS+=--disable-sse --disable-sse2 --disable-sse3 --disable-ssse3	\
		--disable-sse41 --disable-sse42 --disable-fma --disable-fma4	\
		--disable-avx --disable-avx2
.endif

pre-configure:
	${REINPLACE_CMD} -e 's|@LINBOXSAGE_LIBS@||' ${WRKSRC}/linbox.pc.in

.include <bsd.port.mk>