mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
796b497c45
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>
91 lines
2.2 KiB
Bash
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}
|