diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/FreeCAD/FreeCAD.SlackBuild | 48 | ||||
-rw-r--r-- | graphics/FreeCAD/FreeCAD.desktop | 2 | ||||
-rw-r--r-- | graphics/FreeCAD/FreeCAD.info | 8 | ||||
-rw-r--r-- | graphics/FreeCAD/OpenCASCADE65.patch | 49 | ||||
-rw-r--r-- | graphics/FreeCAD/README | 6 | ||||
-rw-r--r-- | graphics/FreeCAD/boost_current.patch | 35 |
6 files changed, 90 insertions, 58 deletions
diff --git a/graphics/FreeCAD/FreeCAD.SlackBuild b/graphics/FreeCAD/FreeCAD.SlackBuild index ad2e5b0c39..75b816f84e 100644 --- a/graphics/FreeCAD/FreeCAD.SlackBuild +++ b/graphics/FreeCAD/FreeCAD.SlackBuild @@ -1,22 +1,40 @@ #!/bin/sh # Slackware build script for FreeCAD -# Maintained by Niels Horn <niels.horn@gmail.com> -# revision date: 2010/05/05 + +# Copyright 2010-2011 Niels Horn, Rio de Janeiro, RJ, Brazil +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# revision date: 2011/08/10 PRGNAM=FreeCAD -VERSION=0.9.2646 +VERSION=${VERSION:-0.11.3729} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -SRCVERSION=${VERSION}.5 +SRCNAM=freecad -# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi @@ -40,22 +58,22 @@ else LIBDIRSUFFIX="" fi -set -e # Exit on most errors +set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.gz +tar xvf $CWD/$SRCNAM-$VERSION.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 +# Patch for OpenCASCADE-6.5.x +patch -p1 < $CWD/OpenCASCADE65.patch -./autogen.sh +# Fix references to old boost_*-mt libs +sed -i "/-lboost/s/-mt\"/\"/g" configure CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -71,15 +89,15 @@ CXXFLAGS="$SLKCFLAGS" \ --with-qt4-dir=$QT4DIR \ --build=$ARCH-slackware-linux -make +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 +# Copy icon & desktop file mkdir -p $PKG/usr/share/{applications,pixmaps} -mv $PKG/opt/$PRGNAM/share/FCIcon.xpm $PKG/usr/share/pixmaps/ +cp $PKG/opt/$PRGNAM/share/freecad.xpm $PKG/usr/share/pixmaps/ cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION diff --git a/graphics/FreeCAD/FreeCAD.desktop b/graphics/FreeCAD/FreeCAD.desktop index 34f259a3a5..07d2a8c7fd 100644 --- a/graphics/FreeCAD/FreeCAD.desktop +++ b/graphics/FreeCAD/FreeCAD.desktop @@ -5,6 +5,6 @@ Name=FreeCAD Comment=General purpose 3D CAD modeler Categories=Graphics; Exec=/opt/FreeCAD/bin/FreeCAD -Icon=FCIcon +Icon=freecad Terminal=false StartupNotify=false diff --git a/graphics/FreeCAD/FreeCAD.info b/graphics/FreeCAD/FreeCAD.info index 2cf0b334ae..c34e180b7b 100644 --- a/graphics/FreeCAD/FreeCAD.info +++ b/graphics/FreeCAD/FreeCAD.info @@ -1,10 +1,10 @@ PRGNAM="FreeCAD" -VERSION="0.9.2646" +VERSION="0.11.3729" HOMEPAGE="http://free-cad.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/free-cad/FreeCAD-0.9.2646.5.tar.gz" -MD5SUM="a95d59a957c9d205ed7be1e35ad648e9" +DOWNLOAD="http://downloads.sourceforge.net/free-cad/freecad-0.11.3729.tar.gz" +MD5SUM="cd68f52ee201c49a83a400b87686b9b9" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Niels Horn" EMAIL="niels.horn@gmail.com" -APPROVED="rworkman" +APPROVED="dsomero" diff --git a/graphics/FreeCAD/OpenCASCADE65.patch b/graphics/FreeCAD/OpenCASCADE65.patch new file mode 100644 index 0000000000..8fcc40842e --- /dev/null +++ b/graphics/FreeCAD/OpenCASCADE65.patch @@ -0,0 +1,49 @@ +--- FreeCAD-0.11.3729/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp 2010-10-17 05:59:46.000000000 -0200 ++++ FreeCAD-0.11.3729_patched/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp 2011-08-10 20:04:59.000000000 -0300 +@@ -2205,8 +2205,8 @@ + if ( projector.IsDone() ) { + double u, v, minVal = DBL_MAX; + for ( int i = projector.NbExt(); i > 0; i-- ) +- if ( projector.Value( i ) < minVal ) { +- minVal = projector.Value( i ); ++ if ( projector.SquareDistance( i ) < minVal ) { ++ minVal = projector.SquareDistance( i ); + projector.Point( i ).Parameter( u, v ); + } + result.SetCoord( u, v ); +--- FreeCAD-0.11.3729/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp 2010-10-17 05:59:46.000000000 -0200 ++++ FreeCAD-0.11.3729_patched/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp 2011-08-10 20:06:21.000000000 -0300 +@@ -436,8 +436,8 @@ + } + double u, v, minVal = DBL_MAX; + for ( int i = theProjectorPS.NbExt(); i > 0; i-- ) +- if ( theProjectorPS.Value( i ) < minVal ) { +- minVal = theProjectorPS.Value( i ); ++ if ( theProjectorPS.SquareDistance( i ) < minVal ) { ++ minVal = theProjectorPS.SquareDistance( i ); + theProjectorPS.Point( i ).Parameter( u, v ); + } + return gp_XY( u, v ); +--- FreeCAD-0.11.3729/src/Mod/Part/App/PrimitiveFeature.cpp 2010-08-27 11:22:14.000000000 -0300 ++++ FreeCAD-0.11.3729_patched/src/Mod/Part/App/PrimitiveFeature.cpp 2011-08-10 20:41:35.000000000 -0300 +@@ -141,9 +141,6 @@ + case BRepBuilderAPI_ParametersOutOfRange:
+ error = "parameters out of range";
+ break;
+- case BRepBuilderAPI_SurfaceNotC2:
+- error = "surface not C2";
+- break;
+ default:
+ error = "unknown error";
+ break;
+--- FreeCAD-0.11.3729/src/Mod/Part/App/TopoShape.cpp 2010-11-14 06:53:08.000000000 -0200 ++++ FreeCAD-0.11.3729_patched/src/Mod/Part/App/TopoShape.cpp 2011-08-10 20:43:03.000000000 -0300 +@@ -139,8 +139,6 @@ + return "Curve projection failed";
+ case BRepBuilderAPI_ParametersOutOfRange:
+ return "Parameters out of range";
+- case BRepBuilderAPI_SurfaceNotC2:
+- return "Surface not C2-continous";
+ default:
+ return "Unknown creation error";
+ }
diff --git a/graphics/FreeCAD/README b/graphics/FreeCAD/README index db01eb5112..e824ded5ab 100644 --- a/graphics/FreeCAD/README +++ b/graphics/FreeCAD/README @@ -1,5 +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 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 deleted file mode 100644 index 67f5363254..0000000000 --- a/graphics/FreeCAD/boost_current.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- 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 |