diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2018-09-12 22:25:20 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2018-09-12 22:25:20 +0000 |
commit | e8b751e04de6120c8bff8c4e983b4c5c27a7e3ec (patch) | |
tree | 712b5cb88c26438e41b7a48a9c2fad62bdd72d11 /science/dftbplus | |
parent | databases/timescaledb: Update to 0.12.0 (diff) |
New port: science/dftbplus: Package for performing fast atomistic simulations
Notes
Notes:
svn path=/head/; revision=479622
Diffstat (limited to 'science/dftbplus')
-rw-r--r-- | science/dftbplus/Makefile | 60 | ||||
-rw-r--r-- | science/dftbplus/distinfo | 9 | ||||
-rw-r--r-- | science/dftbplus/files/patch-external_xmlf90_make.dpbuild | 11 | ||||
-rw-r--r-- | science/dftbplus/files/patch-make.config | 37 | ||||
-rw-r--r-- | science/dftbplus/files/patch-makefile | 16 | ||||
-rw-r--r-- | science/dftbplus/pkg-descr | 9 | ||||
-rw-r--r-- | science/dftbplus/pkg-plist | 51 |
7 files changed, 193 insertions, 0 deletions
diff --git a/science/dftbplus/Makefile b/science/dftbplus/Makefile new file mode 100644 index 000000000000..5a690e8a26f6 --- /dev/null +++ b/science/dftbplus/Makefile @@ -0,0 +1,60 @@ +# $FreeBSD$ + +PORTNAME= dftbplus +DISTVERSION= 18.2 +CATEGORIES= science + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Package for performing fast atomistic simulations + +LICENSE= GPLv3+ + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack +RUN_DEPENDS= ${PYNUMPY} + +USES= fortran gmake python shebangfix +SHEBANG_FILES= tools/dptools/bin/* tools/misc/* utils/srcmanip/* utils/build/* external/fypp/bin/* utils/get_opt_externals \ + external/fypp/bin/fypp utils/test/testlist_to_fypp test/prog/dftb+/bin/tagdiff +SHEBANG_GLOB= *.py +USE_GITHUB= yes +GH_TUPLE= dftbplus:mpifx:099ff75:mpifx/external/mpifx/origin \ + dftbplus:scalapackfx:86cd6e4:scalapackfx/external/scalapackfx/origin \ + dftbplus:dftd3-lib:00504a9:dftd3/external/dftd3/origin +MAKEFILE= makefile + +LDFLAGS+= -llapack -lblas + +MAKE_ARGS= PYTHON=${PYTHON_CMD} INSTALLDIR=${STAGEDIR}${PREFIX} FREEBSD_PYDISTUTILS_INSTALLARGS="${PYDISTUTILS_INSTALLARGS} --root=${STAGEDIR}" + +OPTIONS_DEFINE= ARPACK DFTD3 MPI SOCKETS +OPTIONS_DEFAULT= ARPACK DFTD3 MPI SOCKETS + +ARPACK_DESC= Build with ARPACK for large eigenvalue problems +ARPACK_MAKE_ENV= WITH_ARPACK=1 +ARPACK_MAKE_ENV_OFF= WITH_ARPACK=0 +LIB_LIB_DEPENDS= libarpack.so:math/arpack + +DFTD3_DESC= Build with libdft3 +DFTD3_MAKE_ENV= WITH_DFTD3=1 +DFTD3_MAKE_ENV_OFF= WITH_DFTD3=0 + +MPI_MAKE_ENV= WITH_MPI=1 +MPI_MAKE_ENV_OFF= WITH_MPI=0 +MPI_LIB_DEPENDS= libmpich.so:net/mpich2 \ + libscalapack.so:math/scalapack + +SOCKETS_DESC= Build with sockets library +SOCKETS_MAKE_ENV= WITH_SOCKETS=1 +SOCKETS_MAKE_ENV_OFF= WITH_SOCKETS=0 +SOCKETS_BINARY_ALIAS= gcc=${CC} + +MAKE_JOBS_UNSAFE= yes # race conditions when some options are ON + +post-patch: + @cd ${WRKSRC} && ${LN} -s sys/make.x86_64-linux-gnu make.arch + +post-install: + @cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} dftb+ modes waveplot + +.include <bsd.port.mk> diff --git a/science/dftbplus/distinfo b/science/dftbplus/distinfo new file mode 100644 index 000000000000..50bcbee6b71d --- /dev/null +++ b/science/dftbplus/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1536787612 +SHA256 (dftbplus-dftbplus-18.2_GH0.tar.gz) = 21846f0866cc8ca40d80776d2786c41aac3b05d759e8137c10490b677ab93e6c +SIZE (dftbplus-dftbplus-18.2_GH0.tar.gz) = 1053090 +SHA256 (dftbplus-mpifx-099ff75_GH0.tar.gz) = 444d5f73eb112a9bb8e225e394aa5cd52406c69e652fd39a491fff696f5f8573 +SIZE (dftbplus-mpifx-099ff75_GH0.tar.gz) = 59513 +SHA256 (dftbplus-scalapackfx-86cd6e4_GH0.tar.gz) = 81e6330f392d3766199f646877e3fd2fe2bf2be6da26b3163a8fdb6a51ff88f1 +SIZE (dftbplus-scalapackfx-86cd6e4_GH0.tar.gz) = 71360 +SHA256 (dftbplus-dftd3-lib-00504a9_GH0.tar.gz) = b6d891320139d7b41029ddaa389eb92878a2f55be065fdc438d199e7e0414cbb +SIZE (dftbplus-dftd3-lib-00504a9_GH0.tar.gz) = 575172 diff --git a/science/dftbplus/files/patch-external_xmlf90_make.dpbuild b/science/dftbplus/files/patch-external_xmlf90_make.dpbuild new file mode 100644 index 000000000000..2289825264ef --- /dev/null +++ b/science/dftbplus/files/patch-external_xmlf90_make.dpbuild @@ -0,0 +1,11 @@ +--- external/xmlf90/make.dpbuild.orig 2018-09-12 21:14:34 UTC ++++ external/xmlf90/make.dpbuild +@@ -31,7 +31,7 @@ clean: + rm -f *.o _mod_* *.mod + + %.o: %.f90 +- $(FXX) $(FXXOPT) -o $@ -c $< ++ $(FXX) -c $(FXXOPT) -o $@ -c $< + + _mod_%: + @[ -f $< ] && touch $@ diff --git a/science/dftbplus/files/patch-make.config b/science/dftbplus/files/patch-make.config new file mode 100644 index 000000000000..b3c7cbce48bf --- /dev/null +++ b/science/dftbplus/files/patch-make.config @@ -0,0 +1,37 @@ +--- make.config.orig 2018-08-17 17:13:08 UTC ++++ make.config +@@ -13,19 +13,19 @@ INSTALLDIR := $(ROOT)/_install + ################################################################################ + + # Whether DFTB+ should support MPI-parallelism +-WITH_MPI := 0 ++WITH_MPI ?= 0 + + # Whether the socket library (external control) should be linked. +-WITH_SOCKETS := 1 ++WITH_SOCKETS ?= 1 + + # Whether the ARPACK library (needed by TD-DFTB) should be linked with DFTB+ + # Only affects serial build (MPI-version is built without ARPACK/TD-DFTB). +-WITH_ARPACK := 1 ++WITH_ARPACK ?= 1 + + # Whether the DFTD3 library (dispersion) should be linked. + # NOTE: Due to license incompatibility, distribution of a DFTB+ binary built + # with this component is not permitted. Use it only for your personal research. +-WITH_DFTD3 := 0 ++WITH_DFTD3 ?= 0 + + ################################################################################ + # General building/testing options +@@ -55,8 +55,8 @@ COMPILE_DFTD3 := 1 + + # Set the compile time include and the link time library options for + # dftd3-lib. Ignored if WITH_DFTD3 has been disabled or COMPILE_DFTD3 enabled. +-DFTD3_INCS := -I/usr/local/include/dftd3-lib +-DFTD3_LIBS := -L/usr/local/lib -ldftd3 ++DFTD3_INCS := -I$(PREFIX)/include/dftd3-lib ++DFTD3_LIBS := -L$(PREFIX)/lib -ldftd3 + + # Link time library options for linking ARPACK. Ignored if WITH_ARPACK was + # disabled. diff --git a/science/dftbplus/files/patch-makefile b/science/dftbplus/files/patch-makefile new file mode 100644 index 000000000000..00c150731814 --- /dev/null +++ b/science/dftbplus/files/patch-makefile @@ -0,0 +1,16 @@ +--- makefile.orig 2018-08-17 17:13:08 UTC ++++ makefile +@@ -123,11 +123,11 @@ install_misc_skderivs install_misc_slako + ROOT=$(ROOT) BUILDROOT=$(BUILDDIR) install + + +-PYTHON := python ++PYTHON ?= python + .PHONY: install_dptools + install_dptools: + cd $(ROOT)/tools/dptools \ +- && $(PYTHON) setup.py install --prefix $(INSTALLDIR) ++ && $(PYTHON) setup.py install $(FREEBSD_PYDISTUTILS_INSTALLARGS) + + ################################################################################ + # Check targets diff --git a/science/dftbplus/pkg-descr b/science/dftbplus/pkg-descr new file mode 100644 index 000000000000..3e3a7d741ade --- /dev/null +++ b/science/dftbplus/pkg-descr @@ -0,0 +1,9 @@ +DFTB+ is a fast and efficient versatile quantum mechanical simulation software +package. Using DFTB+ you can carry out quantum mechanical simulations similar to +density functional theory but in an approximate way, typically gaining around +two orders of magnitude in speed. + +DFTB+ can be used either as a standalone application or embeded it into other +academic or commercial simulation packages as a library. + +WWW: https://www.dftbplus.org/ diff --git a/science/dftbplus/pkg-plist b/science/dftbplus/pkg-plist new file mode 100644 index 000000000000..fa0d54f712a9 --- /dev/null +++ b/science/dftbplus/pkg-plist @@ -0,0 +1,51 @@ +bin/dftb+ +bin/dp_bands +bin/dp_dos +bin/gen2cif +bin/gen2xyz +bin/makecube +bin/modes +bin/repeatgen +bin/straingen +bin/waveplot +bin/xyz2gen +%%PYTHON_SITELIBDIR%%/dptools-18.2-py%%PYTHON_VER%%.egg-info +%%PYTHON_SITELIBDIR%%/dptools/__init__.py +%%PYTHON_SITELIBDIR%%/dptools/__init__.pyc +%%PYTHON_SITELIBDIR%%/dptools/__init__.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/bandout.py +%%PYTHON_SITELIBDIR%%/dptools/bandout.pyc +%%PYTHON_SITELIBDIR%%/dptools/bandout.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/cif.py +%%PYTHON_SITELIBDIR%%/dptools/cif.pyc +%%PYTHON_SITELIBDIR%%/dptools/cif.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/common.py +%%PYTHON_SITELIBDIR%%/dptools/common.pyc +%%PYTHON_SITELIBDIR%%/dptools/common.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/gen.py +%%PYTHON_SITELIBDIR%%/dptools/gen.pyc +%%PYTHON_SITELIBDIR%%/dptools/gen.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/geometry.py +%%PYTHON_SITELIBDIR%%/dptools/geometry.pyc +%%PYTHON_SITELIBDIR%%/dptools/geometry.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/grids.py +%%PYTHON_SITELIBDIR%%/dptools/grids.pyc +%%PYTHON_SITELIBDIR%%/dptools/grids.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/gridsio.py +%%PYTHON_SITELIBDIR%%/dptools/gridsio.pyc +%%PYTHON_SITELIBDIR%%/dptools/gridsio.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/scripts/__init__.py +%%PYTHON_SITELIBDIR%%/dptools/scripts/__init__.pyc +%%PYTHON_SITELIBDIR%%/dptools/scripts/__init__.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/scripts/common.py +%%PYTHON_SITELIBDIR%%/dptools/scripts/common.pyc +%%PYTHON_SITELIBDIR%%/dptools/scripts/common.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/scripts/repeatgen.py +%%PYTHON_SITELIBDIR%%/dptools/scripts/repeatgen.pyc +%%PYTHON_SITELIBDIR%%/dptools/scripts/repeatgen.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/scripts/straingen.py +%%PYTHON_SITELIBDIR%%/dptools/scripts/straingen.pyc +%%PYTHON_SITELIBDIR%%/dptools/scripts/straingen.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/dptools/xyz.py +%%PYTHON_SITELIBDIR%%/dptools/xyz.pyc +%%PYTHON_SITELIBDIR%%/dptools/xyz.%%PYTHON_PYOEXTENSION%% |