slackbuilds_ponce/libraries/blas/blas.SlackBuild
Robby Workman 796b497c45 libraries/blas: Updated for version 20110419.
This is what people are getting anyway when they download the
source tarball, so we may as well bump the VERSION in our script,
regardless of whether it came from the maintainer.  Normally I
wouldn't do this, but I needed blas for something else, which
caused me to notice the problem...

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
2011-06-18 20:16:23 -05:00

91 lines
2.2 KiB
Bash

#!/bin/sh
# Slackware build script for BLAS
# Written by Eugene Suter <easuter@gmail.com>
# Version number is now timestamp on source tarball
# since no official version is given on website
PRGNAM=blas
VERSION=${VERSION:-20110419}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Shared library version
# This should match the versioning of blas
SOVERS=3.2.2
SOMAJOR=3
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) 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
set -e # Exit on most errors
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf BLAS
tar xvf $CWD/$PRGNAM.tgz
cd BLAS
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 {} \;
# Build the object files and the static library
make OPTS="$SLKCFLAGS -std=legacy" all
ranlib $PRGNAM\_LINUX.a
mkdir shared
( cd shared
ar -x ../$PRGNAM\_LINUX.a
gcc -fPIC -lgfortran -shared *.o -Wl,-soname,lib$PRGNAM.so.$SOMAJOR \
-o lib$PRGNAM.so.$SOVERS
)
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
cp ${PRGNAM}_LINUX.a $PKG/usr/lib${LIBDIRSUFFIX}/libblas.a
cp shared/lib$PRGNAM.so.$SOVERS $PKG/usr/lib${LIBDIRSUFFIX}
( cd $PKG/usr/lib${LIBDIRSUFFIX}
chmod 0755 *.so.*
ln -s lib$PRGNAM.so.$SOVERS lib$PRGNAM.so.$SOMAJOR
ln -s lib$PRGNAM.so.$SOMAJOR lib$PRGNAM.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
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}