On Fri, Apr 15, 2022 at 06:14:46PM +0200, Volker Schlecht wrote: > Just give the word - I have both a patch and a new package ready to go. > > On 4/15/22 15:47, Stuart Henderson wrote: > > You can't really @conflict between two ports which are build > > dependencies of other ports. > >
I cleaned up your diff and attached the new arpack-ng port. As an alternative I propose this strategy: - commit new arpack-ng port, dont't hook up yet - more tests with dependencies, iron out possible issues on other archs - switch the other ports to arpack-ng, add quirks, unhook old arpack, hook up arpack-ng - move arpack to attic Is this the way to go? -m Index: arpack-ng/Makefile =================================================================== RCS file: arpack-ng/Makefile diff -N arpack-ng/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ arpack-ng/Makefile 15 Apr 2022 20:38:49 -0000 @@ -0,0 +1,51 @@ +COMMENT = F77 subroutines for solving large scale eigenvalue problems + +GH_ACCOUNT = opencollab +GH_PROJECT = arpack-ng +VERSION = 3.8.0 +GH_TAGNAME = ${VERSION} + +SHARED_LIBS += arpack 2.0 +SHARED_LIBS += parpack 1.0 + +CATEGORIES = math +FLAVORS = mpi +FLAVOR ?= + +HOMEPAGE = https://github.com/opencollab/arpack-ng + +# BSD 3-Clause +PERMIT_PACKAGE = Yes + +MODULES = fortran \ + devel/cmake +BUILD_DEPENDS = devel/ninja + +LIB_DEPENDS = math/lapack \ + math/blas +WANTLIB = lapack blas m + +CONFIGURE_ARGS += -DBUILD_SHARED_LIBS:BOOL=ON \ + -D ICB=ON + +.if ${FLAVOR:Mmpi} +LIB_DEPENDS += devel/openmpi +CONFIGURE_ARGS += -D MPI=ON +WANTLIB += execinfo pciaccess pthread util z +WANTLIB += mpi mpi_mpifh mpi_usempi_ignore_tkr +WANTLIB += mpi_usempif08 open-pal open-rte +.endif + +post-install: +.for i in BAND COMPLEX NONSYM SIMPLE SVD SYM + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/arpack/$i + ${INSTALL_DATA} ${WRKDIST}/EXAMPLES/$i/* \ + ${PREFIX}/share/examples/arpack/$i +.endfor + ${INSTALL_DATA} ${WRKDIST}/EXAMPLES/README \ + ${PREFIX}/share/examples/arpack + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/arpack + ${INSTALL_DATA} ${WRKDIST}/DOCUMENTS/* ${PREFIX}/share/doc/arpack + ${INSTALL_DATA} ${WRKDIST}/COPYING ${PREFIX}/share/doc/arpack + +.include <bsd.port.mk> Index: arpack-ng/distinfo =================================================================== RCS file: arpack-ng/distinfo diff -N arpack-ng/distinfo --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ arpack-ng/distinfo 15 Apr 2022 20:38:49 -0000 @@ -0,0 +1,2 @@ +SHA256 (arpack-ng-3.8.0.tar.gz) = raWus4eIdDgzByOckjW3FqihcMbQlqZiW/1SmETfAD0= +SIZE (arpack-ng-3.8.0.tar.gz) = 1014494 Index: arpack-ng/pkg/DESCR =================================================================== RCS file: arpack-ng/pkg/DESCR diff -N arpack-ng/pkg/DESCR --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ arpack-ng/pkg/DESCR 15 Apr 2022 20:38:49 -0000 @@ -0,0 +1,32 @@ +ARPACK-NG is a collection of Fortran77 subroutines designed to solve large +scale eigenvalue problems. +It is a fork of the Rice University ARPACK, that was created as a joint project +between Debian, Octave and Scilab and is now a community project maintained by +a few volunteers. + +The package is designed to compute a few eigenvalues and corresponding +eigenvectors of a general n by n matrix A. It is most appropriate for +large sparse or structured matrices A where structured means that a +matrix-vector product w <- Av requires order n rather than the usual +order n2 floating point operations. This software is based upon an +algorithmic variant of the Arnoldi process called the Implicitly +Restarted Arnoldi Method (IRAM). When the matrix A is symmetric it +reduces to a variant of the Lanczos process called the Implicitly +Restarted Lanczos Method (IRLM). These variants may be viewed as a +synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR +technique that is suitable for large scale problems. For many standard +problems, a matrix factorization is not required. Only the action of the +matrix on a vector is needed. + +ARPACK software is capable of solving large scale symmetric, +nonsymmetric, and generalized eigenproblems from significant application +areas. The software is designed to compute a few (k) eigenvalues with +user specified features such as those of largest real part or largest +magnitude. Storage requirements are on the order of n*k locations. No +auxiliary storage is required. A set of Schur basis vectors for the +desired k-dimensional eigen-space is computed which is numerically +orthogonal to working precision. Numerically accurate eigenvectors are +available on request. + +Flavors: + mpi - Build with OpenMPI support Index: arpack-ng/pkg/PFRAG.mpi =================================================================== RCS file: arpack-ng/pkg/PFRAG.mpi diff -N arpack-ng/pkg/PFRAG.mpi --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ arpack-ng/pkg/PFRAG.mpi 15 Apr 2022 20:38:49 -0000 @@ -0,0 +1,4 @@ +include/arpack/parpack.h +include/arpack/parpack.hpp +@lib lib/libparpack.so.${LIBparpack_VERSION} +lib/pkgconfig/parpack.pc Index: arpack-ng/pkg/PLIST =================================================================== RCS file: arpack-ng/pkg/PLIST diff -N arpack-ng/pkg/PLIST --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ arpack-ng/pkg/PLIST 15 Apr 2022 20:38:49 -0000 @@ -0,0 +1,126 @@ +include/arpack/ +include/arpack/arpack.h +include/arpack/arpack.hpp +include/arpack/arpackdef.h +include/arpack/arpackicb.h +include/arpack/debug.h +include/arpack/debug_c.h +include/arpack/debug_c.hpp +include/arpack/stat.h +include/arpack/stat_c.h +include/arpack/stat_c.hpp +lib/cmake/ +lib/cmake/arpack-ng/ +lib/cmake/arpack-ng/arpack-ng-config-version.cmake +lib/cmake/arpack-ng/arpack-ng-config.cmake +@lib lib/libarpack.so.${LIBarpack_VERSION} +lib/pkgconfig/arpack.pc +share/doc/arpack/ +share/doc/arpack/COPYING +share/doc/arpack/README +share/doc/arpack/debug.doc +share/doc/arpack/ex-complex.doc +share/doc/arpack/ex-nonsym.doc +share/doc/arpack/ex-sym.doc +share/doc/arpack/stat.doc +share/examples/arpack/ +share/examples/arpack/BAND/ +share/examples/arpack/BAND/Makefile.am +share/examples/arpack/BAND/README +share/examples/arpack/BAND/cnband.f +share/examples/arpack/BAND/cnbdr1.f +share/examples/arpack/BAND/cnbdr2.f +share/examples/arpack/BAND/cnbdr3.f +share/examples/arpack/BAND/cnbdr4.f +share/examples/arpack/BAND/dnband.f +share/examples/arpack/BAND/dnbdr1.f +share/examples/arpack/BAND/dnbdr2.f +share/examples/arpack/BAND/dnbdr3.f +share/examples/arpack/BAND/dnbdr4.f +share/examples/arpack/BAND/dnbdr5.f +share/examples/arpack/BAND/dnbdr6.f +share/examples/arpack/BAND/dsband.f +share/examples/arpack/BAND/dsbdr1.f +share/examples/arpack/BAND/dsbdr2.f +share/examples/arpack/BAND/dsbdr3.f +share/examples/arpack/BAND/dsbdr4.f +share/examples/arpack/BAND/dsbdr5.f +share/examples/arpack/BAND/dsbdr6.f +share/examples/arpack/BAND/snband.f +share/examples/arpack/BAND/snbdr1.f +share/examples/arpack/BAND/snbdr2.f +share/examples/arpack/BAND/snbdr3.f +share/examples/arpack/BAND/snbdr4.f +share/examples/arpack/BAND/snbdr5.f +share/examples/arpack/BAND/snbdr6.f +share/examples/arpack/BAND/ssband.f +share/examples/arpack/BAND/ssbdr1.f +share/examples/arpack/BAND/ssbdr2.f +share/examples/arpack/BAND/ssbdr3.f +share/examples/arpack/BAND/ssbdr4.f +share/examples/arpack/BAND/ssbdr5.f +share/examples/arpack/BAND/ssbdr6.f +share/examples/arpack/BAND/znband.f +share/examples/arpack/BAND/znbdr1.f +share/examples/arpack/BAND/znbdr2.f +share/examples/arpack/BAND/znbdr3.f +share/examples/arpack/BAND/znbdr4.f +share/examples/arpack/COMPLEX/ +share/examples/arpack/COMPLEX/Makefile.am +share/examples/arpack/COMPLEX/README +share/examples/arpack/COMPLEX/cndrv1.f +share/examples/arpack/COMPLEX/cndrv2.f +share/examples/arpack/COMPLEX/cndrv3.f +share/examples/arpack/COMPLEX/cndrv4.f +share/examples/arpack/COMPLEX/zndrv1.f +share/examples/arpack/COMPLEX/zndrv2.f +share/examples/arpack/COMPLEX/zndrv3.f +share/examples/arpack/COMPLEX/zndrv4.f +share/examples/arpack/NONSYM/ +share/examples/arpack/NONSYM/Makefile.am +share/examples/arpack/NONSYM/README +share/examples/arpack/NONSYM/dndrv1.f +share/examples/arpack/NONSYM/dndrv2.f +share/examples/arpack/NONSYM/dndrv3.f +share/examples/arpack/NONSYM/dndrv4.f +share/examples/arpack/NONSYM/dndrv5.f +share/examples/arpack/NONSYM/dndrv6.f +share/examples/arpack/NONSYM/sndrv1.f +share/examples/arpack/NONSYM/sndrv2.f +share/examples/arpack/NONSYM/sndrv3.f +share/examples/arpack/NONSYM/sndrv4.f +share/examples/arpack/NONSYM/sndrv5.f +share/examples/arpack/NONSYM/sndrv6.f +share/examples/arpack/README +share/examples/arpack/SIMPLE/ +share/examples/arpack/SIMPLE/Makefile.am +share/examples/arpack/SIMPLE/README +share/examples/arpack/SIMPLE/cnsimp.f +share/examples/arpack/SIMPLE/debug.h +share/examples/arpack/SIMPLE/dnsimp.f +share/examples/arpack/SIMPLE/dssimp.f +share/examples/arpack/SIMPLE/snsimp.f +share/examples/arpack/SIMPLE/sssimp.f +share/examples/arpack/SIMPLE/znsimp.f +share/examples/arpack/SVD/ +share/examples/arpack/SVD/Makefile.am +share/examples/arpack/SVD/README +share/examples/arpack/SVD/debug.h +share/examples/arpack/SVD/dsvd.f +share/examples/arpack/SVD/ssvd.f +share/examples/arpack/SYM/ +share/examples/arpack/SYM/Makefile.am +share/examples/arpack/SYM/README +share/examples/arpack/SYM/dsdrv1.f +share/examples/arpack/SYM/dsdrv2.f +share/examples/arpack/SYM/dsdrv3.f +share/examples/arpack/SYM/dsdrv4.f +share/examples/arpack/SYM/dsdrv5.f +share/examples/arpack/SYM/dsdrv6.f +share/examples/arpack/SYM/ssdrv1.f +share/examples/arpack/SYM/ssdrv2.f +share/examples/arpack/SYM/ssdrv3.f +share/examples/arpack/SYM/ssdrv4.f +share/examples/arpack/SYM/ssdrv5.f +share/examples/arpack/SYM/ssdrv6.f +%%mpi%%