diff options
| author | Yuri Victorovich <yuri@FreeBSD.org> | 2026-03-08 19:27:41 +0000 |
|---|---|---|
| committer | Yuri Victorovich <yuri@FreeBSD.org> | 2026-03-08 19:33:20 +0000 |
| commit | db440cb7a19d2e088f7d643656338ca0de8ce66d (patch) | |
| tree | 47f51651b771fbb7e0b0fac9a16c999720fa1020 | |
| parent | cadd6b0051eea3d63dbf25359619d5f7bf411f30 (diff) | |
math/arpack-ng: Flavorize on MPI implementation
Positives are that now *-mpich, *-openmpi, *-nompi
packages would be all available.
Negative is that they conflict with each other.
The files need to have the unique suffix.
All flavors are equal, there is no obvious default
among them, so suffixes were added to all of them
to make it clear which implementation is installed.
PR: 293569
Requested by: Steve Kargl <kargl@FreeBSD.org>
| -rw-r--r-- | cad/calculix-ccx/Makefile | 4 | ||||
| -rw-r--r-- | math/armadillo/Makefile | 3 | ||||
| -rw-r--r-- | math/arpack++/Makefile | 4 | ||||
| -rw-r--r-- | math/arpack-ng/Makefile | 64 | ||||
| -rw-r--r-- | math/arpack-ng/pkg-plist | 5 | ||||
| -rw-r--r-- | math/deal.ii/Makefile | 6 | ||||
| -rw-r--r-- | math/dune-fem/Makefile | 4 | ||||
| -rw-r--r-- | math/dune-pdelab/Makefile | 4 | ||||
| -rw-r--r-- | math/dune-vtk/Makefile | 4 | ||||
| -rw-r--r-- | math/freefem++/Makefile | 4 | ||||
| -rw-r--r-- | math/igraph/Makefile | 3 | ||||
| -rw-r--r-- | math/octave/Makefile | 4 | ||||
| -rw-r--r-- | math/py-igraph/Makefile | 3 | ||||
| -rw-r--r-- | math/scilab/Makefile | 4 | ||||
| -rw-r--r-- | science/dftbplus/Makefile | 4 | ||||
| -rw-r--r-- | science/elmerfem/Makefile | 4 | ||||
| -rw-r--r-- | science/mbdyn/Makefile | 4 | ||||
| -rw-r--r-- | science/octopus/Makefile | 4 |
18 files changed, 91 insertions, 41 deletions
diff --git a/cad/calculix-ccx/Makefile b/cad/calculix-ccx/Makefile index 34987fdb43a0..e0d3c5b5c77a 100644 --- a/cad/calculix-ccx/Makefile +++ b/cad/calculix-ccx/Makefile @@ -1,6 +1,6 @@ PORTNAME= ccx DISTVERSION= 2.22 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= cad MASTER_SITES= http://www.dhondt.de/ PKGNAMEPREFIX= CalculiX- @@ -15,7 +15,7 @@ WWW= http://www.calculix.de/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/gpl-2.0.txt -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libspooles.so:math/spooles USES= blaslapack fortran gmake perl5 tar:bzip2 diff --git a/math/armadillo/Makefile b/math/armadillo/Makefile index 9e396d3ff985..e67003e794c2 100644 --- a/math/armadillo/Makefile +++ b/math/armadillo/Makefile @@ -1,5 +1,6 @@ PORTNAME= armadillo PORTVERSION= 15.2.3 +PORTREVISION= 1 CATEGORIES= math MASTER_SITES= SF/arma @@ -11,7 +12,7 @@ WWW= https://arma.sourceforge.net/ \ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libsuperlu.so:math/superlu USES= blaslapack:openblas cmake:testing compiler:c++11-lang pkgconfig tar:xz diff --git a/math/arpack++/Makefile b/math/arpack++/Makefile index 3c216ceddc83..ee5954aad657 100644 --- a/math/arpack++/Makefile +++ b/math/arpack++/Makefile @@ -1,6 +1,6 @@ PORTNAME= arpack++ PORTVERSION= 2.4.0 -PORTREVISION= 13 +PORTREVISION= 14 CATEGORIES= math MAINTAINER= ports@FreeBSD.org @@ -10,7 +10,7 @@ WWW= https://www.ime.unicamp.br/~chico/arpack++/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libsuperlu.so:math/superlu \ libcholmod.so:math/suitesparse-cholmod \ libumfpack.so:math/suitesparse-umfpack diff --git a/math/arpack-ng/Makefile b/math/arpack-ng/Makefile index 6c6ae2ea1cc0..630623ccba10 100644 --- a/math/arpack-ng/Makefile +++ b/math/arpack-ng/Makefile @@ -1,28 +1,71 @@ PORTNAME= arpack-ng DISTVERSION= 3.9.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Revised Argand library for solving large-scale eigenvalue problems -WWW= https://forge.scilab.org/index.php/p/arpack-ng/ +WWW= https://github.com/opencollab/arpack-ng LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libmpich.so:net/mpich # MPI is incremental: it adds the libparpack.so lib, it is a candidate for a sub-package +FLAVORS= mpich openmpi nompi +FLAVOR?= ${FLAVORS:[1]} +mpich_PKGNAMESUFFIX= -mpich +openmpi_PKGNAMESUFFIX= -openmpi +nompi_PKGNAMESUFFIX= -nompi + +USES= autoreconf eigen:3 fortran libtool localbase pkgconfig +USE_LDCONFIG= yes -USES= autoreconf fortran libtool localbase pkgconfig USE_GITHUB= yes GH_ACCOUNT= opencollab + GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-blas="${BLASLIB}" \ --with-lapack="${LAPACKLIB}" \ - --enable-mpi \ --disable-static \ --enable-icb + +.if ${FLAVOR} == mpich +USES+= mpi:mpich +CONFIGURE_ARGS+= --enable-mpi \ + --with-mpi=${MPI_PREFIX} \ + --with-mpi-lib="${MPI_LIBS}" \ + --with-mpi-include="${MPI_INCLUDES}" # these are not respected, see https://github.com/opencollab/arpack-ng/issues/479 +CFLAGS+= ${MPI_CFLAGS} +FFLAGS+= ${MPI_CFLAGS} +FCFLAGS+= ${MPI_CFLAGS} +LDFLAGS+= ${MPI_LIBS} +PATH= "${MPI_HOME}/bin::/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin" +PLIST_FILES= include/arpack/parpack.h \ + include/arpack/parpack.hpp \ + lib/libparpack.so \ + lib/libparpack.so.2 \ + lib/libparpack.so.2.1.0 +.endif + +.if ${FLAVOR} == openmpi +USES+= mpi:openmpi +CONFIGURE_ARGS+= --enable-mpi \ + --with-mpi=${MPI_PREFIX} \ + --with-mpi-lib="${MPI_LIBS}" \ + --with-mpi-include="${MPI_INCLUDES}" # these are not respected, see https://github.com/opencollab/arpack-ng/issues/479 +CFLAGS+= ${MPI_CFLAGS} +FFLAGS+= ${MPI_CFLAGS} +FCFLAGS+= ${MPI_CFLAGS} +LDFLAGS+= ${MPI_LIBS} +PATH= "${MPI_HOME}/bin::/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin" +PLIST_FILES= include/arpack/parpack.h \ + include/arpack/parpack.hpp \ + lib/libparpack.so \ + lib/libparpack.so.2 \ + lib/libparpack.so.2.1.0 +CONFLICTS_BUILD= mpich +.endif + TEST_TARGET= check -USE_LDCONFIG= yes PIE_UNSAFE= yes @@ -54,4 +97,13 @@ post-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} cd ${WRKSRC}/EXAMPLES && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} +# tests as of 3.9.1: +# TOTAL: 8 +# PASS: 8 +# SKIP: 0 +# XFAIL: 0 +# FAIL: 0 +# XPASS: 0 +# ERROR: 0 + .include <bsd.port.mk> diff --git a/math/arpack-ng/pkg-plist b/math/arpack-ng/pkg-plist index 4e566a75cdbe..6026c6062419 100644 --- a/math/arpack-ng/pkg-plist +++ b/math/arpack-ng/pkg-plist @@ -6,8 +6,6 @@ include/arpack/debug.h include/arpack/debugF90.h include/arpack/debug_c.h include/arpack/debug_c.hpp -include/arpack/parpack.h -include/arpack/parpack.hpp include/arpack/stat.h include/arpack/statF90.h include/arpack/stat_c.h @@ -15,8 +13,5 @@ include/arpack/stat_c.hpp lib/libarpack.so lib/libarpack.so.2 lib/libarpack.so.2.1.0 -lib/libparpack.so -lib/libparpack.so.2 -lib/libparpack.so.2.1.0 libdata/pkgconfig/arpack.pc libdata/pkgconfig/parpack.pc diff --git a/math/deal.ii/Makefile b/math/deal.ii/Makefile index 1023331319ba..0dc9900cd712 100644 --- a/math/deal.ii/Makefile +++ b/math/deal.ii/Makefile @@ -1,6 +1,6 @@ PORTNAME= deal.II DISTVERSION= 9.6.2 -PORTREVISION= 13 +PORTREVISION= 14 CATEGORIES= math MASTER_SITES= https://github.com/dealii/dealii/releases/download/v${DISTVERSION}/ DISTNAME= dealii-${DISTVERSION} @@ -54,8 +54,8 @@ ADOLC_BROKEN= requires the development version: see https://github.com/dealii/d ARPACK_DESC= Compile with Arpack and PArpack (only with MPI, LAPACK) ARPACK_CMAKE_BOOL= DEAL_II_WITH_ARPACK ARPACK_CMAKE_ON= -DARPACK_LINKER_FLAGS:STRING="${LDFLAGS}" -ARPACK_BUILD_DEPENDS= arpack-ng>0:math/arpack-ng -ARPACK_RUN_DEPENDS= arpack-ng>0:math/arpack-ng # itself doesn't link to arpack, but makes depending project link to it +ARPACK_BUILD_DEPENDS= arpack-ng@mpich>0:math/arpack-ng@mpich +ARPACK_RUN_DEPENDS= arpack-ng@mpich>0:math/arpack-ng@mpich # itself doesn't link to arpack, but makes depending project link to it ARPACK_IMPLIES= LAPACK GSL_DESC= Compile with gsl diff --git a/math/dune-fem/Makefile b/math/dune-fem/Makefile index e04b8e5d07c6..01a9bc37ea1b 100644 --- a/math/dune-fem/Makefile +++ b/math/dune-fem/Makefile @@ -1,6 +1,6 @@ PORTNAME= dune-fem DISTVERSION= 2.8.0.5 -PORTREVISION= 29 +PORTREVISION= 30 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -17,7 +17,7 @@ BUILD_DEPENDS= arpack++>0:math/arpack++ \ vc>0:devel/vc \ openmpi4>0:net/openmpi4 LIB_DEPENDS= libpsurface.so:math/psurface \ - libarpack.so:math/arpack-ng \ + libarpack.so:math/arpack-ng@mpich \ libdunealugrid.so:math/dune-alugrid \ libdunecommon.so:math/dune-common \ libdunegeometry.so:math/dune-geometry \ diff --git a/math/dune-pdelab/Makefile b/math/dune-pdelab/Makefile index da798a4dc5fb..df34e5f7fcfe 100644 --- a/math/dune-pdelab/Makefile +++ b/math/dune-pdelab/Makefile @@ -1,7 +1,7 @@ PORTNAME= dune-pdelab DISTVERSIONPREFIX= v DISTVERSION= 2.7.0.20210824 -PORTREVISION= 30 +PORTREVISION= 31 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -21,7 +21,7 @@ DUNE_DEPENDS= dune-common>0:math/dune-common \ BUILD_DEPENDS= ${DUNE_DEPENDS} \ suitesparse>0:math/suitesparse \ openmpi4>0:net/openmpi4 -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libdunealugrid.so:math/dune-alugrid \ libduneuggrid.so:math/dune-uggrid \ libgmp.so:math/gmp \ diff --git a/math/dune-vtk/Makefile b/math/dune-vtk/Makefile index 6c5bc55a6a7a..e2074be02d9e 100644 --- a/math/dune-vtk/Makefile +++ b/math/dune-vtk/Makefile @@ -1,6 +1,6 @@ PORTNAME= dune-vtk DISTVERSION= 2.8.0 -PORTREVISION= 28 +PORTREVISION= 29 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org @@ -16,7 +16,7 @@ BUILD_DEPENDS= ${HPP_DEPENDS} \ dune-functions>0:math/dune-functions \ suitesparse>0:math/suitesparse \ openmpi4>0:net/openmpi4 -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libdunealugrid.so:math/dune-alugrid \ libdunecommon.so:math/dune-common \ libdunegeometry.so:math/dune-geometry \ diff --git a/math/freefem++/Makefile b/math/freefem++/Makefile index 928ae503d7f0..cd7e2f833b2e 100644 --- a/math/freefem++/Makefile +++ b/math/freefem++/Makefile @@ -1,7 +1,7 @@ PORTNAME= freefem++ DISTVERSIONPREFIX= v DISTVERSION= 4.14 -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= math science MAINTAINER= yuri@FreeBSD.org @@ -23,7 +23,7 @@ LIB_DEPENDS= libhdf5.so:science/hdf5 \ libcholmod.so:math/suitesparse-cholmod \ libcolamd.so:math/suitesparse-colamd \ libumfpack.so:math/suitesparse-umfpack \ - libarpack.so:math/arpack-ng \ + libarpack.so:math/arpack-ng@mpich \ libfftw3.so:math/fftw3 \ libgsl.so:math/gsl \ libipopt.so:math/ipopt \ diff --git a/math/igraph/Makefile b/math/igraph/Makefile index e03c1c38a9a3..4c5dc682e4d7 100644 --- a/math/igraph/Makefile +++ b/math/igraph/Makefile @@ -1,5 +1,6 @@ PORTNAME= igraph DISTVERSION= 1.0.1 +PORTREVISION= 1 CATEGORIES= math MAINTAINER= wen@FreeBSD.org @@ -10,7 +11,7 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libcxsparse.so:math/suitesparse-cxsparse \ libglpk.so:math/glpk \ libgmp.so:math/gmp \ diff --git a/math/octave/Makefile b/math/octave/Makefile index 9600faa835ab..18ceab63c834 100644 --- a/math/octave/Makefile +++ b/math/octave/Makefile @@ -1,6 +1,6 @@ PORTNAME= octave PORTVERSION= ${OCTAVE_VERSION} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math java MASTER_SITES= GNU @@ -20,7 +20,7 @@ RUN_DEPENDS= ${LOCALBASE}/bin/makeinfo:print/texinfo \ gnuplot:math/gnuplot \ gsed:textproc/gsed LIB_DEPENDS= libamd.so:math/suitesparse-amd \ - libarpack.so:math/arpack-ng \ + libarpack.so:math/arpack-ng@mpich \ libcamd.so:math/suitesparse-camd \ libccolamd.so:math/suitesparse-ccolamd \ libcholmod.so:math/suitesparse-cholmod \ diff --git a/math/py-igraph/Makefile b/math/py-igraph/Makefile index 59e9aed6bfd8..3428bd41c294 100644 --- a/math/py-igraph/Makefile +++ b/math/py-igraph/Makefile @@ -1,5 +1,6 @@ PORTNAME= igraph DISTVERSION= 0.11.9 +PORTREVISION= 1 CATEGORIES= math python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,7 +14,7 @@ LICENSE= GPLv2 BUILD_DEPENDS= cmake:devel/cmake-core \ ${LOCALBASE}/bin/flex:textproc/flex -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libblas.so:math/blas \ libglpk.so:math/glpk \ libgmp.so:math/gmp \ diff --git a/math/scilab/Makefile b/math/scilab/Makefile index 01af6df8fa9b..de130c37890c 100644 --- a/math/scilab/Makefile +++ b/math/scilab/Makefile @@ -1,6 +1,6 @@ PORTNAME= scilab DISTVERSION= 6.1.1 -PORTREVISION= 26 +PORTREVISION= 27 CATEGORIES= math cad java MASTER_SITES= https://www.scilab.org/download/${DISTVERSION}/ DISTFILES= ${DISTNAME}-src${EXTRACT_SUFX} @@ -17,7 +17,7 @@ LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/COPYING-BSD LIB_DEPENDS= libpcre.so:devel/pcre \ libcurl.so:ftp/curl \ libhdf5.so:science/hdf5 \ - libarpack.so:math/arpack-ng \ + libarpack.so:math/arpack-ng@mpich \ libfftw3.so:math/fftw3 \ libmatio.so:math/matio \ libamd.so:math/suitesparse-amd \ diff --git a/science/dftbplus/Makefile b/science/dftbplus/Makefile index 3a409e022613..f97174af05a4 100644 --- a/science/dftbplus/Makefile +++ b/science/dftbplus/Makefile @@ -1,6 +1,6 @@ PORTNAME= dftbplus DISTVERSION= 24.1 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= science MAINTAINER= yuri@FreeBSD.org @@ -45,7 +45,7 @@ OPTIONS_SUB= yes ARPACK_DESC= Build with ARPACK for large eigenvalue problems ARPACK_CMAKE_BOOL= WITH_ARPACK -ARPACK_LIB_DEPENDS= libarpack.so:math/arpack-ng +ARPACK_LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich ARPACK_PREVENTS= MPIX # ARPACK is only used in a single-core application CHIMES_DESC= Build with ChIMES diff --git a/science/elmerfem/Makefile b/science/elmerfem/Makefile index dd95c15940be..ecc20d9461ec 100644 --- a/science/elmerfem/Makefile +++ b/science/elmerfem/Makefile @@ -1,7 +1,7 @@ PORTNAME= elmerfem DISTVERSIONPREFIX= release- DISTVERSION= 26.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= science MAINTAINER= thierry@FreeBSD.org @@ -13,7 +13,7 @@ LICENSE= GPLv2 LIB_DEPENDS= libhdf5.so:science/hdf5 \ libmetis.so:math/metis \ libnetcdf.so:science/netcdf \ - libparpack.so:math/arpack-ng \ + libparpack.so:math/arpack-ng@mpich \ libcholmod.so:math/suitesparse-cholmod \ libumfpack.so:math/suitesparse-umfpack diff --git a/science/mbdyn/Makefile b/science/mbdyn/Makefile index 4ac211eda4e6..30660544cc89 100644 --- a/science/mbdyn/Makefile +++ b/science/mbdyn/Makefile @@ -1,6 +1,6 @@ PORTNAME= mbdyn DISTVERSION= 1.7.3 -PORTREVISION= 19 +PORTREVISION= 20 CATEGORIES= science MASTER_SITES= https://www.mbdyn.org/userfiles/downloads/ @@ -15,7 +15,7 @@ BROKEN_powerpc= does not compile on powerpc BUILD_DEPENDS= libatomic_ops>0:devel/libatomic_ops LIB_DEPENDS= libltdl.so:devel/libltdl \ - libarpack.so:math/arpack-ng \ + libarpack.so:math/arpack-ng@mpich \ libumfpack.so:math/suitesparse-umfpack USES= compiler:c++11-lib fortran gmake libtool:build localbase diff --git a/science/octopus/Makefile b/science/octopus/Makefile index 22441bbe7d82..d77e6e61612f 100644 --- a/science/octopus/Makefile +++ b/science/octopus/Makefile @@ -1,6 +1,6 @@ PORTNAME= octopus DISTVERSION= 16.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= science # chemistry MASTER_SITES= https://octopus-code.org/download/${DISTVERSION}/ @@ -13,7 +13,7 @@ LICENSE= GPLv2 BROKEN_aarch64= fails to build: Cannot find an intrinsic module named 'ieee_arithmetic' BUILD_DEPENDS= bash:shells/bash -LIB_DEPENDS= libarpack.so:math/arpack-ng \ +LIB_DEPENDS= libarpack.so:math/arpack-ng@mpich \ libblas.so:math/blas \ libfftw3.so:math/fftw3 \ libfontconfig.so:x11-fonts/fontconfig \ |
