diff options
Diffstat (limited to 'graphics/FreeCAD/FreeCAD.SlackBuild')
-rw-r--r-- | graphics/FreeCAD/FreeCAD.SlackBuild | 110 |
1 files changed, 46 insertions, 64 deletions
diff --git a/graphics/FreeCAD/FreeCAD.SlackBuild b/graphics/FreeCAD/FreeCAD.SlackBuild index c385b59598..2cfa7a1a0b 100644 --- a/graphics/FreeCAD/FreeCAD.SlackBuild +++ b/graphics/FreeCAD/FreeCAD.SlackBuild @@ -25,7 +25,7 @@ # revision date: 2012/01/04 PRGNAM=FreeCAD -VERSION=${VERSION:-0.12.5284} +VERSION=${VERSION:-0.13.1830} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -63,73 +63,55 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.xz -cd $PRGNAM-$VERSION +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* +cd $SRCNAM-$VERSION chown -R root:root . -chmod -R u+w,go+r-w,a-s . - -# FreeCAD is ready for OpenCASCADE 6.5.{0,1} - patch for 6.5.2 -patch -p1 < $CWD/OpenCASCADE652.patch - -# Fix for gcc-4.7.x -patch -p1 < $CWD/FreeCAD-0.12.5284-gcc47.patch - -./autogen.sh - -# Fix references to old boost_*-mt libs -sed -i "/-lboost/s/-mt\"/\"/g" configure - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS -fpermissive" \ -./configure \ - --prefix=/opt/$PRGNAM \ - --libdir=/opt/$PRGNAM/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --with-occ-lib=/usr/lib${LIBDIRSUFFIX} \ - --with-occ-include=/usr/include/OpenCASCADE \ - --with-qt4-dir=$QT4DIR \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -### This is for future use. FreeCAD is switching to cmake, but is is not -### 100% operational yet. -### These are the options that *should* do it: - -#mkdir build -#cd build -# cmake \ -# -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -# -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -# -DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \ -# -DRESOURCEDIR=/opt/$PRGNAM/share/data \ -# -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -# -DMAN_INSTALL_DIR=/usr/man \ -# -DDOCDIR=/usr/doc/$PRGNAM-$VERSION \ -# -DOCC_INCLUDE_DIR=/usr/include/OpenCASCADE \ -# -DOCC_LIBRARY=/usr/lib${LIBDIRSUFFIX} \ -# -DCMAKE_BUILD_TYPE=Release .. -# -# make V=1 -# make install DESTDIR=$PKG -#cd .. - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ +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 {} \; + +# no downloads allowed during the build +patch -p1 < $CWD/no_coin3d_docs.patch + +# thanks to archlinux for these fixes +# compatibility issues with OCC-6.6 +for i in $( grep -Rl "BRepTools::OuterShell" * ) +do + sed -e "s|BRepTools|BRepClass3d|g" -i "$i" +done + +# these patch contain some code taken from upstream +# thanks to cbuehler +patch -p1 -i $CWD/freecad-0.13.diff + +mkdir build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-cpp" \ + -DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \ + -DRESOURCEDIR=/opt/$PRGNAM/share/data \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -DDOCDIR=/usr/doc/$PRGNAM-$VERSION \ + -DOCC_INCLUDE_DIR=/usr/include/OpenCASCADE \ + -DOCC_LIBRARY=/usr/lib${LIBDIRSUFFIX} \ + -DFREECAD_USE_EXTERNAL_PIVY:BOOL=ON \ + -DCMAKE_BUILD_TYPE=Release .. + + make V=1 + make install DESTDIR=$PKG +cd .. + +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 -# Get man page from debian -mkdir -p $PKG/usr/man/man1 -cat package/debian/freecad.1 > $PKG/usr/man/man1/FreeCAD.1 -gzip -9 $PKG/usr/man/man1/FreeCAD.1 - # Copy icon & desktop file -mkdir -p $PKG/usr/share/{applications,pixmaps} -cp $PKG/opt/$PRGNAM/share/freecad.xpm $PKG/usr/share/pixmaps/ +mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps +cp $PKG/opt/$PRGNAM/data/freecad.xpm $PKG/usr/share/pixmaps/ cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION |