summaryrefslogtreecommitdiffstats
path: root/academic/arpack-ng
diff options
context:
space:
mode:
Diffstat (limited to 'academic/arpack-ng')
-rw-r--r--academic/arpack-ng/README19
-rw-r--r--academic/arpack-ng/arpack-ng.SlackBuild35
-rw-r--r--academic/arpack-ng/arpack-ng.info8
-rw-r--r--academic/arpack-ng/patches/pkgconfig.diff142
4 files changed, 176 insertions, 28 deletions
diff --git a/academic/arpack-ng/README b/academic/arpack-ng/README
index e24427e956..596f89a447 100644
--- a/academic/arpack-ng/README
+++ b/academic/arpack-ng/README
@@ -4,15 +4,18 @@ large scale eigenvalue problems.
This is a fork of ARPACK that is actively maintained. As such, this
package will conflict with the ARPACK package. Do not install both.
-This requires a BLAS/LAPACK implementation. Choose one of these package sets:
+This requires a BLAS/LAPACK implementation. Choose one of these
+package sets:
* OpenBLAS (includes both a BLAS and a LAPACK implementation)
* atlas (includes both a BLAS and a LAPACK implementation)
* blas, lapack (the Netlib reference implementations)
-If more than one set is installed (assuming there are no packaging conflicts)
-then the auto-detection will use the first implementation from this list that
-it finds. If in doubt, choose the Netlib reference implementations; other
-packages that require a BLAS or LAPACK implementation may not build if they
-are not configured to detect/use alternate implementations.
+If more than one set is installed (assuming there are no packaging
+conflicts) then the auto-detection will use the first implementation
+from this list that it finds. If in doubt, choose the Netlib
+reference implementations; other packages that require a BLAS or
+LAPACK implementation may not build if they are not configured to
+detect/use alternate implementations.
-If the `make check` command fails, try switching to the Netlib reference
-implementations, or comment out that command at your own risk.
+If the `make check` command fails, try switching to the Netlib
+reference implementations, or comment out that command at your own
+risk.
diff --git a/academic/arpack-ng/arpack-ng.SlackBuild b/academic/arpack-ng/arpack-ng.SlackBuild
index b5639de58b..7893fe9968 100644
--- a/academic/arpack-ng/arpack-ng.SlackBuild
+++ b/academic/arpack-ng/arpack-ng.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for arpack-ng
-# Copyright 2014-2019 Kyle Guinn <elyk03@gmail.com>
+# Copyright 2014-2024 Kyle Guinn <elyk03@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +22,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=arpack-ng
-VERSION=${VERSION:-3.7.0}
+VERSION=${VERSION:-3.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
@@ -35,17 +38,18 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="CHANGES COPYING PARPACK_CHANGES README.md TODO"
+DOCS="CHANGES COPYING README.md TODO"
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
+if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
@@ -70,19 +74,18 @@ cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
+patch -p1 < $CWD/patches/pkgconfig.diff
patch -p1 < $CWD/patches/atlas-lib-rename.diff
./bootstrap
./configure \
--prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libdir=\${exec_prefix}/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-shared \
- --disable-static \
+ --mandir=\${prefix}/man \
+ --infodir=\${prefix}/info \
+ --docdir=\${prefix}/doc/$PRGNAM-$VERSION \
--disable-dependency-tracking \
--enable-icb \
--build=$ARCH-slackware-linux \
@@ -105,4 +108,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/academic/arpack-ng/arpack-ng.info b/academic/arpack-ng/arpack-ng.info
index 9af4707aa5..6f6426c4bf 100644
--- a/academic/arpack-ng/arpack-ng.info
+++ b/academic/arpack-ng/arpack-ng.info
@@ -1,10 +1,10 @@
PRGNAM="arpack-ng"
-VERSION="3.7.0"
+VERSION="3.9.1"
HOMEPAGE="https://github.com/opencollab/arpack-ng"
-DOWNLOAD="https://github.com/opencollab/arpack-ng/archive/3.7.0/arpack-ng-3.7.0.tar.gz"
-MD5SUM="6fc6c6bf78dbd4f144595ef0675c8430"
+DOWNLOAD="https://github.com/opencollab/arpack-ng/archive/3.9.1/arpack-ng-3.9.1.tar.gz"
+MD5SUM="8f66485ae9d7e676b42aeead2bf5757e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="blas lapack"
+REQUIRES="lapack"
MAINTAINER="Kyle Guinn"
EMAIL="elyk03@gmail.com"
diff --git a/academic/arpack-ng/patches/pkgconfig.diff b/academic/arpack-ng/patches/pkgconfig.diff
new file mode 100644
index 0000000000..73a00eb23d
--- /dev/null
+++ b/academic/arpack-ng/patches/pkgconfig.diff
@@ -0,0 +1,142 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -807,7 +807,7 @@
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix \${prefix})
+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
+-set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
++set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+ set(PACKAGE_NAME ${PROJECT_NAME})
+ set(PACKAGE_VERSION ${arpack_ng_VERSION})
+ set(PACKAGE_URL "https://github.com/opencollab/arpack-ng/")
+@@ -830,15 +830,15 @@
+ endforeach()
+ string(REPLACE ";" " " PARPACK_PC_LIBS_PRIVATE "${PARPACK_PC_LIBS_PRIVATE}")
+
+-configure_file(pkg-config/arpack.pc.in "${PROJECT_BINARY_DIR}/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY)
+-configure_file(pkg-config/parpack.pc.in "${PROJECT_BINARY_DIR}/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY)
++configure_file(SRC/arpack.pc.in "${PROJECT_BINARY_DIR}/SRC/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY)
++configure_file(PARPACK/SRC/MPI/parpack.pc.in "${PROJECT_BINARY_DIR}/PARPACK/SRC/MPI/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY)
+
+ install(TARGETS arpack
+ EXPORT arpackngTargets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+-install(FILES "${PROJECT_BINARY_DIR}/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc"
++install(FILES "${PROJECT_BINARY_DIR}/SRC/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc"
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ if (MPI)
+@@ -847,7 +847,7 @@
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+- install(FILES "${PROJECT_BINARY_DIR}/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc"
++ install(FILES "${PROJECT_BINARY_DIR}/PARPACK/SRC/MPI/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc"
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif ()
+
+diff --git a/Makefile.am b/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -26,8 +26,3 @@
+
+ EXTRA_DIST = README.md PARPACK_CHANGES CHANGES DOCUMENTS VISUAL_STUDIO \
+ detect_arpack_bug.m4 CMakeLists.txt
+-
+-pkgconfig_DATA = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc parpack@LIBSUFFIX@@ITF64SUFFIX@.pc
+-
+-# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file:
+-DISTCLEANFILES = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc parpack@LIBSUFFIX@@ITF64SUFFIX@.pc
+diff --git a/PARPACK/SRC/MPI/Makefile.am b/PARPACK/SRC/MPI/Makefile.am
+--- a/PARPACK/SRC/MPI/Makefile.am
++++ b/PARPACK/SRC/MPI/Makefile.am
+@@ -46,3 +46,8 @@
+ libparpack@LIBSUFFIX@@ITF64SUFFIX@_la_LIBADD += $(top_builddir)/ICB/libdbgicb.la $(top_builddir)/ICB/libstaicb.la
+ libparpack@LIBSUFFIX@@ITF64SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)
+ endif
++
++pkgconfig_DATA = parpack@LIBSUFFIX@@ITF64SUFFIX@.pc
++
++# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file:
++DISTCLEANFILES = parpack@LIBSUFFIX@@ITF64SUFFIX@.pc
+diff --git a/pkg-config/parpack.pc.in b/PARPACK/SRC/MPI/parpack.pc.in
+rename from pkg-config/parpack.pc.in
+rename to PARPACK/SRC/MPI/parpack.pc.in
+--- a/pkg-config/parpack.pc.in
++++ b/PARPACK/SRC/MPI/parpack.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@/arpack@ITF64SUFFIX@
++includedir=@includedir@
+
+ Name: @PACKAGE_NAME@
+ Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems
+@@ -10,4 +10,4 @@
+ Requires.private: arpack@LIBSUFFIX@@ITF64SUFFIX@
+ Libs: -L${libdir} -lparpack@LIBSUFFIX@@ITF64SUFFIX@
+ Libs.private: @PARPACK_PC_LIBS_PRIVATE@
+-Cflags: -I${includedir}
++Cflags: -I${includedir}/arpack@ITF64SUFFIX@
+diff --git a/SRC/Makefile.am b/SRC/Makefile.am
+--- a/SRC/Makefile.am
++++ b/SRC/Makefile.am
+@@ -33,3 +33,8 @@
+ libarpack@LIBSUFFIX@@ITF64SUFFIX@_la_LIBADD += $(top_builddir)/ICB/libdbgicb.la $(top_builddir)/ICB/libstaicb.la
+ libarpack@LIBSUFFIX@@ITF64SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir)
+ endif
++
++pkgconfig_DATA = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc
++
++# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file:
++DISTCLEANFILES = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc
+diff --git a/pkg-config/arpack.pc.in b/SRC/arpack.pc.in
+rename from pkg-config/arpack.pc.in
+rename to SRC/arpack.pc.in
+--- a/pkg-config/arpack.pc.in
++++ b/SRC/arpack.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@/arpack@ITF64SUFFIX@
++includedir=@includedir@
+
+ Name: @PACKAGE_NAME@
+ Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems
+@@ -9,4 +9,4 @@
+ URL: @PACKAGE_URL@
+ Libs: -L${libdir} -larpack@LIBSUFFIX@@ITF64SUFFIX@
+ Libs.private: @ARPACK_PC_LIBS_PRIVATE@
+-Cflags: -I${includedir}
++Cflags: -I${includedir}/arpack@ITF64SUFFIX@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -347,14 +347,12 @@
+ AC_SUBST([PARPACK_PC_LIBS_PRIVATE], ["$LAPACK_LIBS $BLAS_LIBS $MPI_Fortran_LIBS"])
+
+ AC_CONFIG_FILES([
+- arpack$LIBSUFFIX$ITF64SUFFIX.pc:pkg-config/arpack.pc.in
+- parpack$LIBSUFFIX$ITF64SUFFIX.pc:pkg-config/parpack.pc.in
++ SRC/arpack$LIBSUFFIX$ITF64SUFFIX.pc:SRC/arpack.pc.in
++ PARPACK/SRC/MPI/parpack$LIBSUFFIX$ITF64SUFFIX.pc:PARPACK/SRC/MPI/parpack.pc.in
+ ], [], [LIBSUFFIX="$LIBSUFFIX"; ITF64SUFFIX="$ITF64SUFFIX"])
+
+ dnl We do NOT want arpackng*.cmake files to be created: @MPI@ can not be replaced.
+-AC_CONFIG_FILES([
+- tstAutotoolsInstall.sh:pkg-config/tstAutotoolsInstall.sh.in
+-], [], [abs_top_builddir="$abs_top_builddir"])
++AC_CONFIG_FILES([tstAutotoolsInstall.sh], [chmod +x tstAutotoolsInstall.sh], [abs_top_builddir="$abs_top_builddir"])
+
+ AC_CONFIG_FILES([
+ arpackdef.h
+diff --git a/pkg-config/tstAutotoolsInstall.sh.in b/tstAutotoolsInstall.sh.in
+old mode 100755
+new mode 100644
+rename from pkg-config/tstAutotoolsInstall.sh.in
+rename to tstAutotoolsInstall.sh.in