freebsd-ports/science/dlpoly-classic/Makefile
Gerald Pfeifer 3be3e90f93 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 00:52:33 +00:00

80 lines
2 KiB
Makefile

# Created by: Jason Bacon <jwbacon@tds.net>
# $FreeBSD$
PORTNAME= dlpoly
PORTVERSION= 1.8
PORTREVISION= 1
CATEGORIES= science java
MASTER_SITES= http://ccpforge.cse.rl.ac.uk/gf/download/frsrelease/238/2028/
PKGNAMESUFFIX= classic
DISTNAME= dl_class_${PORTVERSION}
MAINTAINER= jwbacon@tds.net
COMMENT= Molecular dynamics simulation package
BUILD_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpif90:${PORTSDIR}/net/openmpi
RUN_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpirun:${PORTSDIR}/net/openmpi
OPTIONS_DEFINE= GUI DOCS EXAMPLES
OPTIONS_DEFAULT= GUI
GUI_DESC= Install Java GUI
USE_GMAKE= yes
USE_FORTRAN= yes
SUB_FILES= dlpoly-gui
BUILD_WRKSRC= ${WRKSRC}/source
MPIF90= ${LOCALBASE}/mpi/openmpi/bin/mpif90
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGUI}
USE_JAVA= yes
PLIST_FILES+= bin/dlpoly-gui \
${DATADIR_REL}/GUI.jar
PLIST_DIRS+= ${DATADIR_REL}
.endif
post-patch:
${CP} ${WRKSRC}/build/MakePAR ${WRKSRC}/build/MakeSEQ ${BUILD_WRKSRC}
${REINPLACE_CMD} 's|gfortran|${FC}|g' ${BUILD_WRKSRC}/MakeSEQ
${REINPLACE_CMD} 's|DLPOLY\.X|dlpoly-classic|g' ${BUILD_WRKSRC}/MakeSEQ
${REINPLACE_CMD} 's|mpif90|${MPIF90}|g' \
${BUILD_WRKSRC}/MakePAR
${REINPLACE_CMD} 's|DLPOLY\.X|dlpoly-classic-mpi|g' \
${BUILD_WRKSRC}/MakePAR
do-build:
(cd ${BUILD_WRKSRC} && \
${CP} -f MakeSEQ Makefile && \
${MAKE} ${FC})
(cd ${BUILD_WRKSRC} && \
${MAKE} clean && \
${CP} -f MakePAR Makefile && \
${MAKE} gfortran)
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/execute/dlpoly-classic ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/execute/dlpoly-classic-mpi ${PREFIX}/bin
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/manual/* ${DOCSDIR}
.endif
.if ${PORT_OPTIONS:MEXAMPLES}
${MKDIR} ${EXAMPLESDIR}
${CP} -R ${WRKSRC}/execute ${EXAMPLESDIR}
${RM} ${EXAMPLESDIR}/execute/dlpoly*
.endif
.if ${PORT_OPTIONS:MGUI}
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/java/GUI.jar ${DATADIR}
${INSTALL_SCRIPT} ${WRKDIR}/dlpoly-gui ${PREFIX}/bin
.endif
post-install:
@${CAT} pkg-message
.include <bsd.port.mk>