summaryrefslogtreecommitdiffstats
path: root/graphics/FreeCAD/FreeCAD.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/FreeCAD/FreeCAD.SlackBuild')
-rw-r--r--graphics/FreeCAD/FreeCAD.SlackBuild54
1 files changed, 29 insertions, 25 deletions
diff --git a/graphics/FreeCAD/FreeCAD.SlackBuild b/graphics/FreeCAD/FreeCAD.SlackBuild
index 2efa262ff0..497de0bc8a 100644
--- a/graphics/FreeCAD/FreeCAD.SlackBuild
+++ b/graphics/FreeCAD/FreeCAD.SlackBuild
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for FreeCAD
@@ -24,11 +24,13 @@
#
# Maintained by David Spencer <baildon.research@googlemail.com>
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=FreeCAD
-VERSION=${VERSION:-0.17.13541}
-COMMIT=${COMMIT:-9948ee4f1570df9216862a79705afb367b2c6ffb}
+VERSION=${VERSION:-0.20.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -38,7 +40,14 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+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}
@@ -62,9 +71,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$COMMIT
-tar xvf $CWD/$PRGNAM-$COMMIT.tar.gz
-cd $PRGNAM-$COMMIT
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -72,18 +81,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# SBo's OpenCASCADE 6.9.1 includes were in /opt/OpenCASCADE, but for 7.3.0
-# the includes are in /usr/include/opencascade, so let's accept either :)
-if [ -d /usr/include/opencascade ]; then
- occinc=/usr/include/opencascade
-elif [ -d /opt/OpenCASCADE/inc ]; then
- occinc=/opt/OpenCASCADE/inc
- # However, 6.9.1's libs are in /usr/lib${LIBDIRSUFFIX} just like 7.3.0
- # (see OCC_LIBRARY below)
-else
- echo "OpenCASCADE include directory was not found"
- exit 1
-fi
+sed -i -e '/# include <Standard_TooManyUsers.hxx>/d' src/Mod/Part/App/OCCError.h
mkdir build
cd build
@@ -92,11 +90,17 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/opt/$PRGNAM \
-DDOCDIR=/usr/doc/$PRGNAM-$VERSION \
- -DOCC_INCLUDE_DIR:PATH=$occinc \
+ -DOCC_INCLUDE_DIR:PATH=/usr/include/opencascade \
-DOCC_LIBRARY:PATH=/usr/lib${LIBDIRSUFFIX} \
-DRESOURCEDIR=/opt/$PRGNAM/share/data \
+ -DBUILD_QT5=ON \
-DBUILD_FEM=OFF \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DFREECAD_USE_PYSIDE=ON \
+ -DFREECAD_USE_SHIBOKEN=ON \
+ -DOCCT_CMAKE_FALLBACK=ON \
-DCMAKE_BUILD_TYPE=Release ..
+
make
make install DESTDIR=$PKG
cd ..
@@ -111,13 +115,13 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
# Copy icon, desktop file and mime info
mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps $PKG/usr/share/mime/packages
-cp $PKG/opt/$PRGNAM/data/freecad.xpm $PKG/usr/share/pixmaps/
-cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
-cat $CWD/$PRGNAM.xml > $PKG/usr/share/mime/packages/$PRGNAM.xml
+cp $PKG/opt/$PRGNAM/share/pixmaps/freecad.xpm $PKG/usr/share/pixmaps/
+cp $PKG/opt/$PRGNAM/share/applications/*.desktop $PKG/usr/share/applications/
+cp $PKG/opt/$PRGNAM/share/mime/packages/*.xml $PKG/usr/share/mime/packages/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- README.md ChangeLog.txt \
+ README.md ChangeLog.txt LICENSE \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
@@ -126,4 +130,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