academic/arpack: Added (library for solving eigenvalue problems)

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
Pablo Santamaria 2010-08-15 18:10:44 -04:00 committed by Erik Hanson
parent 953379d374
commit a0fc082d0c
7 changed files with 2023 additions and 0 deletions

8
academic/arpack/README Normal file
View file

@ -0,0 +1,8 @@
arpack (Fortran library for solving large scale eigenvalue problems)
ARPACK is a collection of Fortran77 subroutines designed to solve
large scale eigenvalue problems.
This requires blas and lapack libraries.
arpack is an optional dependency for the octave package.

View file

@ -0,0 +1,45 @@
--- ARPACK/ARmake.inc~ 1996-04-26 21:12:57.000000000 +0200
+++ ARPACK/ARmake.inc 2003-07-19 11:57:10.000000000 +0200
@@ -25,7 +25,7 @@
# | other than your home directory. |
# %--------------------------------------%
#
-home = $(HOME)/ARPACK
+home = $(PWD)/.
#
# %--------------------------------------%
# | The platform identifier to suffix to |
@@ -43,7 +43,7 @@
UTILdir = $(home)/UTIL
SRCdir = $(home)/SRC
#
-DIRS = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir)
+#DIRS = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir)
#
# %-------------------------------------------------------------------%
# | Comment out the previous line and uncomment the following |
@@ -51,13 +51,13 @@
# | NOTE: ARPACK assumes the use of LAPACK version 2 codes. |
# %-------------------------------------------------------------------%
#
-#DIRS = $(UTILdir) $(SRCdir)
+DIRS = $(UTILdir) $(SRCdir)
#
# %---------------------------------------------------%
# | The name of the libraries to be created/linked to |
# %---------------------------------------------------%
#
-ARPACKLIB = $(home)/libarpack_$(PLAT).a
+ARPACKLIB = $(home)/libarpack.a
LAPACKLIB =
BLASLIB =
#
@@ -112,7 +112,7 @@
LN = ln
LNFLAGS = -s
-MAKE = /bin/make
+MAKE = make
RM = rm
RMFLAGS = -f

View file

@ -0,0 +1,11 @@
diff -up ARPACK/UTIL/second.f.etime ARPACK/UTIL/second.f
--- ARPACK/UTIL/second.f.etime 2008-09-24 22:40:53.000000000 +0200
+++ ARPACK/UTIL/second.f 2008-09-24 22:42:03.000000000 +0200
@@ -21,7 +21,6 @@
* ..
* .. External Functions ..
REAL ETIME
- EXTERNAL ETIME
* ..
* .. Executable Statements ..
*

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,101 @@
#!/bin/sh
# Slackware build script for arpack
# Written by Pablo Santamaria (pablosantamaria@gmail.com)
PRGNAM=arpack
VERSION=${VERSION:-2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
MAJOR=$(echo $VERSION | cut -d. -f1)
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf ARPACK
tar xvf $CWD/${PRGNAM}96.tar.gz
tar xvf $CWD/patch.tar.gz
patch -p0 < $CWD/arpack-2.1-redhat.patch
patch -p0 < $CWD/arpack-etime.patch
patch -p0 < $CWD/arpack-second-bug.patch
cd ARPACK
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
mkdir static shared
cd shared
for dir in ../SRC ../UTIL; do
make -f $dir/Makefile VPATH=$dir srcdir=$dir \
FC=gfortran FFLAGS="-std=legacy $SLKCFLAGS -fPIC" \
single double complex complex16
done
gcc -shared -lblas -llapack -Wl,-soname,libarpack.so.$MAJOR -o libarpack.so.$VERSION *.o
cd ..
cd static
for dir in ../SRC ../UTIL; do
make -f $dir/Makefile VPATH=$dir srcdir=$dir \
FC=gfortran FFLAGS="-std=legacy $SLKCFLAGS" \
single double complex complex16
done
ar rv libarpack.a *.o
ranlib libarpack.a
cd ..
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
install -p -m644 static/libarpack.a $PKG/usr/lib${LIBDIRSUFFIX}
install -p -m755 shared/libarpack.so.$VERSION $PKG/usr/lib${LIBDIRSUFFIX}
( cd $PKG/usr/lib${LIBDIRSUFFIX}
ln -s libarpack.so.$VERSION libarpack.so.$MAJOR
ln -s libarpack.so.$MAJOR libarpack.so )
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a DOCUMENTS/* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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}

View file

@ -0,0 +1,10 @@
PRGNAM="arpack"
VERSION="2.1"
HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/"
DOWNLOAD="http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz http://www.caam.rice.edu/software/ARPACK/SRC/patch.tar.gz"
MD5SUM="fffaa970198b285676f4156cebc8626e 14830d758f195f272b8594a493501fa2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Pablo Santamaria"
EMAIL="pablosantamaria@gmail.com"
APPROVED="dsomero"

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
arpack: arpack (Fortran library for solving large scale eigenvalue problems)
arpack:
arpack: ARPACK is a collection of Fortran77 subroutines designed to solve
arpack: large scale eigenvalue problems.
arpack:
arpack:
arpack:
arpack:
arpack:
arpack:
arpack: