diff options
-rw-r--r-- | MOVED | 1 | ||||
-rw-r--r-- | science/Makefile | 1 | ||||
-rw-r--r-- | science/pastix/Makefile | 62 | ||||
-rw-r--r-- | science/pastix/distinfo | 3 | ||||
-rw-r--r-- | science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake | 18 | ||||
-rw-r--r-- | science/pastix/pkg-descr | 10 | ||||
-rw-r--r-- | science/pastix/pkg-plist | 154 |
7 files changed, 248 insertions, 1 deletions
@@ -4461,7 +4461,6 @@ www/py-fastapi-users||2025-06-02|Has expired: Depends on expired devel/py-makefu multimedia/ffsubsync||2025-06-02|Has expired: Depends on expired multimedia/py-ffmpeg-python biology/checkm||2025-06-02|Has expired: Depends on expired science/py-DendroPy net/pichi||2025-06-02|Has expired: Depends on expired security/mbedtls2 -science/pastix||2025-06-02|Has expired: Depends on expired lang/julia science/dvc||2025-06-02|Has expired: Depends on expired math/py-grandalf textproc/py-extract-msg||2025-06-02|Has expired: Depends on expiring textproc/py-RTFDE devel/py-pcodedmp||2025-06-02|Has expired: Depends on expired devel/py-oletools diff --git a/science/Makefile b/science/Makefile index 6b99b108ef41..fa2e9d6f9404 100644 --- a/science/Makefile +++ b/science/Makefile @@ -268,6 +268,7 @@ SUBDIR += paje SUBDIR += paraview SUBDIR += parthenon + SUBDIR += pastix SUBDIR += pcmsolver SUBDIR += phonopy SUBDIR += plumed diff --git a/science/pastix/Makefile b/science/pastix/Makefile new file mode 100644 index 000000000000..6bca922f6246 --- /dev/null +++ b/science/pastix/Makefile @@ -0,0 +1,62 @@ +PORTNAME= pastix +PORTVERSION= 6.3.2 +PORTREVISION= 2 +CATEGORIES= science +MASTER_SITES= https://gitlab.inria.fr/solverstack/pastix/uploads/${GL_TAG}/ + +MAINTAINER= thierry@FreeBSD.org +COMMENT= PaStiX: a sparse direct solver +WWW= https://solverstack.gitlabpages.inria.fr/pastix/ + +LICENSE= LGPL3 + +DEPRECATED= Depends on expired lang/julia +EXPIRATION_DATE=2025-06-01 + +BUILD_DEPENDS= bash:shells/bash \ + ${PYNUMPY} +LIB_DEPENDS= libmetis.so:math/metis \ + libjulia.so:lang/julia \ + libscotch.so:cad/scotch \ + libhwloc.so:devel/hwloc2 +RUN_DEPENDS= bash:shells/bash \ + ${PYNUMPY} + +USES= cmake blaslapack:openblas fortran pkgconfig python + +#USE_GITLAB= yes +#GL_SITE= https://gitlab.inria.fr/ +#GL_ACCOUNT= solverstack +#GL_PROJECT= pastix spm:s morse_cmake:m +#GL_TAGNAME= 6e35c2ba179013b058f5d4e1afd4b451953149c6 \ +# 14e36c1586c9ba13f938b1a89f51c080d6551392:s \ +# 31cd2bbb0d76f2b9fd83011d8f079d97540b0ba8:m +#GL_SUBDIR= spm:s cmake_modules/morse_cmake:m +GL_TAG= 32711239db22edb6c291282b581b9e0b # tarball with submodules + +LDFLAGS+= -lm +CMAKE_ARGS= -DBUILD_SHARED_LIBS:BOOL=ON \ + -DPASTIX_ORDERING_METIS:BOOL=ON \ + -DPython_VERSION_MAJOR=${PYTHON_MAJOR_VER} \ + -DPython_VERSION_MINOR=${PYTHON_VER:E} +USE_LDCONFIG= yes +TEST_TARGET= test + +PLIST_SUB= VER=${PORTVERSION} + +OPTIONS_DEFINE= EXAMPLES +EX2FIX= spm/examples spm/wrappers/fortran90 spm/wrappers/python +EX2FIX2= example example/old wrappers/julia wrappers/fortran90 wrappers/python + +pre-configure: +.for ex in ${EX2FIX} + ${REINPLACE_CMD} -e 's|DESTINATION examples|DESTINATION ${EXAMPLESDIR}/${ex:C/examples//:C/example//}|' \ + -e 's|share/doc/spm/examples|${EXAMPLESDIR}/spm|' \ + ${WRKSRC}/${ex}/CMakeLists.txt +.endfor +.for ex in ${EX2FIX2} + ${REINPLACE_CMD} -e 's|share/doc/pastix/examples|share/examples/pastix|' \ + ${WRKSRC}/${ex}/CMakeLists.txt +.endfor + +.include <bsd.port.mk> diff --git a/science/pastix/distinfo b/science/pastix/distinfo new file mode 100644 index 000000000000..57dfb03afa36 --- /dev/null +++ b/science/pastix/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1702559693 +SHA256 (pastix-6.3.2.tar.gz) = c4da8802d1933eecf8c09d7e63c014c81ccf353fe623142e9f5c5fc65ed82ee0 +SIZE (pastix-6.3.2.tar.gz) = 2077150 diff --git a/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake b/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake new file mode 100644 index 000000000000..2a28d0d2cd71 --- /dev/null +++ b/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake @@ -0,0 +1,18 @@ +--- cmake_modules/morse_cmake/modules/find/LibrariesAbsolutePath.cmake.orig 2021-06-14 12:08:21 UTC ++++ cmake_modules/morse_cmake/modules/find/LibrariesAbsolutePath.cmake +@@ -55,6 +55,7 @@ macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) + endif() + endif() + ++ if (NOT ${_library} STREQUAL "-pthread") + # try to find the lib + find_library(_library_path + NAMES ${_library} +@@ -66,6 +67,7 @@ macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) + message(FATAL_ERROR "Dependency of ${lib_list} '${_library}' NOT FOUND") + endif() + unset(_library_path CACHE) ++ endif() + endif() + endforeach() + endmacro() diff --git a/science/pastix/pkg-descr b/science/pastix/pkg-descr new file mode 100644 index 000000000000..5d5929d3418b --- /dev/null +++ b/science/pastix/pkg-descr @@ -0,0 +1,10 @@ +PaStiX (Parallel Sparse matriX package) is a scientific library that provides a +high performance parallel solver for very large sparse linear systems based on +direct methods. Numerical algorithms are implemented in single or double +precision (real or complex) using LLt, LDLt and LU with static pivoting (for non +symmetric matrices having a symmetric pattern). This solver also provides some +low-rank compression methods to reduce the memory footprint and/or the +time-to-solution. + +It is bundled with SPM (SParse Matrix Package). +See also https://gitlab.inria.fr/solverstack/spm diff --git a/science/pastix/pkg-plist b/science/pastix/pkg-plist new file mode 100644 index 000000000000..0b950389dde2 --- /dev/null +++ b/science/pastix/pkg-plist @@ -0,0 +1,154 @@ +include/pastix.h +include/pastix/api.h +include/pastix/cblas.h +include/pastix/config.h +include/pastix/datatypes.h +include/pastix/graph.h +include/pastix/lapacke.h +include/pastix/old_api.h +include/pastix/order.h +include/pastix/pastixf.mod +include/pastix/pastixf_bindings.mod +include/pastix/pastixf_enums.mod +include/pastix/pastixf_interfaces.mod +include/pastix/spmf.mod +include/pastix/spmf_bindings.mod +include/pastix/spmf_enums.mod +include/pastix/spmf_interfaces.mod +include/spm.h +include/spm/c_spm.h +include/spm/config.h +include/spm/const.h +include/spm/d_spm.h +include/spm/datatypes.h +include/spm/mpi.h +include/spm/p_spm.h +include/spm/pastixf.mod +include/spm/pastixf_bindings.mod +include/spm/pastixf_enums.mod +include/spm/pastixf_interfaces.mod +include/spm/s_spm.h +include/spm/spmf.mod +include/spm/spmf_bindings.mod +include/spm/spmf_enums.mod +include/spm/spmf_interfaces.mod +include/spm/z_spm.h +lib/cmake/pastix/PASTIXConfig.cmake +lib/cmake/pastix/PASTIXConfigVersion.cmake +lib/cmake/pastix/cblasTargets.cmake +lib/cmake/pastix/lapackeTargets.cmake +lib/cmake/pastix/mTargets.cmake +lib/cmake/pastix/pastixTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastixTargets.cmake +lib/cmake/pastix/pastix_kernelsTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastix_kernelsTargets.cmake +lib/cmake/pastix/pastixfTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastixfTargets.cmake +lib/cmake/spm/SPMConfig.cmake +lib/cmake/spm/SPMConfigVersion.cmake +lib/cmake/spm/spmTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/spm/spmTargets.cmake +lib/cmake/spm/spmfTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/spm/spmfTargets.cmake +lib/julia/PaStiX/Project.toml +lib/julia/PaStiX/src/PaStiX.jl +lib/julia/PaStiX/src/pastix_enums.jl +lib/julia/spm/Project.toml +lib/julia/spm/examples/spm_driver.jl +lib/julia/spm/examples/spm_user.jl +lib/julia/spm/src/spm.jl +lib/julia/spm/src/spm_enums.jl +lib/libpastix.so +lib/libpastix.so.6.3 +lib/libpastix.so.%%VER%% +lib/libpastix_kernels.so +lib/libpastixf.so +lib/libpastixf.so.6 +lib/libpastixf.so.%%VER%% +lib/libspm.so +lib/libspm.so.1 +lib/libspm.so.1.2.2 +lib/libspmf.so +lib/libspmf.so.1 +lib/libspmf.so.1.2.2 +%%PYTHON_SITELIBDIR%%/spm/__init__.py +%%PYTHON_SITELIBDIR%%/spm/__pastix__.py +%%PYTHON_SITELIBDIR%%/spm/__spm__.py +%%PYTHON_SITELIBDIR%%/spm/enum.py +%%PYTHON_SITELIBDIR%%/spm/pastix.py +%%PYTHON_SITELIBDIR%%/spm/solver.py +%%PYTHON_SITELIBDIR%%/spm/spm.py +libdata/pkgconfig/pastix.pc +libdata/pkgconfig/pastixf.pc +libdata/pkgconfig/spm.pc +libdata/pkgconfig/spmf.pc +share/bash-completion/completions/pastix/pastix +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/analyze +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/analyze.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bench_facto +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bench_facto.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/compress +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/compress.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/flaplacian +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/flaplacian.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fmultidof +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fmultidof.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fmultilap +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fmultilap.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fsimple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fsimple.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fstep-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/fstep-by-step.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/test_mt.in +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fortran/test_seq.in +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/julia/schur.jl +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/julia/simple.jl +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/julia/step-by-step.jl +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multidof +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multidof.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old_simple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old_step-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/simple.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/step-by-step.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/personal +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/personal.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/schur.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/schur_obj.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/simple.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/simple_obj.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/python/step-by-step.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reentrant +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reentrant.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/refinement +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/refinement.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/schur +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/schur.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_solve_and_refine +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_solve_and_refine.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_trans +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_trans.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_drivers +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_drivers.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap1 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap1.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap2 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap2.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof1 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof1.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof2 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof2.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_driver +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_driver.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_rebalance +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_rebalance.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_user +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/fortran/spmf_user.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/python/spm_driver.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/python/spm_scipy.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/step-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/step-by-step.c |