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%%

Reply via email to