Files
ports/science/siesta/Makefile
T
2026-07-08 09:26:29 -07:00

69 lines
2.5 KiB
Makefile

PORTNAME= siesta
DISTVERSION= 5.4.2
CATEGORIES= science # chemistry
MASTER_SITES= https://gitlab.com/siesta-project/${PORTNAME}/-/releases/v${DISTVERSION}/downloads/
DISTFILES= ${PORTNAME}-${DISTVERSION}.tar.gz
MAINTAINER= yuri@FreeBSD.org
COMMENT= Program to perform efficient electronic structure calculations
WWW= https://siesta-project.org/siesta/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BROKEN_aarch64= lack of IEEE754 support in gcc causes "Cannot find an intrinsic module named 'ieee_arithmetic'", see bug#255890
LIB_DEPENDS= libopenblas.so:math/openblas \
libreadline.so:devel/readline
USES= cmake:noninja,testing fortran:gfortran gmake localbase:ldflags pkgconfig
PLIST_FILES= bin/${PORTNAME}
USE_GITHUB= nodefault
GH_TUPLE= ElectronicStructureLibrary:flook:v0.8.4:flook/External/Lua-Engine/flook \
dftd3:simple-dftd3:f147b265d8b53dcf1666d7b0aba579ec02233fe8:s_dftd3/External/DFTD3/s-dftd3 \
grimme-lab:mctc-lib:v0.3.1:mctc_lib/External/DFTD3/mctc-lib \
grimme-lab:mstore:v0.2.0:mstore/External/DFTD3/mstore \
toml-f:toml-f:v0.2.4:toml_f/External/DFTD3/toml-f \
fortran-lang:test-drive:v0.4.0:test_drive/External/DFTD3/test-drive
USE_GITLAB= nodefault
GL_TUPLE= siesta-project/libraries:libfdf:206a3d6c4628e584743bd5cd483d0e2e66e95b7c:libfdf/External/libfdf \
siesta-project/libraries:xmlf90:963fe5d11487233d43ac59dd0c1340a7b2cc3dc5:xmlf90/External/xmlf90 \
siesta-project/libraries:libpsml:b7049e4de25333fe8bd2dbf9a3495ef0f77ba168:libpsml/External/libpsml \
siesta-project/libraries:libgridxc:022d2a6371eed0db272ac6922289921f62f30c21:libgridxc/External/libgridxc
BINARY_ALIAS= gfortran=gfortran${GCC_DEFAULT} gcc=gcc${GCC_DEFAULT}
CMAKE_ARGS= -DSIESTA_WITH_MPI=OFF \
-DSIESTA_WITH_ELSI=OFF \
-DSIESTA_WITH_WANNIER90=OFF \
-DSIESTA_WITH_NETCDF=OFF \
-DSIESTA_WITH_LIBXC=OFF \
-DSIESTA_WITH_FFTW=OFF \
-Dlibfdf_FIND_METHOD=source \
-Dxmlf90_FIND_METHOD=source \
-Dlibpsml_FIND_METHOD=source \
-Dlibgridxc_FIND_METHOD=source \
-Ds-dftd3_FIND_METHOD=source \
-Dmctc-lib_FIND_METHOD=source \
-Dmstore_FIND_METHOD=source \
-Dtoml-f_FIND_METHOD=source \
-Dtest-drive_FIND_METHOD=source
CMAKE_OFF= SIESTA_TESTS
CMAKE_TESTING_ON= SIESTA_TESTS
.include <bsd.port.pre.mk>
.if ${GCC_DEFAULT} >= 10
# workaround for Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
FFLAGS+= -fallow-argument-mismatch
CMAKE_ARGS+= -DCMAKE_Fortran_FLAGS="${FFLAGS} -O2 -fPIC -ftree-vectorize"
.endif
do-install:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/Src/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.post.mk>