View | Details | Raw Unified | Return to bug 205895
Collapse All | Expand All

(-)math/sdpa/Makefile (-39 / +44 lines)
Lines 2-63 Link Here
2
# $FreeBSD: head/math/sdpa/Makefile 405010 2016-01-01 16:51:12Z rakuco $
2
# $FreeBSD: head/math/sdpa/Makefile 405010 2016-01-01 16:51:12Z rakuco $
3
3
4
PORTNAME=	sdpa
4
PORTNAME=	sdpa
5
PORTVERSION=	7.3.1
5
PORTVERSION=	7.3.8
6
PORTREVISION=	4
7
CATEGORIES=	math
6
CATEGORIES=	math
8
MASTER_SITES=	SF/${PORTNAME}/archive/${PORTNAME}/${PORTVERSION}
7
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME} \
9
DISTNAME=	${PORTNAME}.${PORTVERSION}.src-${SRCDATE}
8
		DEBIAN/pool/main/m/mumps:mumps
9
DISTFILES=	${PORTNAME}_${PORTVERSION}${EXTRACT_SUFX} \
10
		mumps_4.10.0.dfsg.orig.tar.gz:mumps
10
DIST_SUBDIR=	sdpa
11
DIST_SUBDIR=	sdpa
12
EXTRACT_ONLY=	${PORTNAME}_${PORTVERSION}${EXTRACT_SUFX}
11
13
12
MAINTAINER=	ports@FreeBSD.org
14
MAINTAINER=	ports@FreeBSD.org
13
COMMENT=	Very efficient SDP (semidefinite programming) solver
15
COMMENT=	Very efficient SDP (semidefinite programming) solver
14
16
15
USES=		fortran gmake
17
LICENSE=	GPLv2 # (or later)
18
LICENSE_FILE=	${WRKSRC}/COPYING
16
19
17
SRCDATE=	20090729
20
USES=		fortran gmake
18
MANUALFILE=	sdpa7-manual.pdf
19
GNU_CONFIGURE=	yes
21
GNU_CONFIGURE=	yes
20
WRKSRC=		${WRKDIR}/${PORTNAME}.${PORTVERSION}.src
22
CONFIGURE_ARGS=	--with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \
21
OPTIONS_DEFINE=	DOCS
23
		--with-lapack="-L${LOCALBASE}/lib ${LAPACKLIB}"
22
24
23
.if exists(${LOCALBASE}/lib/libgoto2.so)
25
PORTDOCS=	${MANUALFILE}
24
WITH_BLAS?=	gotoblas
26
PLIST_FILES=	bin/sdpa %%DATADIR%%/param.sdpa
25
.elif exists(${LOCALBASE}/lib/libatlas.so)
26
WITH_BLAS?=	atlas
27
.else
28
WITH_BLAS?=	reference
29
.endif
30
31
. if ${WITH_BLAS} == reference
32
LIB_DEPENDS+=	libblas.so:${PORTSDIR}/math/blas
33
LIB_DEPENDS+=	liblapack.so:${PORTSDIR}/math/lapack
34
BLAS=		-lblas
35
LAPACK=		-llapack
36
.elif ${WITH_BLAS} == gotoblas
37
LIB_DEPENDS+=	libgoto2.so:${PORTSDIR}/math/gotoblas
38
LIB_DEPENDS+=	liblapack.so:${PORTSDIR}/math/lapack
39
BLAS=		-lgoto2p
40
LAPACK=
41
.elif ${WITH_BLAS} == atlas
42
LIB_DEPENDS+=	libatlas.so:${PORTSDIR}/math/atlas
43
BLAS=		-lptf77blas
44
LAPACK=		-lalapack -lptcblas
45
.endif
46
27
47
CONFIGURE_ARGS+=--with-blas="-L${LOCALBASE}/lib ${BLAS}" --with-lapack="-L${LOCALBASE}/lib ${LAPACK}"
28
OPTIONS_DEFINE=		DOCS
48
29
OPTIONS_SINGLE=		BLAS
49
PLIST_SUB+=	MANUALFILE=${MANUALFILE}
30
OPTIONS_SINGLE_BLAS=	ATLAS GOTOBLAS REFERENCE
31
OPTIONS_DEFAULT=	REFERENCE
32
33
ATLAS_USES=		blaslapack:atlas
34
DOCS_DISTFILES=		${MANUALFILE}
35
GOTOBLAS_DESC=		GotoBLAS blas implementation
36
GOTOBLAS_USES=		blaslapack:gotoblas
37
REFERENCE_DESC=		Reference blas implementation
38
REFERENCE_USES=		blaslapack
39
40
MANUALFILE=		sdpa.7.1.1.manual.20080618.pdf
41
42
post-extract:
43
	@(cd ${DISTDIR}/${DIST_SUBDIR} && ${PAX} -rw \
44
		mumps_4.10.0.dfsg.orig.tar.gz ${WRKSRC}/mumps)
50
45
51
post-patch:
46
post-patch:
52
# Register missing target dependency to unbreak parallel builds
47
# Register missing target dependency to unbreak parallel builds
53
	@${REINPLACE_CMD} -e 's,^sdpa_DEPENDENCIES =,& $$(lib_LIBRARIES),' \
