mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
New port: science/libgridxc: Library to compute the exchange and correlation energy and potentials
This commit is contained in:
parent
f4e334291f
commit
ab342e2c5d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=478965
@ -103,6 +103,7 @@
|
||||
SUBDIR += libefp
|
||||
SUBDIR += libgeodecomp
|
||||
SUBDIR += libghemical
|
||||
SUBDIR += libgridxc
|
||||
SUBDIR += libint
|
||||
SUBDIR += libint2
|
||||
SUBDIR += libkml
|
||||
|
57
science/libgridxc/Makefile
Normal file
57
science/libgridxc/Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= libgridxc
|
||||
DISTVERSION= 0.8.0
|
||||
CATEGORIES= science
|
||||
MASTER_SITES= https://launchpad.net/${PORTNAME}/trunk/${DISTVERSION:R}/+download/
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
COMMENT= Library to compute the exchange and correlation energy and potentials
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
LICENSE_FILE= ${WRKSRC}/../BSD_LICENSE
|
||||
|
||||
USES= fortran gmake tar:tgz
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
MAKEFILE= makefile
|
||||
ALL_TARGET= default
|
||||
|
||||
WRKSRC_SUBDIR= src
|
||||
|
||||
BUILD_WRKSRC= ${WRKSRC}/../build
|
||||
TMP_STAGEDIR= ${WRKDIR}/tmp_stage
|
||||
MAKE_ENV= INSTALL_DIR=${TMP_STAGEDIR}${PREFIX} FREEBSD_LOCALBASE=${LOCALBASE}
|
||||
|
||||
BINARY_ALIAS= make=${GMAKE}
|
||||
|
||||
OPTIONS_DEFINE= MPI LIBXC
|
||||
OPTIONS_DEFAULT= MPI LIBXC
|
||||
|
||||
MPI_MAKE_ENV= WITH_MPI=1
|
||||
MPI_LIB_DEPENDS= libmpich.so:net/mpich2
|
||||
|
||||
LIBXC_DESC= Use libxc for exchange-correlation functionals for DFT
|
||||
LIBXC_MAKE_ENV= WITH_LIBXC=1
|
||||
LIBXC_LIB_DEPENDS= libxc.so:science/libxc
|
||||
|
||||
post-patch:
|
||||
@${MKDIR} ${BUILD_WRKSRC}
|
||||
@${CAT} ${WRKSRC}/../extra/fortran.mk \
|
||||
| ${SED} '\
|
||||
s|FC_SERIAL=gfortran|&${GCC_DEFAULT}|; \
|
||||
s|LIBXC_ROOT=/usr/local|LIBXC_ROOT=${LOCALBASE}|; \
|
||||
s|FFLAGS= -O2|& -fPIC|' \
|
||||
> ${BUILD_WRKSRC}/fortran.mk
|
||||
|
||||
do-configure:
|
||||
@cd ${BUILD_WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${SH} ../src/config.sh
|
||||
|
||||
do-build:
|
||||
@cd ${BUILD_WRKSRC} && ${MKDIR} ${TMP_STAGEDIR} && ${SETENV} ${MAKE_ENV} ${SH} ../src/build.sh
|
||||
|
||||
do-install:
|
||||
cd ${TMP_STAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/share/mk && ${MV} ${STAGEDIR}${PREFIX}/*.mk ${STAGEDIR}${PREFIX}/share/mk
|
||||
|
||||
.include <bsd.port.mk>
|
3
science/libgridxc/distinfo
Normal file
3
science/libgridxc/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1536009612
|
||||
SHA256 (libgridxc-0.8.0.tgz) = 823002baa3e5e18eddef05b2ea55ff08cf9c311dd655dd7147df26a3f7096390
|
||||
SIZE (libgridxc-0.8.0.tgz) = 222704
|
34
science/libgridxc/files/patch-build.sh
Normal file
34
science/libgridxc/files/patch-build.sh
Normal file
@ -0,0 +1,34 @@
|
||||
--- build.sh.orig 2018-02-01 10:48:08 UTC
|
||||
+++ build.sh
|
||||
@@ -39,14 +39,17 @@
|
||||
# libGridXC installations in the old style.
|
||||
#
|
||||
#
|
||||
-inPREFIX=${PREFIX}
|
||||
+inPREFIX=${INSTALL_DIR}
|
||||
#
|
||||
# Build first without MPI
|
||||
#
|
||||
-echo "==> make WITH_LIBXC=${WITH_LIBXC} WITH_MPI= PREFIX=${inPREFIX}/serial"
|
||||
-sleep 1
|
||||
-make clean
|
||||
-make WITH_LIBXC=${WITH_LIBXC} WITH_MPI= PREFIX=${inPREFIX}/serial
|
||||
+if [ "${WITH_MPI}" = "" ]
|
||||
+then
|
||||
+ echo "==> make WITH_LIBXC=${WITH_LIBXC} WITH_MPI= PREFIX=${inPREFIX}/serial"
|
||||
+ #sleep 1
|
||||
+ make clean
|
||||
+ make WITH_LIBXC=${WITH_LIBXC} WITH_MPI= PREFIX=${inPREFIX}/serial
|
||||
+fi
|
||||
#
|
||||
# Install the top-level gridxc.mk
|
||||
#
|
||||
@@ -63,7 +66,7 @@ fi
|
||||
if [ "${WITH_MPI}" != "" ]
|
||||
then
|
||||
echo "==> make WITH_LIBXC=${WITH_LIBXC} WITH_MPI=1 PREFIX=${inPREFIX}/mpi"
|
||||
- sleep 1
|
||||
+ #sleep 1
|
||||
make clean
|
||||
make WITH_LIBXC=${WITH_LIBXC} WITH_MPI=1 PREFIX=${inPREFIX}/mpi
|
||||
#
|
17
science/libgridxc/files/patch-gridxc.mk.in
Normal file
17
science/libgridxc/files/patch-gridxc.mk.in
Normal file
@ -0,0 +1,17 @@
|
||||
--- gridxc.mk.in.orig 2018-02-01 10:48:08 UTC
|
||||
+++ gridxc.mk.in
|
||||
@@ -22,7 +22,7 @@ ifeq ($(GRIDXC_USES_LIBXC),1)
|
||||
$(error you need to define LIBXC_ROOT in your arch.make)
|
||||
endif
|
||||
#
|
||||
- include $(GRIDXC_ROOT)/libxc.mk
|
||||
+ include $(GRIDXC_ROOT)/share/mk/libxc.mk
|
||||
#
|
||||
else
|
||||
#
|
||||
@@ -31,4 +31,4 @@ else
|
||||
endif
|
||||
#
|
||||
GRIDXC_INCFLAGS= -I $(GRIDXC_ROOT)/include $(LIBXC_INCFLAGS)
|
||||
-GRIDXC_LIBS=$(GRIDXC_ROOT)/lib/libGridXC.a $(LIBXC_LIBS)
|
||||
+GRIDXC_LIBS=$(GRIDXC_ROOT)/lib/libGridXC.so $(LIBXC_LIBS)
|
63
science/libgridxc/files/patch-makefile
Normal file
63
science/libgridxc/files/patch-makefile
Normal file
@ -0,0 +1,63 @@
|
||||
--- makefile.orig 2018-02-01 10:48:08 UTC
|
||||
+++ makefile
|
||||
@@ -93,15 +93,20 @@ else
|
||||
MPI_INTERFACE=
|
||||
endif
|
||||
|
||||
+ifdef WITH_LIBXC
|
||||
+LIBXC=$(FREEBSD_LOCALBASE)/lib/libxc.so
|
||||
+endif
|
||||
+
|
||||
libmpi_f90.a:
|
||||
@(cd MPI_instr ; $(MAKE) \
|
||||
"VPATH=$(VPATH)/MPI_instr" )
|
||||
|
||||
-libGridXC.a: $(MPI_INTERFACE) $(ALL_OBJS)
|
||||
- $(AR) $(ARFLAGS_EXTRA) cru libGridXC.a $(ALL_OBJS)
|
||||
+libGridXC.so: $(MPI_INTERFACE) $(ALL_OBJS)
|
||||
@if [ ! -z "$(MPI_INTERFACE)" ] ; then \
|
||||
- $(AR) $(ARFLAGS_EXTRA) cru libGridXC.a MPI_instr/*.o ; fi
|
||||
- -$(RANLIB) libGridXC.a
|
||||
+ $(CC) -shared -o libGridXC.so -Wl,-soname,libGridXC.so $(ALL_OBJS) MPI_instr/*.o $(FREEBSD_LOCALBASE)/lib/libmpich.so $(LIBXC); \
|
||||
+ else \
|
||||
+ $(CC) -shared -o libGridXC.so -Wl,-soname,libGridXC.so $(ALL_OBJS) $(LIBXC); \
|
||||
+ fi;
|
||||
|
||||
MODULES_TO_INSTALL=gridxc.mod gridxc_config.mod m_atomxc.mod \
|
||||
m_cellxc.mod xcmod.mod m_ldaxc.mod m_ggaxc.mod \
|
||||
@@ -126,23 +131,23 @@ setup_mk_file:
|
||||
endif
|
||||
endif
|
||||
|
||||
-module: setup_mk_file libGridXC.a
|
||||
+module: setup_mk_file libGridXC.so
|
||||
@echo "Prefix: $(PREFIX)"
|
||||
mkdir -p lib
|
||||
mkdir -p include
|
||||
cp -p $(MODULES_TO_INSTALL) include/
|
||||
- cp -p libGridXC.a lib/
|
||||
+ cp -p libGridXC.so lib/
|
||||
@if [ "$(PREFIX)" != "$(MAIN_OBJDIR)" ]; then \
|
||||
- echo "mkdir -p $(GRIDXC_PREFIX)/lib" ; \
|
||||
- mkdir -p $(GRIDXC_PREFIX)/lib ; \
|
||||
- echo "mkdir -p $(GRIDXC_PREFIX)/include" ; \
|
||||
- mkdir -p $(GRIDXC_PREFIX)/include ; \
|
||||
- echo "cp -p $(MODULES_TO_INSTALL) $(GRIDXC_PREFIX)/include/" ; \
|
||||
- cp -p $(MODULES_TO_INSTALL) $(GRIDXC_PREFIX)/include/ ; \
|
||||
- echo "cp -p libGridXC.a $(GRIDXC_PREFIX)/lib" ; \
|
||||
- cp -p libGridXC.a $(GRIDXC_PREFIX)/lib ; \
|
||||
- echo "cp -p gridxc.mk libxc.mk $(GRIDXC_PREFIX)" ; \
|
||||
- cp -p gridxc.mk libxc.mk $(GRIDXC_PREFIX) ; fi
|
||||
+ echo "mkdir -p $(INSTALL_DIR)/lib" ; \
|
||||
+ mkdir -p $(INSTALL_DIR)/lib ; \
|
||||
+ echo "mkdir -p $(INSTALL_DIR)/include" ; \
|
||||
+ mkdir -p $(INSTALL_DIR)/include ; \
|
||||
+ echo "cp -p $(MODULES_TO_INSTALL) $(INSTALL_DIR)/include/" ; \
|
||||
+ cp -p $(MODULES_TO_INSTALL) $(INSTALL_DIR)/include/ ; \
|
||||
+ echo "cp -p libGridXC.so $(INSTALL_DIR)/lib" ; \
|
||||
+ cp -p libGridXC.so $(INSTALL_DIR)/lib ; \
|
||||
+ echo "cp -p gridxc.mk libxc.mk $(INSTALL_DIR)" ; \
|
||||
+ cp -p gridxc.mk libxc.mk $(INSTALL_DIR) ; fi
|
||||
|
||||
clean:
|
||||
rm -f *.o *.*d *.a gridxc.mk
|
33
science/libgridxc/files/patch-top.gridxc.mk.in
Normal file
33
science/libgridxc/files/patch-top.gridxc.mk.in
Normal file
@ -0,0 +1,33 @@
|
||||
--- top.gridxc.mk.in.orig 2018-02-01 10:48:08 UTC
|
||||
+++ top.gridxc.mk.in
|
||||
@@ -13,8 +13,8 @@ GRIDXC_USES_MPI=0
|
||||
#
|
||||
ifeq ($(GRIDXC_USES_MPI),1)
|
||||
$(info GRIDXC includes MPI support)
|
||||
- GRIDXC_MPI_INCFLAGS= -I $(GRIDXC_ROOT)/mpi/include $(LIBXC_INCFLAGS)
|
||||
- GRIDXC_MPI_LIBS=$(GRIDXC_ROOT)/mpi/lib/libGridXC.a $(LIBXC_LIBS)
|
||||
+ GRIDXC_MPI_INCFLAGS= -I $(GRIDXC_ROOT)/include $(LIBXC_INCFLAGS)
|
||||
+ GRIDXC_MPI_LIBS=$(GRIDXC_ROOT)/lib/libGridXC.so $(LIBXC_LIBS)
|
||||
endif
|
||||
#
|
||||
ifeq ($(GRIDXC_USES_LIBXC),1)
|
||||
@@ -24,7 +24,7 @@ ifeq ($(GRIDXC_USES_LIBXC),1)
|
||||
$(error you need to define LIBXC_ROOT in your arch.make)
|
||||
endif
|
||||
#
|
||||
- include $(GRIDXC_ROOT)/libxc.mk
|
||||
+ include $(GRIDXC_ROOT)/share/mk/libxc.mk
|
||||
#
|
||||
else
|
||||
#
|
||||
@@ -32,8 +32,8 @@ else
|
||||
LIBXC_LIBS=
|
||||
endif
|
||||
#
|
||||
-GRIDXC_SERIAL_INCFLAGS= -I $(GRIDXC_ROOT)/serial/include $(LIBXC_INCFLAGS)
|
||||
-GRIDXC_SERIAL_LIBS=$(GRIDXC_ROOT)/serial/lib/libGridXC.a $(LIBXC_LIBS)
|
||||
+GRIDXC_SERIAL_INCFLAGS= -I $(GRIDXC_ROOT)/include $(LIBXC_INCFLAGS)
|
||||
+GRIDXC_SERIAL_LIBS=$(GRIDXC_ROOT)/lib/libGridXC.so $(LIBXC_LIBS)
|
||||
#
|
||||
ifdef WITH_MPI
|
||||
ifneq ($(GRIDXC_USES_MPI),1)
|
7
science/libgridxc/pkg-descr
Normal file
7
science/libgridxc/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
||||
A library to compute the exchange and correlation energy and potential in
|
||||
spherical (i.e. an atom) or periodic systems. It is based on SiestaXC.
|
||||
|
||||
The project is based on the SiestaXC code, and eventually will produce a package
|
||||
to be included in the Electronic Structure Library.
|
||||
|
||||
WWW: https://launchpad.net/libgridxc
|
13
science/libgridxc/pkg-plist
Normal file
13
science/libgridxc/pkg-plist
Normal file
@ -0,0 +1,13 @@
|
||||
include/debugxc.mod
|
||||
include/gridxc.mod
|
||||
include/gridxc_config.mod
|
||||
include/m_atomxc.mod
|
||||
include/m_cellxc.mod
|
||||
include/m_fft_gpfa.mod
|
||||
include/m_ggaxc.mod
|
||||
include/m_ldaxc.mod
|
||||
include/mesh3d.mod
|
||||
include/xcmod.mod
|
||||
lib/libGridXC.so
|
||||
share/mk/gridxc.mk
|
||||
share/mk/libxc.mk
|
Loading…
Reference in New Issue
Block a user