aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-08-27 00:06:37 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-08-27 00:11:44 +0000
commit6b4f2fe991ff2825a4bbaa3a1c3a3607071b7932 (patch)
tree09473958e816dd7b2d51f3edac688b74ca432015
parent2f012323fd9e00b57f2e3d396b9e5b0f7d3cb8bf (diff)
downloadports-6b4f2fe991ff2825a4bbaa3a1c3a3607071b7932.tar.gz
ports-6b4f2fe991ff2825a4bbaa3a1c3a3607071b7932.zip
science/nlcglib: New port: Nonlinear CG methods for wave-function optimization in DFT
-rw-r--r--science/Makefile1
-rw-r--r--science/nlcglib/Makefile37
-rw-r--r--science/nlcglib/distinfo3
-rw-r--r--science/nlcglib/pkg-descr4
-rw-r--r--science/nlcglib/pkg-plist7
5 files changed, 52 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 75361ae656a0..2931e21eec3c 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -192,6 +192,7 @@
SUBDIR += netcdf-cxx
SUBDIR += netcdf-fortran
SUBDIR += nifticlib
+ SUBDIR += nlcglib
SUBDIR += nwchem
SUBDIR += nwchem-data
SUBDIR += octopus
diff --git a/science/nlcglib/Makefile b/science/nlcglib/Makefile
new file mode 100644
index 000000000000..f06b36ebe793
--- /dev/null
+++ b/science/nlcglib/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= nlcglib
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.9-148
+DISTVERSIONSUFFIX= -g9a1bca6
+CATEGORIES= science
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Nonlinear CG methods for wave-function optimization in DFT
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json
+LIB_DEPENDS= libkokkoscore.so:devel/kokkos \
+ libopenblas.so:math/openblas
+TEST_DEPENDS= googletest>0:devel/googletest
+
+USES= cmake:testing pkgconfig
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= simonpintarelli
+
+CMAKE_TESTING_ON= BUILD_TESTS # tests fail to compile, see https://github.com/simonpintarelli/nlcglib/issues/14
+
+OPTIONS_DEFINE= OPENMP
+OPTIONS_SINGLE= MPI
+OPTIONS_SINGLE_MPI= MPICH OPENMPI
+OPTIONS_DEFAULT= MPICH OPENMP
+
+MPICH_USES= mpi:mpich
+
+OPENMPI_USES= mpi:openmpi
+
+OPENMP_CMAKE_BOOL= USE_OPENMP # binaries are still linked with libomp when USE_OPENMP=OFF, see https://github.com/simonpintarelli/nlcglib/issues/13
+
+.include <bsd.port.mk>
diff --git a/science/nlcglib/distinfo b/science/nlcglib/distinfo
new file mode 100644
index 000000000000..3a7ff4e83e3b
--- /dev/null
+++ b/science/nlcglib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1661552959
+SHA256 (simonpintarelli-nlcglib-v0.9-148-g9a1bca6_GH0.tar.gz) = 0d33e0293805d0f8f1848ef6c8b6909e08c6bdab9c3c25039bbf29aa7055d18b
+SIZE (simonpintarelli-nlcglib-v0.9-148-g9a1bca6_GH0.tar.gz) = 66717
diff --git a/science/nlcglib/pkg-descr b/science/nlcglib/pkg-descr
new file mode 100644
index 000000000000..34bcad12d0a3
--- /dev/null
+++ b/science/nlcglib/pkg-descr
@@ -0,0 +1,4 @@
+Nlcglib is a plugin for sirius providing robust wave-function optimization
+to q-e-sirius.
+
+WWW: https://github.com/simonpintarelli/nlcglib
diff --git a/science/nlcglib/pkg-plist b/science/nlcglib/pkg-plist
new file mode 100644
index 000000000000..15ab72f9937e
--- /dev/null
+++ b/science/nlcglib/pkg-plist
@@ -0,0 +1,7 @@
+include/nlcglib/interface.hpp
+include/nlcglib/nlcglib.hpp
+lib/cmake/nlcglib/nlcglib-config.cmake
+lib/cmake/nlcglib/nlcglib-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/nlcglib/nlcglib-targets.cmake
+lib/cmake/nlcglib/nlcglibConfigVersion.cmake
+lib/libnlcglib.so