diff --git a/science/Makefile b/science/Makefile --- a/science/Makefile +++ b/science/Makefile @@ -210,6 +210,7 @@ SUBDIR += netcdf-fortran SUBDIR += nifticlib SUBDIR += nlcglib + SUBDIR += numsa SUBDIR += nwchem SUBDIR += nwchem-data SUBDIR += ocean diff --git a/science/numsa/Makefile b/science/numsa/Makefile new file mode 100644 --- /dev/null +++ b/science/numsa/Makefile @@ -0,0 +1,27 @@ +PORTNAME= numsa +DISTVERSION= 0.2.0 +CATEGORIES= science # chemistry +MASTER_SITES= https://github.com/grimme-lab/${PORTNAME}/releases/download/v${DISTVERSION}/ + +MAINTAINER= alven@FreeBSD.org +COMMENT= Solvent accessible surface area calculation +WWW= https://github.com/grimme-lab/numsa/ + +LICENSE= LGPL3+ +LICENSE_FILE= ${WRKSRC}/COPYING.LESSER + +LIB_DEPENDS= libmctc-lib.so:science/mctc-lib +TEST_DEPENDS= test-drive>0:devel/test-drive + +USES= blaslapack cmake fortran tar:xz +USE_LDCONFIG= yes + +CMAKE_ON= BUILD_SHARED_LIBS + +TEST_TARGET= test + +post-patch: # same as https://github.com/grimme-lab/mctc-lib/pull/55 + @${REINPLACE_CMD} -e 's|$${CMAKE_Fortran_COMPILER_ID}-$${CMAKE_Fortran_COMPILER_VERSION}||' \ + ${WRKSRC}/config/CMakeLists.txt + +.include diff --git a/science/numsa/distinfo b/science/numsa/distinfo new file mode 100644 --- /dev/null +++ b/science/numsa/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1762114720 +SHA256 (numsa-0.2.0.tar.xz) = 3e20cefb3747627876cc6c6750bf74692e35b81c059580dd3bd75333f9b7c089 +SIZE (numsa-0.2.0.tar.xz) = 1516116 diff --git a/science/numsa/files/patch-config_CMakeLists.txt b/science/numsa/files/patch-config_CMakeLists.txt new file mode 100644 --- /dev/null +++ b/science/numsa/files/patch-config_CMakeLists.txt @@ -0,0 +1,11 @@ +--- config/CMakeLists.txt.orig 2025-11-02 00:19:55 UTC ++++ config/CMakeLists.txt +@@ -14,7 +14,7 @@ + # You should have received a copy of the GNU Lesser General Public License + # along with numsa. If not, see . + +-if(NOT DEFINED "${PROJECT_NAME}-dependeny-method") ++if(NOT DEFINED "${PROJECT_NAME}-dependency-method") + set( + "${PROJECT_NAME}-dependency-method" + "subproject" "cmake" "pkgconf" "fetch" diff --git a/science/numsa/files/patch-src_numsa_version.f90 b/science/numsa/files/patch-src_numsa_version.f90 new file mode 100644 --- /dev/null +++ b/science/numsa/files/patch-src_numsa_version.f90 @@ -0,0 +1,15 @@ +--- src/numsa/version.f90.orig 2025-03-12 09:02:29 UTC ++++ src/numsa/version.f90 +@@ -24,10 +24,10 @@ module numsa_version + + + !> String representation of the numsa version +- character(len=*), parameter :: numsa_version_string = "0.1.0" ++ character(len=*), parameter :: numsa_version_string = "0.2.0" + + !> Numeric representation of the numsa version +- integer, parameter :: numsa_version_compact(3) = [0, 1, 0] ++ integer, parameter :: numsa_version_compact(3) = [0, 2, 0] + + + contains diff --git a/science/numsa/pkg-descr b/science/numsa/pkg-descr new file mode 100644 --- /dev/null +++ b/science/numsa/pkg-descr @@ -0,0 +1,2 @@ +Numerical surface area integrator for molecular inputs. This project is based on +routines from xtb and dftb+. diff --git a/science/numsa/pkg-plist b/science/numsa/pkg-plist new file mode 100644 --- /dev/null +++ b/science/numsa/pkg-plist @@ -0,0 +1,24 @@ +bin/numsa-exe +include/numsa/numsa.mod +include/numsa/numsa_data.mod +include/numsa/numsa_lebedev.mod +include/numsa/numsa_output.mod +include/numsa/numsa_search.mod +include/numsa/numsa_surface.mod +include/numsa/numsa_version.mod +include/numsa/smd.mod +include/numsa/smd_cds.mod +include/numsa/smd_init.mod +include/numsa/smd_io.mod +include/numsa/smd_output.mod +include/numsa/smd_sigma.mod +lib/cmake/numsa/Findmctc-lib.cmake +lib/cmake/numsa/Findtest-drive.cmake +lib/cmake/numsa/numsa-config-version.cmake +lib/cmake/numsa/numsa-config.cmake +lib/cmake/numsa/numsa-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/numsa/numsa-targets.cmake +lib/cmake/numsa/numsa-utils.cmake +lib/libnumsa.so +lib/libnumsa.so.0 +lib/libnumsa.so.0.2.0