FreeCAD is an OpenSource CAD/CAE, based on OpenCasCade, QT and Python.

It features some key concepts like macro recording, workbenches, ability to run
as a server and dynamically loadable application extensions and it is designed
to be platform independent.

Warning: FreeCAD is still in ALPHA state and not in shape for end user usage!

<http://juergen-riegel.net/FreeCAD/Docu/>

Suggested by:	Pedro F. Giffuni <giffunip (at) yahoo.com>
This commit is contained in:
Thierry Thomas 2007-05-26 19:26:10 +00:00
parent cf88fd19da
commit 15cbed5e11
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=191927
37 changed files with 865 additions and 0 deletions

View file

@ -22,6 +22,7 @@
SUBDIR += fandango
SUBDIR += feappv
SUBDIR += findhier
SUBDIR += freecad
SUBDIR += freehdl
SUBDIR += gdsreader
SUBDIR += gdt

79
cad/freecad/Makefile Normal file
View file

@ -0,0 +1,79 @@
# New ports collection makefile for: FreeCAD
# Date created: Sun 1 apr 2007
# Whom: thierry@pompo.net
#
# $FreeBSD$
#
PORTNAME= FreeCAD
DISTVERSION= 0.6.472
CATEGORIES= cad
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= free-cad
MAINTAINER= thierry@FreeBSD.org
COMMENT= A general purpose 3D CAD modeller
BUILD_DEPENDS= qmake:${PORTSDIR}/devel/qmake \
${LOCALBASE}/lib/libWm4Foundation.a:${PORTSDIR}/graphics/wildmagic
LIB_DEPENDS= gts.5:${PORTSDIR}/graphics/gts \
SoQt.24:${PORTSDIR}/x11-toolkits/soqt \
TKernel.0:${PORTSDIR}/cad/opencascade \
xerces-c.27:${PORTSDIR}/textproc/xerces-c2
USE_PYTHON= yes
USE_QT_VER= 3
USE_GMAKE= yes
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CONFIGURE_ARGS= --with-wildmagic-includes=${LOCALBASE}/include/Wm4 \
--with-wildmagic-libs=${LOCALBASE}/lib \
--with-xercesc-includes=${LOCALBASE}/include \
--with-xercesc-libs=${LOCALBASE}/lib \
--with-OCC-includes=${LOCALBASE}/OpenCAS/ros/inc \
--with-OCC-libs=${LOCALBASE}/lib
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
QTDIR= ${QT_PREFIX}
QMAKESPEC= ${LOCALBASE}/share/qt/mkspecs/freebsd-g++
MAKE_ENV= QMAKESPEC="${QMAKESPEC}" QTDIR="${QTDIR}"
PLIST_SUB= QTDIR="${QTDIR}"
WM3TOWM4= Core/Approximation.cpp Core/Approximation.h Core/Algorithm.cpp \
Core/Algorithm.h Core/Elements.cpp Core/Evaluation.cpp \
Core/Tools.h Core/Tools.cpp Core/TopoAlgorithm.cpp \
FeatureMeshCurvature.cpp MeshCurvature.cpp MeshPy.cpp \
PreCompiled.h
MOD2FIX= App/FreeCADInit.py Gui/FreeCADGuiInit.py
pre-configure:
${REINPLACE_CMD} -e 's|Wm3|Wm4|g;s|wm3|wm4|g;s|WM3|WM4|g' \
-e 's|-lpthread|${PTHREAD_LIBS}|' ${WRKSRC}/${CONFIGURE_SCRIPT}
.for sf in ${WM3TOWM4}
${REINPLACE_CMD} -e 's|Wm3|Wm4|g;s|wm3|wm4|g;s|WM3|WM4|g' \
${WRKSRC}/src/Mod/Mesh/App/${sf}
.endfor
${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} \
${REINPLACE_CMD} -e 's|WM3|WM4|g' \
-e 's|$$(prefix)/Mod|${DATADIR}/Mod|'
.for sf in ${MOD2FIX}
${REINPLACE_CMD} -e \
's|/usr/local/share/FreeCAD|${DATADIR}|' \
${WRKSRC}/src/${sf}
.endfor
pre-build:
cd ${WRKSRC}/src/Tools/plugins/widget && \
${SETENV} ${MAKE_ENV} qmake plugin.pro && \
${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
pre-install:
${MKDIR} ${QTDIR}/plugin/designer
${INSTALL_PROGRAM} \
${WRKSRC}/src/Tools/plugins/widget/plugin/libFreeCAD_widgets.so \
${QTDIR}/plugin/designer
post-install:
@${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${DATADIR}/Mod
@${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${DATADIR}/Mod
.include <bsd.port.mk>

3
cad/freecad/distinfo Normal file
View file

@ -0,0 +1,3 @@
MD5 (FreeCAD-0.6.472.tar.gz) = 2f40b02e96c3aba8b89c233cfd080d1a
SHA256 (FreeCAD-0.6.472.tar.gz) = 5db66385097abe7dff956e9c25c86cd99bfb08e453443a0cfa456bbd3a84c829
SIZE (FreeCAD-0.6.472.tar.gz) = 1935746

View file

@ -0,0 +1,47 @@
--- configure.orig Mon Feb 26 14:00:53 2007
+++ configure Sat Apr 21 23:40:36 2007
@@ -21008,7 +21008,7 @@
fc_py_ac_save_libs=$LIBS
CPPFLAGS="$CPPFLAGS -I$fc_py_incs"
LDFLAGS="$LDFLAGS -L$fc_py_libs"
-LIBS="-lpython$fc_py_ver"
+LIBS="-lpython$fc_py_ver -lpthread"
fc_cv_lib_py_avail=no
if test "${ac_cv_header_Python_h+set}" = set; then
@@ -23737,7 +23737,7 @@
echo "configure: could not compile:" >&5
cat moc_bnv_qt_test.$ac_ext >&5
else
- bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o bnv_qt_main.o bnv_qt_main.$ac_ext >/dev/null 2>/dev/null"
+ bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o bnv_qt_main.o bnv_qt_main.$ac_ext >&5"
{ (eval echo "$as_me:$LINENO: \"$bnv_try_3\"") >&5
(eval $bnv_try_3) 2>&5
ac_status=$?
@@ -23748,7 +23748,7 @@
echo "configure: could not compile:" >&5
cat bnv_qt_main.$ac_ext >&5
else
- bnv_try_4="$CXX $QT_LIBS $LIBS -o bnv_qt_main bnv_qt_main.o moc_bnv_qt_test.o >/dev/null 2>/dev/null"
+ bnv_try_4="$CXX $QT_LIBS $LIBS -lpthread -o bnv_qt_main bnv_qt_main.o moc_bnv_qt_test.o >&5"
{ (eval echo "$as_me:$LINENO: \"$bnv_try_4\"") >&5
(eval $bnv_try_4) 2>&5
ac_status=$?
@@ -24227,7 +24227,7 @@
fc_occ_ac_save_libs=$LIBS
CPPFLAGS="$CPPFLAGS -I$fc_occ_incs"
LDFLAGS="$LDFLAGS -L$fc_occ_libs"
-LIBS="-ldl -lTKernel"
+LIBS="-lTKernel -lpthread"
fc_cv_lib_occ_avail=no
if test "${ac_cv_header_Standard_hxx+set}" = set; then
@@ -24416,7 +24416,7 @@
# Checking for version >= 6.1
-LIBS="-ldl -lTKernel -lTKMesh -lTKG2d -lTKG3d -lTKTopAlgo -lTKMath -lTKBRep -lTKGeomBase -lTKGeomAlgo"
+LIBS="-lTKernel -lTKMesh -lTKG2d -lTKG3d -lTKTopAlgo -lTKMath -lTKBRep -lTKGeomBase -lTKGeomAlgo -lpthread"
fc_cv_lib_occ_ver_6=no
if test x"$fc_cv_lib_occ_avail" = xyes; then
if test "${ac_cv_header_Standard_hxx+set}" = set; then

View file

@ -0,0 +1,29 @@
--- ./src/App/Application.cpp.orig Sat Feb 24 11:35:04 2007
+++ ./src/App/Application.cpp Sun Apr 22 00:17:01 2007
@@ -29,7 +29,7 @@
#ifndef _PreComp_
# include <iostream>
# include <sstream>
-# ifdef FC_OS_LINUX
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <time.h>
# include <unistd.h>
# endif
@@ -1157,7 +1157,7 @@
// installed as a fallback solution.
//
// Default paths for the user depending on the platform
-#if defined(FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
if(getenv("HOME") != 0)
mConfig["UserHomePath"] = getenv("HOME");
#elif defined(FC_OS_WIN32)
@@ -1199,7 +1199,7 @@
}
}
-#if defined (FC_OS_LINUX)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
std::string Application::FindHomePath(const char* sCall)
{
// We have three ways to start this application either use one of the both executables or

View file

@ -0,0 +1,11 @@
--- ./src/App/FreeCADInit.py.orig Sat Feb 24 11:35:04 2007
+++ ./src/App/FreeCADInit.py Sun Apr 29 10:04:04 2007
@@ -52,6 +52,8 @@
#print FreeCAD.ConfigGet("HomePath")
if os.path.isdir(FreeCAD.ConfigGet("HomePath")+'Mod'):
ModDir = FreeCAD.ConfigGet("HomePath")+'Mod'
+ elif sys.platform[:7] == 'freebsd':
+ ModDir = '/usr/local/share/FreeCAD/Mod'
else:
if os.path.isdir(FreeCAD.ConfigGet("HomePath")+'src\\Mod'):
ModDir = FreeCAD.ConfigGet("HomePath")+'src\\Mod'

View file

@ -0,0 +1,16 @@
--- ./src/Base/Documentation.cpp.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/Documentation.cpp Sun Apr 22 18:46:43 2007
@@ -44,6 +44,13 @@
# undef _POSIX_C_SOURCE
# endif // (re-)defined in pyconfig.h
# include <Python.h>
+# undef isspace
+# undef isupper
+# undef islower
+# undef isalpha
+# undef isalnum
+# undef toupper
+# undef tolower
# include <iostream>
# include <fstream>
# include <fcntl.h>

View file

@ -0,0 +1,38 @@
--- ./src/Base/EnvMacros.h.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/EnvMacros.h Sun Apr 22 00:06:11 2007
@@ -22,7 +22,7 @@
* Juergen Riegel 2002 *
***************************************************************************/
-#if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
# include <unistd.h>
# include <stdlib.h>
# include <string>
@@ -54,7 +54,7 @@
void SetEnvironment(const char* sVar, const char* sVal)
{
-#if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
setenv(sVar, sVal, 1);
//#elif defined (FC_OS_WIN32) // Seems not to work properly!
// SetEnvironmentVariable(sVar,sVal);
@@ -106,7 +106,7 @@
}
}
-#if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
std::string FindHomePathUnix(const char* sCall)
{
std::string argv = sCall;
@@ -486,7 +486,7 @@
sTempString3 += "dll";
sTempString3 += PATHSEP;
sTempString3 += "TKOpenGl.dll";
-#elif defined(FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#elif defined(FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
sTempString3 += sLib;
sTempString3 += "lib";
sTempString3 += PATHSEP;

View file

@ -0,0 +1,11 @@
--- ./src/Base/FileInfo.cpp.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/FileInfo.cpp Sun Apr 22 00:02:40 2007
@@ -28,7 +28,7 @@
#ifndef _PreComp_
# include <assert.h>
# include <stdio.h>
-# if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
# include <unistd.h>
# include <sys/stat.h>
# elif defined (FC_OS_WIN32)

View file

@ -0,0 +1,20 @@
--- ./src/Base/Parameter.cpp.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/Parameter.cpp Sun Apr 22 00:07:49 2007
@@ -52,7 +52,7 @@
#include <fcntl.h>
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
#endif
@@ -1117,7 +1117,7 @@
catch(const XMLException& toCatch)
{
-#if defined(FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined(FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
std::ostringstream err;
#else
std::stringstream err;

View file

@ -0,0 +1,11 @@
--- ./src/Base/Parameter.h.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/Parameter.h Sun Apr 22 00:09:23 2007
@@ -40,7 +40,7 @@
// Include files
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <sstream>
#endif
#include <map>

View file

@ -0,0 +1,11 @@
--- ./src/Base/ParameterPy.cpp.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/ParameterPy.cpp Sun Apr 22 00:10:34 2007
@@ -39,7 +39,7 @@
#include <fcntl.h>
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
#endif

View file

@ -0,0 +1,16 @@
--- ./src/Base/PyExport.h.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/PyExport.h Sun Apr 22 10:49:49 2007
@@ -19,6 +19,13 @@
#undef slots
#include <Python.h>
+#undef isspace
+#undef isupper
+#undef islower
+#undef isalpha
+#undef isalnum
+#undef toupper
+#undef tolower
#define slots
//#include <iostream>
//#include <typeinfo>

View file

@ -0,0 +1,16 @@
--- ./src/Base/PyExportImp.h.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/PyExportImp.h Sun Apr 22 11:33:01 2007
@@ -33,6 +33,13 @@
// needed header
#undef slots
# include <Python.h>
+#undef isspace
+#undef isupper
+#undef islower
+#undef isalpha
+#undef isalnum
+#undef toupper
+#undef tolower
#define slots
#include <iostream>

View file

@ -0,0 +1,11 @@
--- ./src/Base/PyTools.c.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/PyTools.c Sun Apr 22 00:12:29 2007
@@ -447,7 +447,7 @@
int res; /* interact with python, in "__main__" */
Py_Initialize(); /* in the program's "stdio" window */
if (prompt != NULL)
-#if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
printf("[%s <Use Ctrl-D (i.e. EOF) to exit.>]\n", prompt);
#else
printf("[%s <Use Ctrl-Z plus Return to exit.>]\n", prompt);

View file

@ -0,0 +1,12 @@
--- ./src/Base/TimeInfo.h.orig Sat Feb 24 11:44:54 2007
+++ ./src/Base/TimeInfo.h Sun Apr 22 11:09:07 2007
@@ -28,8 +28,8 @@
#include <stdio.h>
-#include <sys/timeb.h>
#include <time.h>
+#include <sys/timeb.h>
namespace Base
{

View file

@ -0,0 +1,27 @@
--- ./src/FCConfig.h.orig Sat Feb 24 11:44:55 2007
+++ ./src/FCConfig.h Sun Apr 22 22:02:51 2007
@@ -71,8 +71,10 @@
//# endif
//#elif defined(hpux) || defined(__hpux) || defined(__hpux__)
//# define FC_OS_HPUX_
-//#elif defined(__FreeBSD__)
-//# define FC_OS_FREEBSD
+#elif defined(__FreeBSD__)
+# ifndef FC_OS_FREEBSD
+# define FC_OS_FREEBSD
+# endif
//#elif defined(__NetBSD__)
//# define FC_OS_NETBSD
//#elif defined(__OpenBSD__)
@@ -159,6 +161,11 @@
# define _WINDOWS
# endif
#endif
+
+#ifdef FC_OS_FREEBSD
+# define FREEBSD
+#endif
+
#ifdef FC_OS_LINUX
# define LIN

View file

@ -0,0 +1,20 @@
--- ./src/Gui/FreeCADGuiInit.py.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/FreeCADGuiInit.py Sun Apr 29 10:08:42 2007
@@ -31,7 +31,7 @@
# imports the one and only
-import FreeCAD, FreeCADGui
+import FreeCAD, FreeCADGui, sys
# shortcuts
Gui = FreeCADGui
@@ -83,6 +83,8 @@
#print FreeCAD.ConfigGet("HomePath")
if os.path.isdir(FreeCAD.ConfigGet("HomePath")+'Mod'):
ModDir = FreeCAD.ConfigGet("HomePath")+'Mod'
+ elif sys.platform[:7] == 'freebsd':
+ ModDir = '/usr/local/share/FreeCAD/Mod'
else:
if os.path.isdir(FreeCAD.ConfigGet("HomePath")+'src\\Mod'):
ModDir = FreeCAD.ConfigGet("HomePath")+'src\\Mod'

View file

@ -0,0 +1,28 @@
--- ./src/Gui/Makefile.in.orig Mon Feb 26 14:00:45 2007
+++ ./src/Gui/Makefile.in Mon Apr 23 22:16:25 2007
@@ -996,20 +996,20 @@
uninstall-info-am:
install-dataDATA: $(data_DATA)
@$(NORMAL_INSTALL)
- test -z "$(datadir)" || $(mkdir_p) "$(DESTDIR)$(datadir)"
+ test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
@list='$(data_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
- echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \
- $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \
+ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
done
uninstall-dataDATA:
@$(NORMAL_UNINSTALL)
@list='$(data_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \
- rm -f "$(DESTDIR)$(datadir)/$$f"; \
+ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)

View file

@ -0,0 +1,11 @@
--- ./src/Gui/NetworkRetriever.cpp.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/NetworkRetriever.cpp Sun Apr 22 00:18:44 2007
@@ -361,7 +361,7 @@
// start URL
(*wget)<< startUrl;
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
// on Linux it seems that we have to change cwd
QString cwd = QDir::currentDirPath ();
if ( !d->dir.isEmpty() )

View file

@ -0,0 +1,29 @@
--- ./src/Gui/Process.cpp.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/Process.cpp Sun Apr 22 00:20:17 2007
@@ -232,7 +232,7 @@
{
#ifdef FC_OS_WIN32
sprintf(szPath, "%s;%s", env["PATH"].latin1(), path.latin1());
-#elif defined (FC_OS_LINUX) || defined (FC_OS_CYGWIN)
+#elif defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
sprintf(szPath, "%s:%s", env["PATH"].latin1(), path.latin1());
#else
Base::Console().Warning("Not yet implemented!\n");
@@ -243,7 +243,7 @@
{
#ifdef FC_OS_WIN32
sprintf(szPath, "%s;%s", getenv("PATH"), path.latin1());
-#elif defined (FC_OS_LINUX) || defined (FC_OS_CYGWIN)
+#elif defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
sprintf(szPath, "%s:%s", getenv("PATH"), path.latin1());
#else
Base::Console().Warning("Not yet implemented!\n");
@@ -276,7 +276,7 @@
{
#ifdef FC_OS_WIN32
::SetEnvironmentVariable (it.key().latin1(), it.data().latin1());
-#elif defined (FC_OS_LINUX) || defined (FC_OS_CYGWIN)
+#elif defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
setenv(it.key().latin1(), it.data().latin1(), 1);
#else
Base::Console().Warning("Not yet implemented!\n");

View file

@ -0,0 +1,29 @@
--- ./src/Gui/PythonConsole.cpp.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/PythonConsole.cpp Sun Apr 22 00:21:56 2007
@@ -75,7 +75,7 @@
hPrefGrp->Attach( this );
zoomIn(2);
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
QFont serifFont( "Courier", 15, QFont::Normal );
#else
QFont serifFont( "Courier", 10, QFont::Normal );
@@ -182,7 +182,7 @@
font.setBold( false ); // if current font is bold we must reset it first
if (strcmp(sReason, "FontSize") == 0)
{
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
QString txt = hPrefGrp->GetASCII( "FontSize", "15" ).c_str();
#else
QString txt = hPrefGrp->GetASCII( "FontSize", "10" ).c_str();
@@ -190,7 +190,7 @@
bool ok;
int size = txt.toInt(&ok);
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
if ( !ok ) size = 15;
#else
if ( !ok ) size = 10;

View file

@ -0,0 +1,11 @@
--- ./src/Gui/ReportView.cpp.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/ReportView.cpp Sun Apr 22 00:23:02 2007
@@ -241,7 +241,7 @@
{
QFont _font( font() );
_font.setFamily( "Courier" );
-#ifdef FC_OS_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
_font.setPointSize( 15 );
#else
_font.setPointSize( 10 );

View file

@ -0,0 +1,11 @@
--- ./src/Gui/View3DInventorViewer.cpp.orig Sat Feb 24 11:41:26 2007
+++ ./src/Gui/View3DInventorViewer.cpp Sun Apr 22 00:24:07 2007
@@ -290,7 +290,7 @@
void View3DInventorViewer::setEnabledFPSCounter(bool b)
{
-#if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN)
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD) || defined(FC_OS_CYGWIN)
setenv("COIN_SHOW_FPS_COUNTER", (b?"1":"0"), 1);
#else
b ? _putenv ("COIN_SHOW_FPS_COUNTER=1") : _putenv ("COIN_SHOW_FPS_COUNTER=0");

View file

@ -0,0 +1,11 @@
--- ./src/Main/MainCmd.cpp.orig Mon Feb 26 10:36:38 2007
+++ ./src/Main/MainCmd.cpp Sun Apr 22 00:33:00 2007
@@ -28,7 +28,7 @@
# include <sstream>
#endif
-#ifdef FC_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
#endif

View file

@ -0,0 +1,11 @@
--- ./src/Main/MainGui.cpp.orig Mon Feb 26 10:36:38 2007
+++ ./src/Main/MainGui.cpp Sun Apr 22 00:32:00 2007
@@ -27,7 +27,7 @@
# undef _PreComp_
#endif
-#ifdef FC_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
#endif

View file

@ -0,0 +1,29 @@
--- ./src/Main/MainPy.cpp.orig Mon Feb 26 10:36:38 2007
+++ ./src/Main/MainPy.cpp Sun Apr 22 00:25:41 2007
@@ -28,7 +28,7 @@
# include <sstream>
#endif
-#ifdef FC_LINUX
+#if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
#endif
@@ -71,7 +71,7 @@
return TRUE;
}
-#elif defined(FC_OS_LINUX)
+#elif defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# ifndef GNU_SOURCE
# define GNU_SOURCE
# endif
@@ -109,7 +109,7 @@
#if defined(FC_OS_WIN32)
strcpy(argv[0],App::Application::Config()["HomePath"].c_str());
-#elif defined(FC_OS_LINUX)
+#elif defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
// get whole path of the library
Dl_info info;
int ret = dladdr((void*)initFreeCAD, &info);

View file

@ -0,0 +1,19 @@
--- ./src/Main/Makefile.in.orig Mon Feb 26 14:00:45 2007
+++ ./src/Main/Makefile.in Sun Apr 22 14:36:18 2007
@@ -127,7 +127,7 @@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lcompat
LIBTOOL = @LIBTOOL@
LIB_AGE = @LIB_AGE@
LIB_CURRENT = @LIB_CURRENT@
@@ -271,7 +271,6 @@
# the library search path.
FreeCAD_la_LDFLAGS = -L../Base -L../App $(all_libraries) -version-info @LIB_CURRENT@:@LIB_REVISION@:@LIB_AGE@ -module -avoid-version
FreeCAD_la_LIBADD = \
- -ldl \
-l@PYTHON_LIB@ \
-lFreeCADBase \
-lFreeCADApp

View file

@ -0,0 +1,15 @@
--- ./src/Mod/Image/App/ImageBase.cpp.orig Sat Feb 24 11:32:27 2007
+++ ./src/Mod/Image/App/ImageBase.cpp Mon Apr 23 00:11:39 2007
@@ -16,7 +16,11 @@
***************************************************************************/
#include "PreCompiled.h"
-#include <malloc.h>
+#if defined(__FreeBSD__)
+# include <stdlib.h>
+#else
+# include <malloc.h>
+#endif
#include <math.h>
#include "ImageBase.h"

View file

@ -0,0 +1,58 @@
--- ./src/Mod/Mesh/App/Core/MeshIO.cpp.orig Sat Feb 24 11:34:01 2007
+++ ./src/Mod/Mesh/App/Core/MeshIO.cpp Sun Apr 22 22:02:35 2007
@@ -38,6 +38,55 @@
#include <math.h>
+#if defined(FC_OS_NETBSD) || defined(FC_OS_FREEBSD)
+// Borrowed from the FreeBSD port editors/openoffice.org-1.0
+
+char *fcvt(double value, int ndigit, int *decpt, int *sign)
+{
+ static char ret[256];
+ char buf[256],zahl[256],format[256]="%";
+ char *v1,*v2;
+
+ if (value==0.0) value=1e-30;
+
+ if (value<0.0) *sign=1; else *sign=0;
+
+ if (value<1.0)
+ {
+ *decpt=(int)log10(value);
+ value*=pow(10.0,1-*decpt);
+ ndigit+=*decpt-1;
+ if (ndigit<0) ndigit=0;
+ }
+ else
+ {
+ *decpt=(int)log10(value)+1;
+ }
+
+ sprintf(zahl,"%d",ndigit);
+ strcat(format,zahl);
+ strcat(format,".");
+ strcat(format,zahl);
+ strcat(format,"f");
+
+ sprintf(buf,format,value);
+
+ if (ndigit!=0)
+ {
+ v1=strtok(buf,".");
+ v2=strtok(NULL,".");
+ strcpy(ret,v1);
+ strcat(ret,v2);
+ }
+ else
+ {
+ strcpy(ret,buf);
+ }
+
+ return(ret);
+}
+
+#endif
using namespace MeshCore;

View file

@ -0,0 +1,11 @@
--- ./src/Mod/Mesh/App/CurveProjector.cpp.orig Sat Feb 24 11:34:07 2007
+++ ./src/Mod/Mesh/App/CurveProjector.cpp Sun Apr 22 00:27:59 2007
@@ -23,7 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
-# ifdef FC_OS_LINUX
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
# endif
#endif

View file

@ -0,0 +1,11 @@
--- ./src/Mod/Mesh/App/MeshAlgos.cpp.orig Sat Feb 24 11:34:07 2007
+++ ./src/Mod/Mesh/App/MeshAlgos.cpp Sun Apr 22 00:35:44 2007
@@ -23,7 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
-# ifdef FC_OS_LINUX
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
# endif
#endif

View file

@ -0,0 +1,11 @@
--- ./src/Mod/Part/App/PartAlgos.cpp.orig Sat Feb 24 11:33:05 2007
+++ ./src/Mod/Part/App/PartAlgos.cpp Sun Apr 22 00:26:46 2007
@@ -23,7 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
-# ifdef FC_OS_LINUX
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
# endif
# include <BRep_Builder.hxx>

View file

@ -0,0 +1,12 @@
--- ./src/Mod/Part/Gui/ViewProviderBox.cpp.orig Sat Feb 24 11:33:17 2007
+++ ./src/Mod/Part/Gui/ViewProviderBox.cpp Sun Apr 22 15:01:24 2007
@@ -20,6 +20,9 @@
* *
***************************************************************************/
+#include <vector>
+#include <string>
+using namespace std;
#include "PreCompiled.h"

View file

@ -0,0 +1,11 @@
--- ./src/Mod/Points/App/PointsAlgos.cpp.orig Sat Feb 24 11:34:34 2007
+++ ./src/Mod/Points/App/PointsAlgos.cpp Sun Apr 22 00:29:09 2007
@@ -23,7 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
-# ifdef FC_OS_LINUX
+# if defined (FC_OS_LINUX) || defined(FC_OS_FREEBSD)
# include <unistd.h>
# endif
#endif

9
cad/freecad/pkg-descr Normal file
View file

@ -0,0 +1,9 @@
FreeCAD is an OpenSource CAD/CAE, based on OpenCasCade, QT and Python.
It features some key concepts like macro recording, workbenches, ability to run
as a server and dynamically loadable application extensions and it is designed
to be platform independent.
Warning: FreeCAD is still in ALPHA state and not in shape for end user usage!
WWW: http://juergen-riegel.net/FreeCAD/Docu/

159
cad/freecad/pkg-plist Normal file
View file

@ -0,0 +1,159 @@
bin/FreeCAD
bin/FreeCADCmd
include/PreCompiled.h
lib/FreeCAD.la
lib/FreeCAD.so
lib/libFreeCADApp.la
lib/libFreeCADApp.so
lib/libFreeCADApp.so.2
lib/libFreeCADBase.la
lib/libFreeCADBase.so
lib/libFreeCADBase.so.2
lib/libFreeCADGui.la
lib/libFreeCADGui.so
lib/libFreeCADGui.so.2
%%DATADIR%%/Mod/Image/Image.la
%%DATADIR%%/Mod/Image/Image.so
%%DATADIR%%/Mod/Image/ImageGui.la
%%DATADIR%%/Mod/Image/ImageGui.so
%%DATADIR%%/Mod/Image/Init.py
%%DATADIR%%/Mod/Image/Init.pyc
%%DATADIR%%/Mod/Image/Init.pyo
%%DATADIR%%/Mod/Image/InitGui.py
%%DATADIR%%/Mod/Image/InitGui.pyc
%%DATADIR%%/Mod/Image/InitGui.pyo
%%DATADIR%%/Mod/Image/libImage.la
%%DATADIR%%/Mod/Image/libImage.so
%%DATADIR%%/Mod/Image/libImage.so.2
%%DATADIR%%/Mod/Image/libImageGui.la
%%DATADIR%%/Mod/Image/libImageGui.so
%%DATADIR%%/Mod/Image/libImageGui.so.2
%%DATADIR%%/Mod/Mesh/BuildRegularGeoms.py
%%DATADIR%%/Mod/Mesh/BuildRegularGeoms.pyc
%%DATADIR%%/Mod/Mesh/BuildRegularGeoms.pyo
%%DATADIR%%/Mod/Mesh/Init.py
%%DATADIR%%/Mod/Mesh/Init.pyc
%%DATADIR%%/Mod/Mesh/Init.pyo
%%DATADIR%%/Mod/Mesh/InitGui.py
%%DATADIR%%/Mod/Mesh/InitGui.pyc
%%DATADIR%%/Mod/Mesh/InitGui.pyo
%%DATADIR%%/Mod/Mesh/Mesh.la
%%DATADIR%%/Mod/Mesh/Mesh.so
%%DATADIR%%/Mod/Mesh/MeshGui.la
%%DATADIR%%/Mod/Mesh/MeshGui.so
%%DATADIR%%/Mod/Mesh/libMesh.la
%%DATADIR%%/Mod/Mesh/libMesh.so
%%DATADIR%%/Mod/Mesh/libMesh.so.2
%%DATADIR%%/Mod/Mesh/libMeshGui.la
%%DATADIR%%/Mod/Mesh/libMeshGui.so
%%DATADIR%%/Mod/Mesh/libMeshGui.so.2
%%DATADIR%%/Mod/Part/Init.py
%%DATADIR%%/Mod/Part/Init.pyc
%%DATADIR%%/Mod/Part/Init.pyo
%%DATADIR%%/Mod/Part/InitGui.py
%%DATADIR%%/Mod/Part/InitGui.pyc
%%DATADIR%%/Mod/Part/InitGui.pyo
%%DATADIR%%/Mod/Part/Part.la
%%DATADIR%%/Mod/Part/Part.so
%%DATADIR%%/Mod/Part/PartGui.la
%%DATADIR%%/Mod/Part/PartGui.so
%%DATADIR%%/Mod/Part/libPart.la
%%DATADIR%%/Mod/Part/libPart.so
%%DATADIR%%/Mod/Part/libPart.so.2
%%DATADIR%%/Mod/Part/libPartGui.la
%%DATADIR%%/Mod/Part/libPartGui.so
%%DATADIR%%/Mod/Part/libPartGui.so.2
%%DATADIR%%/Mod/Points/Init.py
%%DATADIR%%/Mod/Points/Init.pyc
%%DATADIR%%/Mod/Points/Init.pyo
%%DATADIR%%/Mod/Points/InitGui.py
%%DATADIR%%/Mod/Points/InitGui.pyc
%%DATADIR%%/Mod/Points/InitGui.pyo
%%DATADIR%%/Mod/Points/Points.la
%%DATADIR%%/Mod/Points/Points.so
%%DATADIR%%/Mod/Points/PointsGui.la
%%DATADIR%%/Mod/Points/PointsGui.so
%%DATADIR%%/Mod/Points/libPoints.la
%%DATADIR%%/Mod/Points/libPoints.so
%%DATADIR%%/Mod/Points/libPoints.so.2
%%DATADIR%%/Mod/Points/libPointsGui.la
%%DATADIR%%/Mod/Points/libPointsGui.so
%%DATADIR%%/Mod/Points/libPointsGui.so.2
%%DATADIR%%/Mod/Raytracing/Init.py
%%DATADIR%%/Mod/Raytracing/Init.pyc
%%DATADIR%%/Mod/Raytracing/Init.pyo
%%DATADIR%%/Mod/Raytracing/InitGui.py
%%DATADIR%%/Mod/Raytracing/InitGui.pyc
%%DATADIR%%/Mod/Raytracing/InitGui.pyo
%%DATADIR%%/Mod/Raytracing/Raytracing.la
%%DATADIR%%/Mod/Raytracing/Raytracing.so
%%DATADIR%%/Mod/Raytracing/RaytracingGui.la
%%DATADIR%%/Mod/Raytracing/RaytracingGui.so
%%DATADIR%%/Mod/Raytracing/libRaytracing.la
%%DATADIR%%/Mod/Raytracing/libRaytracing.so
%%DATADIR%%/Mod/Raytracing/libRaytracing.so.2
%%DATADIR%%/Mod/Raytracing/libRaytracingGui.la
%%DATADIR%%/Mod/Raytracing/libRaytracingGui.so
%%DATADIR%%/Mod/Raytracing/libRaytracingGui.so.2
%%DATADIR%%/Mod/Test/Base.py
%%DATADIR%%/Mod/Test/Base.pyc
%%DATADIR%%/Mod/Test/Base.pyo
%%DATADIR%%/Mod/Test/Document.py
%%DATADIR%%/Mod/Test/Document.pyc
%%DATADIR%%/Mod/Test/Document.pyo
%%DATADIR%%/Mod/Test/Init.py
%%DATADIR%%/Mod/Test/Init.pyc
%%DATADIR%%/Mod/Test/Init.pyo
%%DATADIR%%/Mod/Test/InitGui.py
%%DATADIR%%/Mod/Test/InitGui.pyc
%%DATADIR%%/Mod/Test/InitGui.pyo
%%DATADIR%%/Mod/Test/Menu.py
%%DATADIR%%/Mod/Test/Menu.pyc
%%DATADIR%%/Mod/Test/Menu.pyo
%%DATADIR%%/Mod/Test/QtUnitGui.la
%%DATADIR%%/Mod/Test/QtUnitGui.so
%%DATADIR%%/Mod/Test/TestApp.py
%%DATADIR%%/Mod/Test/TestApp.pyc
%%DATADIR%%/Mod/Test/TestApp.pyo
%%DATADIR%%/Mod/Test/TestGui.py
%%DATADIR%%/Mod/Test/TestGui.pyc
%%DATADIR%%/Mod/Test/TestGui.pyo
%%DATADIR%%/Mod/Test/Workbench.py
%%DATADIR%%/Mod/Test/Workbench.pyc
%%DATADIR%%/Mod/Test/Workbench.pyo
%%DATADIR%%/Mod/Test/libQtUnitGui.la
%%DATADIR%%/Mod/Test/libQtUnitGui.so
%%DATADIR%%/Mod/Test/libQtUnitGui.so.2
%%DATADIR%%/Mod/Test/qtunittest.py
%%DATADIR%%/Mod/Test/qtunittest.pyc
%%DATADIR%%/Mod/Test/qtunittest.pyo
%%DATADIR%%/Mod/_TEMPLATE_/Init.py
%%DATADIR%%/Mod/_TEMPLATE_/Init.pyc
%%DATADIR%%/Mod/_TEMPLATE_/Init.pyo
%%DATADIR%%/Mod/_TEMPLATE_/InitGui.py
%%DATADIR%%/Mod/_TEMPLATE_/InitGui.pyc
%%DATADIR%%/Mod/_TEMPLATE_/InitGui.pyo
%%DATADIR%%/Mod/_TEMPLATE_/_TEMPLATE_.la
%%DATADIR%%/Mod/_TEMPLATE_/_TEMPLATE_.so
%%DATADIR%%/Mod/_TEMPLATE_/_TEMPLATE_Gui.la
%%DATADIR%%/Mod/_TEMPLATE_/_TEMPLATE_Gui.so
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_.la
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_.so
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_.so.2
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_Gui.la
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_Gui.so
%%DATADIR%%/Mod/_TEMPLATE_/lib_TEMPLATE_Gui.so.2
%%DATADIR%%/FCIcon.xpm
@dirrm %%DATADIR%%/Mod/_TEMPLATE_
@dirrm %%DATADIR%%/Mod/Test
@dirrm %%DATADIR%%/Mod/Raytracing
@dirrm %%DATADIR%%/Mod/Points
@dirrm %%DATADIR%%/Mod/Part
@dirrm %%DATADIR%%/Mod/Mesh
@dirrm %%DATADIR%%/Mod/Image
@dirrm %%DATADIR%%/Mod
@dirrm %%DATADIR%%
@cwd %%QTDIR%%
plugin/designer/libFreeCAD_widgets.so
@dirrmtry plugin/designer
@dirrmtry plugin