aboutsummaryrefslogtreecommitdiff
path: root/graphics/FreeCAD
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/FreeCAD')
-rw-r--r--graphics/FreeCAD/FreeCAD.SlackBuild84
-rw-r--r--graphics/FreeCAD/FreeCAD.desktop10
-rw-r--r--graphics/FreeCAD/FreeCAD.info10
-rw-r--r--graphics/FreeCAD/README5
-rw-r--r--graphics/FreeCAD/boost_current.patch35
-rw-r--r--graphics/FreeCAD/doinst.sh4
-rw-r--r--graphics/FreeCAD/slack-desc19
7 files changed, 167 insertions, 0 deletions
diff --git a/graphics/FreeCAD/FreeCAD.SlackBuild b/graphics/FreeCAD/FreeCAD.SlackBuild
new file mode 100644
index 000000000000..a9c9ae920529
--- /dev/null
+++ b/graphics/FreeCAD/FreeCAD.SlackBuild
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+# Slackware build script for FreeCAD
+# Maintained by Niels Horn <niels.horn@gmail.com>
+# revision date: 2010/05/05
+
+PRGNAM=FreeCAD
+VERSION=0.9.2646
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCVERSION=${VERSION}.5
+
+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.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# For newer boost versions (as in Slackware -current since 2009/12/17),
+# correct names of libs (w/o -mt)
+#patch -p1 < $CWD/boost_current.patch
+
+./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./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
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Move icon & copy desktop file
+mkdir -p $PKG/usr/share/{applications,pixmaps}
+mv $PKG/opt/$PRGNAM/share/FCIcon.xpm $PKG/usr/share/pixmaps/
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README.Linux ChangeLog.txt \
+ $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
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/graphics/FreeCAD/FreeCAD.desktop b/graphics/FreeCAD/FreeCAD.desktop
new file mode 100644
index 000000000000..34f259a3a5f7
--- /dev/null
+++ b/graphics/FreeCAD/FreeCAD.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=FreeCAD
+Comment=General purpose 3D CAD modeler
+Categories=Graphics;
+Exec=/opt/FreeCAD/bin/FreeCAD
+Icon=FCIcon
+Terminal=false
+StartupNotify=false
diff --git a/graphics/FreeCAD/FreeCAD.info b/graphics/FreeCAD/FreeCAD.info
new file mode 100644
index 000000000000..2cf0b334aec4
--- /dev/null
+++ b/graphics/FreeCAD/FreeCAD.info
@@ -0,0 +1,10 @@
+PRGNAM="FreeCAD"
+VERSION="0.9.2646"
+HOMEPAGE="http://free-cad.sourceforge.net/"
+DOWNLOAD="http://downloads.sourceforge.net/free-cad/FreeCAD-0.9.2646.5.tar.gz"
+MD5SUM="a95d59a957c9d205ed7be1e35ad648e9"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Niels Horn"
+EMAIL="niels.horn@gmail.com"
+APPROVED="rworkman"
diff --git a/graphics/FreeCAD/README b/graphics/FreeCAD/README
new file mode 100644
index 000000000000..db01eb5112b5
--- /dev/null
+++ b/graphics/FreeCAD/README
@@ -0,0 +1,5 @@
+FreeCAD is a general purpose 3D CAD modeler, aimed at mechanical engineering
+and product design, but also fits in a wider range of uses around engineering,
+such as architecture or other engineering specialties.
+
+FreeCAD requires xerces-c, Coin, SoQt, Pivy, and OpenCASCADE.
diff --git a/graphics/FreeCAD/boost_current.patch b/graphics/FreeCAD/boost_current.patch
new file mode 100644
index 000000000000..67f536325422
--- /dev/null
+++ b/graphics/FreeCAD/boost_current.patch
@@ -0,0 +1,35 @@
+--- FreeCAD-0.9.2646/acinclude.m4 2010-01-07 10:14:08.000000000 -0200
++++ FreeCAD-0.9.2646_new/acinclude.m4 2010-04-21 13:48:34.000000000 -0300
+@@ -418,7 +418,7 @@
+ fc_boost_ac_save_libs=$LIBS
+ CPPFLAGS="$CPPFLAGS -I$fc_boost_incs"
+ LDFLAGS="$LDFLAGS -L$fc_boost_libs"
+-LIBS="-lboost_program_options-mt"
++LIBS="-lboost_program_options"
+
+ AC_TRY_LINK([#include <boost/program_options.hpp>],
+ [namespace po = boost::program_options;
+@@ -459,17 +459,17 @@
+ AC_MSG_RESULT($ac_cv_boost_system)
+ rm -f boost.cpp boost
+
+-BOOST_FILESYSTEM_LIB="-lboost_filesystem-mt"
+-BOOST_PROGOPTIONS_LIB="-lboost_program_options-mt"
+-BOOST_SIGNALS_LIB="-lboost_signals-mt"
++BOOST_FILESYSTEM_LIB="-lboost_filesystem"
++BOOST_PROGOPTIONS_LIB="-lboost_program_options"
++BOOST_SIGNALS_LIB="-lboost_signals"
+ BOOST_SYSTEM_LIB=""
+-BOOST_REGEX_LIB="-lboost_regex-mt"
++BOOST_REGEX_LIB="-lboost_regex"
+ if test x"$ac_cv_boost_system" = xyes; then
+- LIBS="-lboost_system-mt"
++ LIBS="-lboost_system"
+ AC_MSG_CHECKING(for boost system library)
+ AC_TRY_LINK([#include <boost/system/error_code.hpp>],
+ [ boost::system::error_code error_code; std::string message(error_code.message()); return 0; ],
+- [BOOST_SYSTEM_LIB="-lboost_system-mt"],
++ [BOOST_SYSTEM_LIB="-lboost_system"],
+ [BOOST_SYSTEM_LIB=""])
+
+ if test "x$BOOST_SYSTEM_LIB" = "x"; then
diff --git a/graphics/FreeCAD/doinst.sh b/graphics/FreeCAD/doinst.sh
new file mode 100644
index 000000000000..4e8ba7071dea
--- /dev/null
+++ b/graphics/FreeCAD/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/graphics/FreeCAD/slack-desc b/graphics/FreeCAD/slack-desc
new file mode 100644
index 000000000000..0b71c6beb2b7
--- /dev/null
+++ b/graphics/FreeCAD/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+FreeCAD: FreeCAD (General purpose 3D CAD modeler)
+FreeCAD:
+FreeCAD: FreeCAD is a general purpose 3D CAD modeler, aimed at mechanical
+FreeCAD: engineering and product design, but also fits in a wider range of
+FreeCAD: uses around engineering, such as architecture or other engineering
+FreeCAD: specialties.
+FreeCAD:
+FreeCAD: Homepage: http://sourceforge.net/projects/free-cad
+FreeCAD:
+FreeCAD:
+FreeCAD: