aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2026-03-08 19:27:41 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2026-03-08 19:33:20 +0000
commitdb440cb7a19d2e088f7d643656338ca0de8ce66d (patch)
tree47f51651b771fbb7e0b0fac9a16c999720fa1020
parentcadd6b0051eea3d63dbf25359619d5f7bf411f30 (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/Makefile4
-rw-r--r--math/armadillo/Makefile3
-rw-r--r--math/arpack++/Makefile4
-rw-r--r--math/arpack-ng/Makefile64
-rw-r--r--math/arpack-ng/pkg-plist5
-rw-r--r--math/deal.ii/Makefile6
-rw-r--r--math/dune-fem/Makefile4
-rw-r--r--math/dune-pdelab/Makefile4
-rw-r--r--math/dune-vtk/Makefile4
-rw-r--r--math/freefem++/Makefile4
-rw-r--r--math/igraph/Makefile3
-rw-r--r--math/octave/Makefile4
-rw-r--r--math/py-igraph/Makefile3
-rw-r--r--math/scilab/Makefile4
-rw-r--r--science/dftbplus/Makefile4
-rw-r--r--science/elmerfem/Makefile4
-rw-r--r--science/mbdyn/Makefile4
-rw-r--r--science/octopus/Makefile4
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 \