summaryrefslogtreecommitdiff
path: root/math/sdpa/Makefile
blob: 4392481413d12289725b221429dd67b0f17debd4 (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
# Created by: NAKATA, Maho <maho@FreeBSD.org>
# $FreeBSD$

PORTNAME=	sdpa
PORTVERSION=	7.3.8
PORTREVISION=	5
CATEGORIES=	math
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME} \
		DEBIAN/pool/main/m/mumps:mumps
DISTFILES=	${PORTNAME}_${PORTVERSION}${EXTRACT_SUFX} \
		mumps_4.10.0.dfsg.orig.tar.gz:mumps
DIST_SUBDIR=	sdpa
EXTRACT_ONLY=	${PORTNAME}_${PORTVERSION}${EXTRACT_SUFX}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Very efficient SDP (semidefinite programming) solver

LICENSE=	GPLv2 # (or later)
LICENSE_FILE=	${WRKSRC}/COPYING

USES=		fortran gmake
GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \
		--with-lapack="-L${LOCALBASE}/lib ${LAPACKLIB}"

PORTDOCS=	${MANUALFILE}
PLIST_FILES=	bin/sdpa %%DATADIR%%/param.sdpa

OPTIONS_DEFINE=		DOCS
OPTIONS_SINGLE=		BLAS
OPTIONS_SINGLE_BLAS=	ATLAS GOTOBLAS REFERENCE
OPTIONS_DEFAULT=	REFERENCE

ATLAS_USES=		blaslapack:atlas
DOCS_DISTFILES=		${MANUALFILE}
GOTOBLAS_DESC=		GotoBLAS blas implementation
GOTOBLAS_USES=		blaslapack:gotoblas
REFERENCE_DESC=		Reference blas implementation
REFERENCE_USES=		blaslapack

MANUALFILE=		sdpa.7.1.1.manual.20080618.pdf

post-extract:
	@(cd ${DISTDIR}/${DIST_SUBDIR} && ${PAX} -rw \
		mumps_4.10.0.dfsg.orig.tar.gz ${WRKSRC}/mumps)

post-patch:
# Register missing target dependency to unbreak parallel builds
	@${REINPLACE_CMD} -e 's,^sdpa_DEPENDENCIES =,& $$(lib_LIBRARIES),' \
		${WRKSRC}/Makefile.in
.for i in sdpa.1 sdpa_exe.cpp
	@${REINPLACE_CMD} -e \
		's|/usr/share/sdpa/|${DATADIR}/|' ${WRKSRC}/${i}
.endfor

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/sdpa ${STAGEDIR}${PREFIX}/bin
	@${MKDIR} ${STAGEDIR}${DATADIR}
	${INSTALL_DATA}    ${WRKSRC}/param.sdpa ${STAGEDIR}${DATADIR}

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${MANUALFILE} ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>