48
	@${REINPLACE_CMD} -e \
49
		's|^sdpa_DEPENDENCIES =|& $$(lib_LIBRARIES)|' \
54
		${WRKSRC}/Makefile.in
50
		${WRKSRC}/Makefile.in
51
.for i in sdpa.1 sdpa_exe.cpp
52
	@${REINPLACE_CMD} -e \
53
		's|/usr/share/sdpa/|${DATADIR}/|' ${WRKSRC}/${i}
54
.endfor
55
55
56
do-install:
56
do-install:
57
	${INSTALL_PROGRAM} ${WRKSRC}/sdpa ${STAGEDIR}${PREFIX}/bin
57
	(cd ${WRKSRC} && ${INSTALL_PROGRAM} sdpa \
58
		${STAGEDIR}${PREFIX}/bin)
58
	@${MKDIR} ${STAGEDIR}${DATADIR}
59
	@${MKDIR} ${STAGEDIR}${DATADIR}
59
	${INSTALL_DATA}    ${WRKSRC}/param.sdpa ${STAGEDIR}${DATADIR}
60
	(cd ${WRKSRC} && ${INSTALL_DATA} param.sdpa \
61
		${STAGEDIR}${DATADIR})
62
63
post-install-DOCS-on:
60
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
64
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
61
	${INSTALL_DATA} ${WRKSRC}/doc/${MANUALFILE} ${STAGEDIR}${DOCSDIR}
65
	(cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} ${MANUALFILE} \
66
		${STAGEDIR}${DOCSDIR})
62
67
63
.include <bsd.port.mk>
68
.include <bsd.port.mk>
(-)math/sdpa/distinfo (-2 / +6 lines)
Lines 1-2 Link Here
1
SHA256 (sdpa/sdpa.7.3.1.src-20090729.tar.gz) = 7a8795eebbdd2f16278426cdcd82698590208f0a2f1f8b960c28d09806260191
1
SHA256 (sdpa/sdpa_7.3.8.tar.gz) = c7541333da2f0bb2d18e90dbf758ac7cc099f3f7da3f256b284b0725f96d4117
2
SIZE (sdpa/sdpa.7.3.1.src-20090729.tar.gz) = 2512666
2
SIZE (sdpa/sdpa_7.3.8.tar.gz) = 229465
3
SHA256 (sdpa/mumps_4.10.0.dfsg.orig.tar.gz) = c76339bba516b96a3021af93d9a31b0fbf5a68cfcd02c9578d665ba8018e4b11
4
SIZE (sdpa/mumps_4.10.0.dfsg.orig.tar.gz) = 1785786
5
SHA256 (sdpa/sdpa.7.1.1.manual.20080618.pdf) = 906cf1f7a9bdb4c0eccb402baf7799be14ece6553e1dbd3cd81354c6e1362e35
6
SIZE (sdpa/sdpa.7.1.1.manual.20080618.pdf) = 324130
(-)math/sdpa/pkg-descr (-6 / +7 lines)
Lines 1-10 Link Here
1
The SDPA (SemiDefinite Programming Algorithm) is a software package for
1
The SDPA (SemiDefinite Programming Algorithm) is a software package for
2
solving semidefinite program (SDP). It is based on a Mehrotra-type
2
solving semidefinite program (SDP). It is based on a Mehrotra-type
3
predictor-corrector infeasible primal-dual interior-point method.
3
predictor-corrector infeasible primal-dual interior-point method.
4
The SDPA handles the standard form SDP and its dual. It is implemented in C++
4
The SDPA handles the standard form SDP and its dual. It is implemented
5
language utilizing the LAPACK for matrix computation. The SDPA incorporates
5
in C++ language utilizing the LAPACK for matrix computation. The SDPA
6
dynamic memory allocation and deallocation. So, the maximum size of an SDP
6
incorporates dynamic memory allocation and deallocation. So, the maximum
7
to be solved depends on the size of memory which users' computers install.
7
size of an SDP to be solved depends on the size of memory which users'
8
computers install.
8
The SDPA enjoys the following features:
9
The SDPA enjoys the following features:
9
10
10
   1. Callable library of the SDPA is available.
11
   1. Callable library of the SDPA is available.
Lines 12-18 Link Here
12
      to be solved is large scale and sparse.
13
      to be solved is large scale and sparse.
13
   3. Block diagonal matrix structure and sparse matrix structure in 
14
   3. Block diagonal matrix structure and sparse matrix structure in 
14
      data matrices are available.
15
      data matrices are available.
15
   4. Some information on infeasibility of a semidefinite program to be solved
16
   4. Some information on infeasibility of a semidefinite program to be
16
      is provided. 
17
      solved is provided. 
17
18
18
WWW: http://sdpa.sourceforge.net/
19
WWW: http://sdpa.sourceforge.net/
(-)math/sdpa/pkg-plist (-3 lines)
Lines 1-3 Link Here
1
bin/sdpa
2
%%DATADIR%%/param.sdpa
3
%%PORTDOCS%%%%DOCSDIR%%/%%MANUALFILE%%

Return to bug 205895