Works for me!
On 4/15/22 22:41, Martin Reindl wrote:
> 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%%
No comments:
Post a Comment