Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Slackware build script for BRL-CAD
- # Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org
- # Originally written by Nikolai Saika <nicksaika@gmail.com>
- # Released under the WTFPL - http://sam.zoy.org/wtfpl/
- # 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
- PRGNAM=brlcad
- VERSION=${VERSION:-7.26.2}
- BUILD=${BUILD:-1}
- TAG=${TAG:-_SBo}
- if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
- fi
- CWD=$(pwd)
- TMP=${TMP:-/tmp/SBo}
- PKG=$TMP/package-$PRGNAM
- OUTPUT=${OUTPUT:-/tmp}
- if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -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
- rm -rf $PKG
- mkdir -p $TMP $PKG $OUTPUT
- cd $TMP
- rm -rf $PRGNAM-$VERSION
- tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
- cd $PRGNAM-$VERSION
- 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 \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
- # Make the build system happy :/
- touch GLOBAL
- patch -p0 < $CWD/build.patch
- mkdir -p build
- cd build
- # There is a "known issue" according to the guys on #brlcad and we need
- # the cmake define "-DBRLCAD_ENABLE_STRICT=OFF" for now
- cmake \
- -DBRLCAD_FLAGS_OPTIMIZATION=ON \
- -DBRLCAD_ENABLE_COMPILER_WARNINGS=OFF \
- -DBRLCAD_ENABLE_STRICT=OFF \
- -DBRLCAD_FLAGS_DEBUG=OFF \
- -DBRLCAD_BUILD_STATIC_LIBS=OFF \
- -DBRLCAD_FLAGS_ENABLE_RUNTIME_DEBUG=OFF \
- -DBRLCAD_ENABLE_OPENGL=ON \
- -DBRLCAD_BUNDLED_LIBS=BUNDLED \
- -DBRLCAD_FREETYPE=OFF \
- -DBRLCAD_REGEX=OFF \
- -DBRLCAD_ZLIB=OFF \
- -DBRLCAD_PNG=OFF \
- -DBRLCAD_ENABLE_QT=OFF \
- -DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \
- -DMAN_DIR=man \
- -DDATA_DIR=share \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" ..
- make
- make install 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/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
- mkdir -p $PKG/etc/profile.d/
- cat $CWD/profile.d/$PRGNAM.sh > $PKG/etc/profile.d/$PRGNAM.sh
- cat $CWD/profile.d/$PRGNAM.csh > $PKG/etc/profile.d/$PRGNAM.csh
- chmod 0755 $PKG/etc/profile.d/*
- # Copy icon & desktop file to package
- mkdir -p $PKG/usr/share/{applications,pixmaps}
- cat $CWD/${PRGNAM}_mged.desktop > $PKG/usr/share/applications/${PRGNAM}_mged.desktop
- cat $CWD/${PRGNAM}_archer.desktop > $PKG/usr/share/applications/${PRGNAM}_archer.desktop
- cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
- 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
- cd -
- mkdir -p $PKG/install
- 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}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement