diff --git a/math/elpa/Makefile b/math/elpa/Makefile index 7af0e6156556..6e4988ca4df4 100644 --- a/math/elpa/Makefile +++ b/math/elpa/Makefile @@ -1,73 +1,77 @@ PORTNAME= elpa -DISTVERSION= 2021.11.001 -PORTREVISION= 5 +DISTVERSION= 2026.02.001 CATEGORIES= math MASTER_SITES= https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${DISTVERSION}/ MAINTAINER= yuri@FreeBSD.org COMMENT= Eigenvalue soLver for Petaflop Applications WWW= https://elpa.mpcdf.mpg.de/ LICENSE= GPLv3 LGPL3 LICENSE_COMB= dual LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING/gpl.txt LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING/lgpl.txt LIB_DEPENDS= libopenblas.so:math/openblas USES= compiler:c11 fortran gmake libtool localbase perl5 shebangfix USE_LDCONFIG= yes SHEBANG_GLOB= *.pl GNU_CONFIGURE= yes GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share CONFIGURE_ARGS= --disable-avx --disable-avx2 --disable-avx512 --disable-static \ --disable-c-tests CFLAGS+= -I${WRKSRC} -I${WRKSRC}/private_modules CFLAGS+= -DFREEBSD_OSVERSION=${OSVERSION} FCFLAGS+= -I${WRKSRC} -I${WRKSRC}/private_modules LDFLAGS+= -lutil -# ugly workaround for missing .mod files: some targets are added before 'all' that force rebuild of missing .mod files -ALL_TARGET= src/general/libelpa_private_la-elpa_utilities.lo \ +# Build the private library first to ensure all .mod files exist before the public library is compiled +ALL_TARGET= src/helpers/libelpa_private_la-mod_precision.lo \ + src/helpers/libelpa_private_la-mod_omp.lo \ src/libelpa_private_la-elpa_generated_fortran_interfaces.lo \ - src/elpa1/libelpa_private_la-elpa1_compute_private.lo \ - src/elpa2/libelpa_private_la-elpa2_compute.lo \ all INSTALL_TARGET= install-strip -BINARY_ALIAS= make=gmake gcc=gcc${GCC_DEFAULT} g++=g++${GCC_DEFAULT} # build fails with clang: recursively calls cc +BINARY_ALIAS= make=gmake gcc=gcc${GCC_DEFAULT} g++=g++${GCC_DEFAULT} cpp=cpp${GCC_DEFAULT} # build fails with clang: recursively calls cc; cpp=GCC because fdep uses cpp for Fortran module tracking FCFLAGS+= -std=legacy -I${LOCALBASE}/include MAKE_JOBS_UNSAFE= yes # part of the workaround for .mod files OPTIONS_DEFINE= OPENMP MPI DOCS OPTIONS_DEFINE_amd64= SSE OPTIONS_DEFAULT_amd64= SSE SSE_CFLAGS= -msse3 OPENMP_CONFIGURE_ENABLE= openmp MPI_CONFIGURE_WITH= mpi MPI_LIB_DEPENDS= libmpich.so:net/mpich \ libscalapack.so:math/scalapack PORTDOCS= * post-patch: # workaround for: https://github.com/marekandreas/elpa/issues/6 @${FIND} ${WRKSRC} -name "*.mk" | ${XARGS} ${REINPLACE_CMD} -e 's|-Werror| |' # patch in the full path name of config-f90.h @${FIND} ${WRKSRC} -name *.F90 -o -name *.c | ${XARGS} ${REINPLACE_CMD} -e 's|#include "config-f90.h"|#include "${WRKSRC}/config-f90.h"|' + # alloca.h is Linux-specific; alloca() is already provided by stdlib.h on FreeBSD + @${FIND} ${WRKSRC} \( -name "*.c" -o -name "*.cpp" -o -name "*.cu" -o -name "*.hip" \) | \ + ${XARGS} ${REINPLACE_CMD} -e 's|#include ||' .include .if ${PORT_OPTIONS:NSSE} CONFIGURE_ARGS+= --disable-sse --disable-sse-assembly .endif post-install-DOCS-on: @cd ${STAGEDIR}${DOCSDIR} && ${RM} *gpl* COPYING LICENSE +post-install-DOCS-off: + @${RM} -r ${STAGEDIR}${DOCSDIR} + .include diff --git a/math/elpa/distinfo b/math/elpa/distinfo index 2ab100f5d7b4..f3d85a1bb106 100644 --- a/math/elpa/distinfo +++ b/math/elpa/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1642194690 -SHA256 (elpa-2021.11.001.tar.gz) = fb361da6c59946661b73e51538d419028f763d7cb9dacf9d8cd5c9cd3fb7802f -SIZE (elpa-2021.11.001.tar.gz) = 1388817 +TIMESTAMP = 1775779185 +SHA256 (elpa-2026.02.001.tar.gz) = a379f27f4dbd27b2ee45017afec656d064301e97150c874649bdfd64957b75ed +SIZE (elpa-2026.02.001.tar.gz) = 2196710 diff --git a/math/elpa/files/patch-configure b/math/elpa/files/patch-configure index d5cc1b605b19..883affd08a4c 100644 --- a/math/elpa/files/patch-configure +++ b/math/elpa/files/patch-configure @@ -1,21 +1,273 @@ ---- configure.orig 2018-08-29 19:42:22 UTC +--- configure.orig 2026-03-04 17:57:40 UTC +++ configure -@@ -23453,15 +23453,15 @@ postdeps_FC=$(echo $postdeps_FC | sed 's +@@ -30219,7 +30219,7 @@ printf %s "checking whether the $compiler linker ($LD) + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no +- link_all_deplibs=unknown ++ link_all_deplibs=no + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= +@@ -30514,7 +30514,7 @@ _LT_EOF + + *-mlibc) + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + ;; + + netbsd* | netbsdelf*-gnu) +@@ -30523,7 +30523,7 @@ _LT_EOF + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + fi + ;; + +@@ -30542,7 +30542,7 @@ _LT_EOF + _LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs=no + fi +@@ -30571,7 +30571,7 @@ _LT_EOF + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs=no + fi +@@ -30589,7 +30589,7 @@ _LT_EOF + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs=no + fi +@@ -31253,7 +31253,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' ++ archive_expsym_cmds='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-version-script,$lib-ver' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else +@@ -32122,7 +32122,7 @@ freebsd* | dragonfly* | midnightbsd*) + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) +- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no +@@ -33862,7 +33862,7 @@ else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + printf "%s\n" "no" >&6; } + else +- if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then ++ if $STRIP -V 2>&1 | $GREP "strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +@@ -33876,7 +33876,7 @@ printf "%s\n" "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + printf "%s\n" "yes" >&6; } + ;; +- freebsd*) ++dragonfly* | freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" +@@ -34120,7 +34120,7 @@ module_expsym_cmds_CXX= + inherit_rpath_CXX=no + module_cmds_CXX= + module_expsym_cmds_CXX= +-link_all_deplibs_CXX=unknown ++link_all_deplibs_CXX=no + old_archive_cmds_CXX=$old_archive_cmds + reload_flag_CXX=$reload_flag + reload_cmds_CXX=$reload_cmds +@@ -34337,7 +34337,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' +@@ -35036,7 +35036,7 @@ fi + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= +@@ -35044,7 +35044,7 @@ fi + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no +@@ -35076,7 +35076,7 @@ fi + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + ;; + esac + +@@ -35087,7 +35087,7 @@ fi + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-version-script $wl$lib-ver' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' +@@ -35121,7 +35121,7 @@ fi + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-version-script $wl$lib-ver' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=yes +@@ -35193,7 +35193,7 @@ fi + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then +- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' ++ archive_expsym_cmds_CXX='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-version-script,$lib-ver -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi +@@ -36749,7 +36749,7 @@ freebsd* | dragonfly* | midnightbsd*) + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) +- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no +@@ -37875,7 +37875,7 @@ module_expsym_cmds_FC= + inherit_rpath_FC=no + module_cmds_FC= + module_expsym_cmds_FC= +-link_all_deplibs_FC=unknown ++link_all_deplibs_FC=no + old_archive_cmds_FC=$old_archive_cmds + reload_flag_FC=$reload_flag + reload_cmds_FC=$reload_cmds +@@ -38775,7 +38775,7 @@ printf %s "checking whether the $compiler linker ($LD) + hardcode_minus_L_FC=no + hardcode_shlibpath_var_FC=unsupported + inherit_rpath_FC=no +- link_all_deplibs_FC=unknown ++ link_all_deplibs_FC=no + module_cmds_FC= + module_expsym_cmds_FC= + old_archive_from_new_cmds_FC= +@@ -39070,7 +39070,7 @@ _LT_EOF + + *-mlibc) + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + ;; + + netbsd* | netbsdelf*-gnu) +@@ -39079,7 +39079,7 @@ _LT_EOF + wlarc= + else + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + fi + ;; + +@@ -39098,7 +39098,7 @@ _LT_EOF + _LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs_FC=no + fi +@@ -39127,7 +39127,7 @@ _LT_EOF + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs_FC=no + fi +@@ -39145,7 +39145,7 @@ _LT_EOF + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +- archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$lib-ver -o $lib' + else + ld_shlibs_FC=no + fi +@@ -39757,7 +39757,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + hardcode_direct_absolute_FC=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' ++ archive_expsym_cmds_FC='echo "{ global:" > $lib-ver~ sed -e "s|$|;|" < $export_symbols >> $lib-ver~ echo "local: *; };" >> $lib-ver~$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-version-script,$lib-ver' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + else +@@ -40454,7 +40454,7 @@ freebsd* | dragonfly* | midnightbsd*) + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) +- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no +@@ -44161,15 +44161,15 @@ if test x"${with_mpi}" = x"yes"; then if test x"${with_mpi}" = x"yes"; then if test x"${enable_openmp}" = x"yes"; then - SUFFIX="_openmp" + SUFFIX="" else SUFFIX="" fi else if test x"${enable_openmp}" = x"yes"; then - SUFFIX="_onenode_openmp" + SUFFIX="" else - SUFFIX="_onenode" + SUFFIX="" fi fi diff --git a/math/elpa/files/patch-fdep_fortran__dependencies.mk b/math/elpa/files/patch-fdep_fortran__dependencies.mk new file mode 100644 index 000000000000..352fab503658 --- /dev/null +++ b/math/elpa/files/patch-fdep_fortran__dependencies.mk @@ -0,0 +1,17 @@ +--- fdep/fortran_dependencies.mk.orig 2026-04-10 00:39:59 UTC ++++ fdep/fortran_dependencies.mk +@@ -64,12 +64,12 @@ $(call modinfo_name,$1,$2,$3,use): $1 $(dir $1)$(am__d + define module_targets + $(eval _$(3)_use_mods += $(call modinfo_name,$1,$2,$3,use)) + $(call modinfo_name,$1,$2,$3,use): $1 $(dir $1)$(am__dirstamp) +- $(call _f90_verbose,F90 USE [$3] $$<)$(FORTRAN_CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $($p_CPPFLAGS) $(CPPFLAGS) -o /dev/stdout $$< | \ ++ $(call _f90_verbose,F90 USE [$3] $$<)$(FORTRAN_CPP) $(DEFS) $(DEFAULT_INCLUDES) -I$(abs_builddir) $(INCLUDES) $($p_CPPFLAGS) $(CPPFLAGS) -o /dev/stdout $$< | \ + grep -i -o '^ *use [^ ,!:]*' | sed 's/^[[:space:]]*//;' | tr '[:upper:]' '[:lower:]' | sort -u > $$@ + + $(eval _$(3)_def_mods += $(call modinfo_name,$1,$2,$3,def)) + $(call modinfo_name,$1,$2,$3,def): $1 $(dir $1)$(am__dirstamp) +- $(call _f90_verbose,F90 MOD [$3] $$<)$(FORTRAN_CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $($p_CPPFLAGS) $(CPPFLAGS) -o /dev/stdout $$< | \ ++ $(call _f90_verbose,F90 MOD [$3] $$<)$(FORTRAN_CPP) $(DEFS) $(DEFAULT_INCLUDES) -I$(abs_builddir) $(INCLUDES) $($p_CPPFLAGS) $(CPPFLAGS) -o /dev/stdout $$< | \ + grep -i -o '^ *module [^!]*' | sed 's/^[[:space:]]*//;' | tr '[:upper:]' '[:lower:]' | grep -v "\\|\" > $$@ || true + + endef diff --git a/math/elpa/files/patch-src_elpa__api.F90 b/math/elpa/files/patch-src_elpa__api.F90 new file mode 100644 index 000000000000..b7f5c868ed37 --- /dev/null +++ b/math/elpa/files/patch-src_elpa__api.F90 @@ -0,0 +1,48 @@ +--- src/elpa_api.F90.orig 2025-02-07 12:00:51 UTC ++++ src/elpa_api.F90 +@@ -1122,7 +1122,7 @@ module elpa_api + !c> // /src/elpa_api.F90 + !c> int elpa_init(int api_version); + function elpa_init(api_version) result(error) bind(C, name="elpa_init") +- use elpa_utilities, only : error_unit ++ use, intrinsic :: iso_fortran_env, only : error_unit + use, intrinsic :: iso_c_binding + integer(kind=c_int), intent(in), value :: api_version + integer(kind=c_int) :: error +@@ -1194,10 +1194,18 @@ module elpa_api + !c_no> #endif + + subroutine elpa_uninit(error) ++#ifdef WITH_NVIDIA_GPU_VERSION + use cuda_functions ++#endif ++#ifdef WITH_AMD_GPU_VERSION + use hip_functions ++#endif ++#ifdef WITH_OPENMP_OFFLOAD_GPU_VERSION + use openmp_offload_functions ++#endif ++#ifdef WITH_SYCL_GPU_VERSION + use sycl_functions ++#endif + !use elpa_gpu, only : gpuDeviceArray, gpublasHandleArray, my_stream + use elpa_omp + implicit none +@@ -1293,7 +1301,7 @@ module elpa_api + !> \param error integer, optional: error code, which can be queried with elpa_strerr() + !> \result string string: the string representation + function elpa_int_value_to_string(name, value, error) result(string) +- use elpa_utilities, only : error_unit ++ use, intrinsic :: iso_fortran_env, only : error_unit + implicit none + character(kind=c_char, len=*), intent(in) :: name + integer(kind=c_int), intent(in) :: value +@@ -1342,7 +1350,7 @@ module elpa_api + !> \result value integer: the integer representation of the string + function elpa_int_string_to_value(name, string, error) result(value) + use elpa_generated_fortran_interfaces +- use elpa_utilities, only : error_unit ++ use, intrinsic :: iso_fortran_env, only : error_unit + implicit none + character(kind=c_char, len=*), intent(in) :: name + character(kind=c_char, len=*), intent(in), target :: string diff --git a/math/elpa/pkg-plist b/math/elpa/pkg-plist index fbcbee06e664..88c72956b598 100644 --- a/math/elpa/pkg-plist +++ b/math/elpa/pkg-plist @@ -1,52 +1,54 @@ bin/elpa2_print_kernels -include/elpa-2021.11.001/elpa/elpa.h -include/elpa-2021.11.001/elpa/elpa_constants.h -include/elpa-2021.11.001/elpa/elpa_generated.h -include/elpa-2021.11.001/elpa/elpa_generated_c_api.h -include/elpa-2021.11.001/elpa/elpa_generic.h -include/elpa-2021.11.001/elpa/elpa_simd_constants.h -include/elpa-2021.11.001/elpa/elpa_version.h -include/elpa-2021.11.001/modules/elpa.mod -include/elpa-2021.11.001/modules/elpa_api.mod -include/elpa-2021.11.001/modules/elpa_constants.mod -include/elpa-2021.11.001/src/helpers/lapack_interfaces.h -include/elpa-2021.11.001/src/helpers/scalapack_interfaces.h +include/elpa-2026.02.001/elpa/elpa.h +include/elpa-2026.02.001/elpa/elpa_configured_options.h +include/elpa-2026.02.001/elpa/elpa_constants.h +include/elpa-2026.02.001/elpa/elpa_explicit_name.h +include/elpa-2026.02.001/elpa/elpa_generated.h +include/elpa-2026.02.001/elpa/elpa_generated_c_api.h +include/elpa-2026.02.001/elpa/elpa_generic.h +include/elpa-2026.02.001/elpa/elpa_simd_constants.h +include/elpa-2026.02.001/elpa/elpa_version.h +include/elpa-2026.02.001/modules/elpa.mod +include/elpa-2026.02.001/modules/elpa_api.mod +include/elpa-2026.02.001/modules/elpa_constants.mod +include/elpa-2026.02.001/src/helpers/lapack_interfaces.h +include/elpa-2026.02.001/src/helpers/scalapack_interfaces.h lib/libelpa.so -lib/libelpa.so.17 -lib/libelpa.so.17.0.0 +lib/libelpa.so.19 +lib/libelpa.so.19.5.1 libdata/pkgconfig/elpa.pc share/man/man1/elpa2_print_kernels.1.gz share/man/man3/elpa_allocate.3.gz share/man/man3/elpa_autotune_deallocate.3.gz share/man/man3/elpa_autotune_load_state.3.gz share/man/man3/elpa_autotune_print_state.3.gz share/man/man3/elpa_autotune_save_state.3.gz share/man/man3/elpa_autotune_set_best.3.gz share/man/man3/elpa_autotune_setup.3.gz share/man/man3/elpa_autotune_step.3.gz share/man/man3/elpa_cholesky.3.gz share/man/man3/elpa_deallocate.3.gz share/man/man3/elpa_eigenvalues.3.gz share/man/man3/elpa_eigenvalues_double.3.gz share/man/man3/elpa_eigenvalues_double_complex.3.gz share/man/man3/elpa_eigenvalues_float.3.gz share/man/man3/elpa_eigenvalues_float_complex.3.gz share/man/man3/elpa_eigenvectors.3.gz share/man/man3/elpa_eigenvectors_double.3.gz share/man/man3/elpa_eigenvectors_double_complex.3.gz share/man/man3/elpa_eigenvectors_float.3.gz share/man/man3/elpa_eigenvectors_float_complex.3.gz share/man/man3/elpa_generalized_eigenvalues.3.gz share/man/man3/elpa_generalized_eigenvectors.3.gz share/man/man3/elpa_hermitian_multiply.3.gz share/man/man3/elpa_init.3.gz share/man/man3/elpa_invert_triangular.3.gz share/man/man3/elpa_load_settings.3.gz share/man/man3/elpa_print_settings.3.gz share/man/man3/elpa_set.3.gz share/man/man3/elpa_setup.3.gz share/man/man3/elpa_skew_eigenvalues.3.gz share/man/man3/elpa_skew_eigenvectors.3.gz share/man/man3/elpa_solve_tridiagonal.3.gz share/man/man3/elpa_store_settings.3.gz share/man/man3/elpa_uninit.3.gz diff --git a/science/abinit/Makefile b/science/abinit/Makefile index 9409e66c23d2..099a63b63abf 100644 --- a/science/abinit/Makefile +++ b/science/abinit/Makefile @@ -1,136 +1,137 @@ PORTNAME= abinit DISTVERSION= 10.6.5 +PORTREVISION= 1 CATEGORIES= science MAINTAINER= yuri@FreeBSD.org COMMENT= Full-featured atomic-scale first-principles simulation software WWW= https://www.abinit.org \ https://github.com/abinit/abinit LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le BUILD_DEPENDS= gm4:devel/m4 \ ${PYTHON_PKGNAMEPREFIX}numpy1>=1.16:math/py-numpy1@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=0:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pandas>0:math/py-pandas@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}graphviz>0:graphics/py-graphviz@${PY_FLAVOR} LIB_DEPENDS= libelpa.so:math/elpa \ libsz.so:science/libaec \ libxc.so:science/libxc \ libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ libhdf5.so:science/hdf5 \ libnetcdf.so:science/netcdf \ libxmlf90.so:textproc/xmlf90 \ libwannier.so:science/wannier90 \ libnetcdff.so:science/netcdf-fortran RUN_DEPENDS= atompaw:science/atompaw TEST_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}numpy1>=1.16:math/py-numpy1@${PY_FLAVOR} \ libyaml>0:textproc/libyaml USES= autoreconf:build blaslapack:netlib fortran gmake gnome localbase:ldflags \ python shebangfix USE_GITHUB= yes USE_GNOME= libxml2 SHEBANG_FILES= config/scripts/* doc/tutorial/paral_bandpw_assets/abinit.sub.* SHEBANG_GLOB= *.py *.sh GNU_CONFIGURE= yes CONFIGURE_ENV= H5CC="${LOCALBASE}/bin/h5cc" \ HDF5_CFLAGS="-I${LOCALBASE}/include" \ HDF5_LDFLAGS="-L${LOCALBASE}/lib -lhdf5" \ LINALG_FCFLAGS="-I${LOCALBASE}/include/elpa-2019.05.002/modules" \ LINALG_LIBS="${BLASLIB} ${LAPACKLIB} -lelpa" \ NETCDF_FORTRAN_FCFLAGS=-I${LOCALBASE}/include \ XMLF90_FCFLAGS=-I${LOCALBASE}/include/xmlf90 \ WANNIER90_LIBS="${BLASLIB} ${LAPACKLIB} -lwannier" CONFIGURE_ARGS= --with-fft --with-libxc --with-libxml2 --with-netcdf \ --with-netcdf-fortran --with-wannier90 --with-xmlf90 FCFLAGS+= -ffree-line-length-none TEST_TARGET= tests_abirules tests_buildsys # Many tests print RuntimeError, https://github.com/abinit/abinit/issues/64 TEST_WRKSRC= ${WRKSRC}/abichecks PORTDOCS= * BINARY_ALIAS= git=false \ gfortran=gfortran${GCC_DEFAULT} # for tests OPTIONS_DEFINE= DOCS OPENMP OPTIONS_DEFAULT= MPICH OPTIONS_RADIO= MPIX OPTIONS_RADIO_MPIX= NOMPI MPICH OPENMPI OPENMP_CONFIGURE_ENABLE= openmp OPENMP_LDFLAGS= -lomp MIX_DESC= MPI options NOMPI_DESC= Do not use MPI NOMPI_CONFIGURE_ON= CC_LDFLAGS="${LDFLAGS}" CXX_LDFLAGS="${LDFLAGS}" \ FC_LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}" OPENMPI_USES= mpi:openmpi OPENMPI_CONFIGURE_ON= mpi=yes OPENMPI_VARS= FCFLAGS+="`pkg-config --cflags ompi-fort`" \ CFLAGS+="${MPI_CFLAGS}" \ LDFLAGS+="${MPI_LDFLAGS}" OPENMPI_CONFIGURE_ENV= ${MPIX_CONFIGURE_ENV} \ MPI_FCFLAGS="`pkg-config --cflags ompi-fort`" MPICH_USES= mpi:mpich MPICH_CONFIGURE_ON= mpi=yes MPICH_VARS= FFLAGS+=-I${LOCALBASE}/include FCFLAGS+=-I${LOCALBASE}/include \ CONFIGURE_ENV+=MPI_LIBS="`pkg-config --libs mpich` -lmpifort" \ CONFIGURE_ENV+MPI_LDFLAGS="`pkg-config --libs mpich` -lmpifort" MPICH_CONFIGURE_ENV= ${MPIX_CONFIGURE_ENV} MPIX_CONFIGURE_ENV= CC_LDFLAGS="${MPI_LIBS} ${LDFLAGS}" \ CXX_LDFLAGS="${MPI_LIBS} ${LDFLAGS}" \ FC_LDFLAGS="${MPI_LIBS} ${LDFLAGS}" \ CFLAGS="${MPI_CFLAGS} ${CFLAGS} ${CFLAGS_F2018}" \ MPI_CPPFLAGS="${MPI_CFLAGS}" \ MPI_LIBS="${MPI_LIBS}" \ MPI_LDFLAGS="${MPI_LIBS}" # When OpenMPI is enabled, put its related variables 1st to avoid conflicts with MPICH .if defined(WITH_LEVMAR) # --with-levmar seems deprecated LIB_DEPENDS+= liblevmar.so:math/levmar CONFIGURE_ENV+= LEVMAR_LIBS="-llevmar ${BLASLIB} ${LAPACKLIB}" CONFIGURE_ARGS+= --with-levmar .endif .include .if ${GCC_DEFAULT} >= 10 FCFLAGS+= -fallow-argument-mismatch # see https://github.com/abinit/abinit/issues/41 .endif pre-configure: # version lines below are workaround for https://github.com/abinit/abinit/issues/75 @cd ${WRKSRC} && \ ${ECHO} ${PORTVERSION} > .version && \ ${ECHO} ${PORTVERSION} > .tarball-version && \ ./autogen.sh post-install-DOCS-on: ${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \ ${WRKSRC}/doc/tutorial/paral_moldyn_assets/diag_moldyn.py ${RM} ${WRKSRC}/doc/tutorial/paral_moldyn_assets/diag_moldyn.py.bak @${MKDIR} ${STAGEDIR}${DOCSDIR} ${CP} -R ${WRKSRC}/doc/tutorial ${STAGEDIR}${DOCSDIR} pre-test: ${TOUCH} ${TEST_WRKSRC}/make.log test-long: # run all examples from tutorial/Input @cd ${WRKSRC}/tests/tutorial/Input && \ for abi in `${LS} *.abi`; do \ ${ECHO} "===> Running example $$abi" && \ ${SETENV} PATH=${STAGEDIR}${PREFIX}/bin:${PATH} ABI_PSPDIR=${WRKSRC}/tests/Psps_for_tests abinit $$abi; \ done # fftw3 not enabled because libfftw3_mpi is required but not packaged .include diff --git a/science/fleur/Makefile b/science/fleur/Makefile index f1979c90b1e5..f2ae9e7a1853 100644 --- a/science/fleur/Makefile +++ b/science/fleur/Makefile @@ -1,87 +1,87 @@ PORTNAME= fleur DISTVERSION= 7.2 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= science # chemistry MAINTAINER= yuri@FreeBSD.org COMMENT= FLAPW code for atomic computations in quantum chemistry and physics WWW= https://www.flapw.de/master/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_aarch64= Fatal Error: Cannot find an intrinsic module named 'ieee_arithmetic' at (1) LIB_DEPENDS= libfftw3.so:math/fftw3 \ libhdf5.so:science/hdf5 \ liblapack.so:math/lapack \ libopenblas.so:math/openblas TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \ USES= cmake:noninja fortran gnome localbase:ldflags python:test tar:tgz USE_GNOME= libxml2 USE_GITLAB= yes GL_SITE= https://iffgit.fz-juelich.de GL_TAGNAME= 447eed3b7ec3de5fcdfbd232cd1eda4caefb51d3 FFLAGS= -I${LOCALBASE}/include LDFLAGS+= -llapack -lopenblas -lxml2 # to fix missing symbols, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/670 OPTIONS_DEFINE= HDF5 KPLIB MPI SCALAPACK ELPA LIBXC WANNIER OPTIONS_DEFAULT= MPI SCALAPACK ELPA WANNIER # HDF5 KPLIB LIBXC HDF5_CMAKE_BOOL= CLI_FLEUR_USE_HDF5 HDF5_CMAKE_ON= -DHDF5_INCLUDE_DIRS=${LOCALBASE}/include HDF5_LIB_DEPENDS= libhdf5.so:science/hdf5 HDF5_BROKEN= Missing hdf5.mod in hdf5 # hdf5 doesn't include Fortran binding KPLIB_DESC= Use kpLib library #KPLIB_CMAKE_BOOL= CLI_FLEUR_USE_KPLIB KPLIB_DEPENDS= libkplib.so:science/kplib KPLIB_BROKEN= Fails to find the pre-installed libkplib.so library, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/691 MPI_CMAKE_BOOL= CLI_FLEUR_USE_MPI MPI_LDFLAGS= -lmpich -lmpifort MPI_LIB_DEPENDS= libmpich.so:net/mpich MPI_VARS= SUFFIX=_MPI SCALAPACK_DESC= Use the ScaLAPACK Scalable LAPACK library SCALAPACK_CMAKE_BOOL= FLEUR_USE_SCALAPACK # no such variable, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/692, it works only through LDFLAGS set below SCALAPACK_VARS= FFLAGS+=-fallow-argument-mismatch SCALAPACK_LDFLAGS= -lscalapack SCALAPACK_LIB_DEPENDS= libscalapack.so:math/scalapack SCALAPACK_IMPLIES= MPI ELPA_DESC= Use libelpa, Eigenvalue SoLver for Petaflop Applications ELPA_CMAKE_BOOL= FLEUR_USE_ELPA # no such variable, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/689, it works only through FFLAGS set below ELPA_VARS= FFLAGS+=-I${LOCALBASE}/include/elpa-2021.11.001/modules ELPA_LDFLAGS= -lelpa ELPA_LIB_DEPENDS= libelpa.so:math/elpa LIBXC_DESC= Use libxc library LIBXC_CMAKE_BOOL= CLI_FLEUR_USE_LIBXC LIBXC_LIB_DEPENDS= libxc.so:science/libxc LIBXC_BROKEN= Silently links with libxc when CLI_FLEUR_USE_LIBXC=OFF, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/690 WANNIER_DESC= Use Wannier library WANNIER_CMAKE_BOOL= CLI_FLEUR_USE_WANNIER WANNIER_LIB_DEPENDS= libwannier.so:science/wannier90 EXECUTABLES= bin/fleur${SUFFIX} \ bin/inpgen PLIST_FILES= ${EXECUTABLES} CONFLICTS_BUILD= libxc # see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/690 post-install: # strip @cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} ${EXECUTABLES} do-test: # now: some tests fail or freeze, possibly because of missing hdf5 and kplib dependencies # was: 9 testcases are known to fail, see https://iffgit.fz-juelich.de/fleur/fleur/-/issues/671 @cd ${WRKSRC}/testing && pytest tests --build_dir=${TEST_WRKSRC} # tests fail to run: INTERNALERROR> pluggy._manager.PluginValidationError: unknown hook 'pytest_html_report_title' in plugin .include