diff --git a/science/elk/Makefile b/science/elk/Makefile index 9054a5159fa6..dcca0f23473e 100644 --- a/science/elk/Makefile +++ b/science/elk/Makefile @@ -1,85 +1,86 @@ PORTNAME= elk -DISTVERSION= 11.0.2 -PORTREVISION= 1 +DISTVERSION= 11.2.3 CATEGORIES= science MASTER_SITES= SF/${PORTNAME} PKGNAMESUFFIX= -chemistry DIST_SUBDIR= ${PORTNAME}${PKGNAMESUFFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= All-electron full-potential linearised augmented-planewave code WWW= http://elk.sourceforge.net/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libblas.so:math/blas \ libblis.so:math/blis \ libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ liblapack.so:math/lapack \ libopenblas.so:math/openblas \ libwannier90.so:science/wannier90 \ libxc.so:science/libxc USES= fortran gmake tar:tgz BINARY_ALIAS= make=${GMAKE} +MAKE_ARGS= FREEBSD_FILESDIR=${FILESDIR} + LDFLAGS+= ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so OPTIONS_DEFINE= DOCS EXAMPLES NATIVE OPENMP OPTIONS_RADIO= MPI OPTIONS_RADIO_MPI= MPICH OPENMPI OPTIONS_DEFAULT= OPENMP MPICH PARALLEL_DESC= Enable parallelizations: NATIVE_MAKE_ARGS= FFLAGS="${FFLAGS} -march=native -mtune=native" NATIVE_VARS= FFLAGS="-march=native -mtune=native" OPENMP_VARS= OPENMP_FLAGS=-fopenmp MPICH_USES= mpi:mpich MPICH_MAKE_ARGS= F90=${MPIF90} OPENMPI_USES= mpi:openmpi OPENMPI_MAKE_ARGS= F90=${MPIF90} PORTDOCS= * PORTEXAMPLES= * MAKE_JOBS_UNSAFE= yes PLIST_FILES= bin/${PORTNAME} .include .if ${GCC_DEFAULT} >= 10 # workaround for Type mismatch in argument 'cc' at (1); passed COMPLEX(8) to REAL(8) FCFLAGS+= -fallow-argument-mismatch .endif post-patch: @${SED} 's|%%GMAKE%%|${GMAKE}|; s|%%FC%%|${FC}|; \ s|%%FCFLAGS%%|${FCFLAGS}|; \ s|%%OPENMP_FLAGS%%|${OPENMP_FLAGS}|' \ < ${FILESDIR}/make.inc.in \ > ${WRKSRC}/make.inc do-install: ${INSTALL_PROGRAM} ${WRKSRC}/src/${PORTNAME} ${STAGEDIR}${PREFIX}/bin do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/docs/*.pdf ${STAGEDIR}${DOCSDIR} do-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} do-test: # several tests fail, see https://sourceforge.net/p/elk/discussion/897822/thread/5d7862dd8b/ @cd ${WRKSRC}/tests && ./test.sh # 1 test (test_024) fails, reported to dewhurst@mpi-halle.mpg.de on 2026-06-26 (before was: see https://sourceforge.net/p/elk/discussion/897820/thread/f7b5859624/) .include diff --git a/science/elk/distinfo b/science/elk/distinfo index b6d8b4bac77c..feec2c47e742 100644 --- a/science/elk/distinfo +++ b/science/elk/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1785107220 -SHA256 (elk-chemistry/elk-11.0.2.tgz) = dbb1f94bc14fd3247080ac3e56ee28d5d8f65ef364bdd4bef2e0d63b8d81fa56 -SIZE (elk-chemistry/elk-11.0.2.tgz) = 2939423 +TIMESTAMP = 1790007042 +SHA256 (elk-chemistry/elk-11.2.3.tgz) = 7bd2c32d59ac6b2e6a1d605e6800f45fe0c505e3263e1f90fa2463c7c972421b +SIZE (elk-chemistry/elk-11.2.3.tgz) = 2953381 diff --git a/science/elk/files/libxc_free.c b/science/elk/files/libxc_free.c new file mode 100644 index 000000000000..4aa65b873e9d --- /dev/null +++ b/science/elk/files/libxc_free.c @@ -0,0 +1,5 @@ +#include +void libxc_free(void *ptr) { + free(ptr); +} + diff --git a/science/elk/files/patch-src_Makefile b/science/elk/files/patch-src_Makefile new file mode 100644 index 000000000000..d88989f675d1 --- /dev/null +++ b/science/elk/files/patch-src_Makefile @@ -0,0 +1,15 @@ +-- workaround for libxc removing libxc_free function + +--- src/Makefile.orig 2026-08-27 20:49:45 UTC ++++ src/Makefile +@@ -241,7 +241,9 @@ elk: $(OBJ) + # Targets + #------------------------------------------------------------------------------- + elk: $(OBJ) +- $(F90) $(F90_OPTS) -o $(EXE) $(OBJ) $(F90_LIB) $(LIB_LIBXC) $(LIB_W90) ++ $(CC) -c $(FREEBSD_FILESDIR)/libxc_free.c -o libxc_free.o ++ $(F90) $(F90_OPTS) -o $(EXE) $(OBJ) $(F90_LIB) $(LIB_LIBXC) $(LIB_W90) \ ++ libxc_free.o + + all: elk +