summaryrefslogtreecommitdiffstats
path: root/graphics/brlcad/brlcad.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/brlcad/brlcad.SlackBuild')
-rw-r--r--graphics/brlcad/brlcad.SlackBuild51
1 files changed, 36 insertions, 15 deletions
diff --git a/graphics/brlcad/brlcad.SlackBuild b/graphics/brlcad/brlcad.SlackBuild
index 4cd44015ad..4779562217 100644
--- a/graphics/brlcad/brlcad.SlackBuild
+++ b/graphics/brlcad/brlcad.SlackBuild
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for BRL-CAD
@@ -12,13 +12,14 @@
# Maintained as of version 7.16.6 by Niels Horn <niels.horn@gmail.com>
# Revision date: 2012/09/13
-# Modified by John Vogel <jvogel4@stny.rr.com> for build with cmake
-# ... and again to fix tcl/tk breakage
+cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=brlcad
-VERSION=${VERSION:-7.28.0}
+VERSION=${VERSION:-7.38.2}
+SRCVER=rel-${VERSION//./-}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -28,7 +29,11 @@ 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}
@@ -36,15 +41,23 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+ ENDIAN="LITTLE"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
+ ENDIAN="LITTLE"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+ ENDIAN="LITTLE"
+elif [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ ENDIAN="BIG"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
+ ENDIAN="BIG"
fi
set -e
@@ -52,15 +65,21 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+
+# thanks arch maintainers.
+# fixes build on i586.
+patch -p1 < $CWD/brlcad-skip-gstep.patch
+sed -i 's%#define OPENNURBS_INC_IN_PROGRESS%#define OPENNURBS_INC_IN_PROGRESS\n\n#define ON_'${ENDIAN}'_ENDIAN%' src/other/openNURBS/opennurbs.h
+
mkdir -p build
cd build
@@ -88,13 +107,16 @@ cmake \
-DDATA_DIR=share \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DON_${ENDIAN}_ENDIAN=ON \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" ..
make
-make install DESTDIR=$PKG
+make install/strip DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+find $PKG/opt/$PRGNAM/lib/ -print0 | xargs -0 file | grep -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs chmod 755 2> /dev/null || true
find $PKG/opt/$PRGNAM/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/opt/$PRGNAM/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
@@ -114,9 +136,8 @@ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
cd $PKG/usr/doc/$PRGNAM-$VERSION
- for sub in doc html; do
- ln -s ../../../opt/$PRGNAM/share/$sub
- done
+ln -s ../../../opt/$PRGNAM/share/doc .
+ln -s doc/html .
cd -
mkdir -p $PKG/install
@@ -124,4 +145,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
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