2013-09-20 22:55:04 +02:00
|
|
|
# Created by: Thierry Thomas <thierry@pompo.net>
|
2004-11-15 23:16:27 +01:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= blocksolve95
|
|
|
|
PORTVERSION= 3.0
|
Update to libmpc version 1.0.1 which brings the following fixes:
- Switched to automake 1.11.6, see CVE-2012-3386.
- #14669: Fixed extraction of CC from gmp.h.
- Fixed case of intermediate zero real or imaginary part in mpc_fma,
found by hydra with GMP_CHECK_RANDOMIZE=1346362345.
This is on top of the following changes from version 1.0
- Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
invariant sections) for the documentation.
- 100% of all lines are covered by tests
- Renamed functions
. mpc_mul_2exp to mpc_mul_2ui
. mpc_div_2exp to mpc_div_2ui
- 0^0, which returned (NaN,NaN) previously, now returns (1,+0).
- Removed compatibility with K&R compilers, which was untestable due
to lack of such compilers.
- New functions
. mpc_log10
. mpc_mul_2si, mpc_div_2si
- Speed-ups
. mpc_fma
- Bug fixes
. mpc_div and mpc_norm now return a value indicating the effective
rounding direction, as the other functions.
. mpc_mul, mpc_sqr and mpc_norm now return correct results even if
there are over- or underflows during the computation.
. mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has
infinite part and equals output variable is corrected.
. mpc_fr_sub: Wrong return value for imaginary part is corrected.
Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.
Bump PORTREVISIONS of all dependent ports.
PR: 183141
Approved by: portmgr (bdrewery)
2013-10-26 02:52:33 +02:00
|
|
|
PORTREVISION= 11
|
2004-11-15 23:16:27 +01:00
|
|
|
CATEGORIES= math parallel
|
2011-03-19 20:57:02 +01:00
|
|
|
MASTER_SITES= ftp://ftp.mcs.anl.gov/pub/BlockSolve95/ \
|
2011-03-24 02:09:51 +01:00
|
|
|
http://ftp.mcs.anl.gov/pub/BlockSolve95/
|
2004-11-15 23:16:27 +01:00
|
|
|
DISTNAME= BlockSolve95
|
|
|
|
EXTRACT_SUFX= .tar.Z
|
|
|
|
DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
|
|
|
|
|
2011-03-19 20:57:02 +01:00
|
|
|
MAINTAINER= bf@FreeBSD.org
|
2012-07-29 13:17:02 +02:00
|
|
|
COMMENT= Software for the efficient solution of large, sparse linear systems
|
2004-11-15 23:16:27 +01:00
|
|
|
|
2006-07-23 10:37:53 +02:00
|
|
|
BUILD_DEPENDS= ${MPIDIR}/lib/libmpich.a:${PORTSDIR}/net/mpich2
|
|
|
|
LIB_DEPENDS= f2c.2:${PORTSDIR}/lang/f2c
|
|
|
|
RUN_DEPENDS= ${MPIDIR}/bin/mpirun:${PORTSDIR}/net/mpich2
|
2004-11-15 23:16:27 +01:00
|
|
|
|
2014-02-16 18:15:31 +01:00
|
|
|
USES= fortran gmake
|
2004-11-15 23:16:27 +01:00
|
|
|
MAKEFILE= makefile
|
2006-06-21 23:36:29 +02:00
|
|
|
MAKE_ARGS= GMAKE=${GMAKE} PETSC_ARCH=${PETSC_ARCH} BOPT=${BOPT} \
|
2011-11-22 12:14:10 +01:00
|
|
|
BLAS_LIB="${BLAS_LIB}" LAPACK_LIB="${LAPACK_LIB}"
|
2004-11-15 23:16:27 +01:00
|
|
|
|
2009-11-28 11:44:56 +01:00
|
|
|
MPIDIR= ${LOCALBASE}
|
2004-11-15 23:16:27 +01:00
|
|
|
PETSC_ARCH= freebsd
|
|
|
|
BOPT?= O
|
|
|
|
|
2007-01-10 13:49:00 +01:00
|
|
|
FFLAGS+= -O2
|
2004-11-15 23:16:27 +01:00
|
|
|
|
|
|
|
INCLUDES= BMmsg.h BSdepend.h BSlog.h BSmy_blas.h BSprivate.h BSsparse.h
|
|
|
|
PORTDOCS= manual.ps
|
|
|
|
|
2013-09-20 22:55:04 +02:00
|
|
|
NO_STAGE= yes
|
2004-11-15 23:16:27 +01:00
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
|
2011-11-22 12:14:10 +01:00
|
|
|
.if exists(${LOCALBASE}/lib/libatlas.so) && !defined(WITH_BLAS)
|
2006-06-21 23:36:29 +02:00
|
|
|
WITH_ATLAS= yes
|
|
|
|
.endif
|
|
|
|
.if defined(WITH_ATLAS)
|
2007-01-10 13:49:00 +01:00
|
|
|
LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
|
2011-11-22 12:14:10 +01:00
|
|
|
BLAS_LIB= -lf77blas
|
|
|
|
LAPACK_LIB= -L${LOCALBASE}/lib -lalapack -lcblas
|
2006-06-21 23:36:29 +02:00
|
|
|
.else
|
2007-01-10 13:49:00 +01:00
|
|
|
LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
|
|
|
|
LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
|
2011-11-22 12:14:10 +01:00
|
|
|
BLAS_LIB= -lblas
|
|
|
|
LAPACK_LIB= -L${LOCALBASE}/lib -llapack
|
2006-06-21 23:36:29 +02:00
|
|
|
.endif
|
|
|
|
|
2004-11-15 23:16:27 +01:00
|
|
|
do-install:
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/lib/lib${BOPT}/${PETSC_ARCH}/libBS95.a \
|
|
|
|
${PREFIX}/lib
|
|
|
|
${INSTALL_DATA} ${INCLUDES:S|^|${WRKSRC}/include/|} ${PREFIX}/include
|
|
|
|
${INSTALL_MAN} ${MAN3:S|^|${WRKSRC}/doc/man/man3/|} ${MANPREFIX}/man/man3
|
|
|
|
.if !defined(NOPORTDOCS)
|
|
|
|
${MKDIR} ${DOCSDIR}
|
|
|
|
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/manual/|} ${DOCSDIR}
|
|
|
|
${MKDIR} ${EXAMPLESDIR}
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/examples/* ${EXAMPLESDIR}
|
|
|
|
@${RM} ${EXAMPLESDIR}/makefile.orig
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(MAINTAINER_MODE)
|
2006-06-21 23:36:29 +02:00
|
|
|
regression-test: build
|
2006-07-23 10:37:53 +02:00
|
|
|
. if !exists(${HOME}/.mpd.conf)
|
|
|
|
@${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf
|
|
|
|
${CHMOD} go-r ${HOME}/.mpd.conf
|
|
|
|
@${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!"
|
|
|
|
. endif
|
2009-11-28 11:44:56 +01:00
|
|
|
${LOCALBASE}/bin/mpd &
|
2004-11-15 23:16:27 +01:00
|
|
|
@(cd ${BUILD_WRKSRC}/examples; \
|
|
|
|
${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} bsrunexamples clean)
|
2009-11-28 11:44:56 +01:00
|
|
|
${LOCALBASE}/bin/mpdallexit
|
2004-11-15 23:16:27 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.include "${FILESDIR}/BSman3.inc"
|
|
|
|
.include <bsd.port.post.mk>
|