diff options
Diffstat (limited to 'graphics/OpenCASCADE/OpenCASCADE.SlackBuild')
-rw-r--r-- | graphics/OpenCASCADE/OpenCASCADE.SlackBuild | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/graphics/OpenCASCADE/OpenCASCADE.SlackBuild b/graphics/OpenCASCADE/OpenCASCADE.SlackBuild new file mode 100644 index 0000000000..1de014fdb6 --- /dev/null +++ b/graphics/OpenCASCADE/OpenCASCADE.SlackBuild @@ -0,0 +1,117 @@ +#!/bin/sh + +# Slackware build script for OpenCASCADE +# With some inspiration from the Arch PKGBUILD script +# revision date: 2010/04/26 + +PRGNAM=OpenCASCADE +VERSION=6.3.0 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +SRCVERSION=_src + +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" +fi + +set -e # Exit on most errors + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf ${PRGNAM}${VERSION} +tar xvf $CWD/${PRGNAM}${SRCVERSION}.tgz +cd ${PRGNAM}${VERSION} +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +# Apply Service Pack 6 from http://www.salome-platform.org/ +patch -p1 < $CWD/opencascade-6.3.0sp6.diff + +# Apply patch from debian to correct the release number of the libraries +patch -p1 < $CWD/lib-release.patch + +# Change to the directory where we'll build from +cd ros + +# Set correct location for libraries +sed \ + -e "s|/lib /usr/lib|/lib${LIBDIRSUFFIX} /usr/lib${LIBDIRSUFFIX}|g" \ + -i aclocal.m4 + +autoreconf -f -i + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --with-tcl=/usr/lib${LIBDIRSUFFIX} \ + --with-tk=/usr/lib${LIBDIRSUFFIX} \ + --disable-debug \ + --enable-production \ + --build=$ARCH-slackware-linux + +# Change the resulting Makefile so that we can use DESTDIR +sed -e "s|\$(prefix)|\$(DESTDIR)\$(prefix)|g" -i Makefile + +make +make install DESTDIR=$PKG + +cd .. + +# Correct path of include files +mkdir -p $PKG/usr/include +mv $PKG/usr/inc $PKG/usr/include/$PRGNAM + +# Correct path of source files +mkdir -p $PKG/usr/src/$PRGNAM +( set -e + cd $PKG/usr + mv config.h src/$PRGNAM/ + cd src + for d in *; do + if [ "$d" != "$PRGNAM" ]; then + mv $d $PRGNAM/ + fi + done +) || exit 1 + +# Remove unnecessary (and confusing) files +rm -r $PKG/usr/{lin,Linux,env_DRAW.sh} + +mkdir -p $PKG/usr/share/$PRGNAM +cp -a data samples $PKG/usr/share/$PRGNAM + +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 \ + README LICENSE ros/README.txt \ + doc/Overview doc/ReferenceDocumentation \ + $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} |