debian/0000755000000000000000000000000012313050726007165 5ustar debian/watch0000644000000000000000000000013612253601750010220 0ustar version=3 opts=dversionmangle=s/\.dfsg// \ http://sf.net/free-cad/freecad-(.+)\-dfsg\.tar\.gz debian/freecad-doc.doc-base0000644000000000000000000000125312253601750012723 0ustar Document: freecad-development-documentation Title: FreeCAD development documentation Author: FreeCAD developers Abstract: FreeCAD is a general purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler, aimed directly at mechanical engineering and product design but also fits in a wider range of uses around engineering, such as architecture or other engineering specialties. It is a feature-based parametric modeler with a modular software architecture which makes it easy to provide additional functionality without modifying the core system. Section: Science/Engineering Format: HTML Index: /usr/share/doc/freecad-doc/Start_Page.html Files: /usr/share/doc/freecad-doc/*.q* debian/freecad.links0000644000000000000000000000031312253601750011617 0ustar usr/lib/freecad/bin/FreeCAD usr/bin/freecad usr/lib/freecad/bin/FreeCADCmd usr/bin/freecadcmd usr/lib/freecad/Mod usr/share/freecad/Mod usr/share/man/man1/freecad.1.gz usr/share/man/man1/freecadcmd.1.gz debian/freecad.10000644000000000000000000000455112253601750010647 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH FREECAD 1 "July 25, 2007" freecad "Linux User's Manual" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME freecad \- An extensible Open Source CAx program for Unix/X11 .SH SYNOPSIS .B freecad .RI [ options ] " files" .br .B freecadcmd .RI [ options ] " files" .SH DESCRIPTION .B FreeCAD is an Open Source CAx RAD 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. .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. .SH USAGE \fBfreecad\fR starts with a GUI while \fBfreecadcmd\fR is only a pure command line version that starts a Python interpreter. .SH OPTIONS These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of the options supported by \fBfreecad\fR is included below. .SS "Generic options" .TP \fB\-h, \-\-help\fR Show summary of options. .TP \fB\-v, \-\-version\fR Show version of program. .TP \fB\-c, \-\-console\fR Start in console mode. .TP \fB\-\-response\-file\fR \fIarg\fR Can be specified with '@name', too. .SS "Configuration" .TP \fB\-l, \-\-write\-log\fR Write a log file. .TP \fB\-t, \-\-run\-test\fR \fIarg\fR Test level. .TP \fB\-M, \-\-module\-path\fR \fIarg\fR Additional module path. .TP \fB\-P, \-\-python\-path\fR \fIarg\fR Additional Python path. .SH SEE ALSO To get more information about \fBFreeCAD\fR, please visit \fIhttp://juergen\-riegel.net/FreeCAD/Docu/index.php/Main_Page\fR .SH BUGS To report a bug, please visit \fIhttp://free-cad.sf.net/\fR .SH AUTHOR This manual page was written by Werner Mayer. debian/freecad.desktop0000644000000000000000000000104712253601750012155 0ustar [Desktop Entry] Version=1.0 Name=FreeCAD Name[de]=FreeCAD Comment=Feature based Parametric Modeler Comment[de]=Feature-basierter parametrischer Modellierer GenericName=CAD Application GenericName[de]=CAD-Anwendung Exec=/usr/bin/freecad %F Path=/usr/lib/freecad Terminal=false Type=Application Icon=/usr/share/freecad/freecad.xpm Categories=Graphics;Science;Engineering StartupNotify=true GenericName[de_DE]=Feature-basierter parametrischer Modellierer Comment[de_DE]=Feature-basierter parametrischer Modellierer MimeType=application/x-extension-fcstd debian/freecad.manpages0000644000000000000000000000002112253601750012266 0ustar debian/freecad.1 debian/freecad.install0000644000000000000000000000035112253601750012147 0ustar debian/freecad.desktop usr/share/applications debian/menu usr/share/menu/freecad usr/Mod usr/lib/freecad/ usr/bin/ usr/lib/freecad/ usr/data/Mod usr/lib/freecad/data usr/data/freeca*.* /usr/share/freecad/ usr/lib/ usr/lib/freecad/ debian/rules0000755000000000000000000000150612253601750010251 0ustar #!/usr/bin/make -f %: dh $@ --buildsystem=cmake --parallel DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) extra_flags += \ -DFREECAD_BUILD_DEBIAN=ON \ -DCMAKE_CXX_FLAGS="-Wall -DHAVE_SWIG=1 -fpermissive $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)" \ -DCMAKE_C_FLAGS="-Wall -fpermissive $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)" \ -DCMAKE_SHARED_LINKER_FLAGS="$(shell dpkg-buildflags --get LDFLAGS)" \ -DINSTALL_RPATH="/usr/lib/freecad/lib" \ -DOCC_INCLUDE_DIR="/usr/include/oce" \ override_dh_auto_configure: dh_auto_configure -- $(extra_flags) cp -f src/Build/Version.h obj-$(DEB_BUILD_GNU_TYPE)/src/Build/Version.h override_dh_compress: dh_compress -X.qch -X.qhc override_dh_installchangelogs: dh_installchangelogs ChangeLog.txt debian/menu0000644000000000000000000000024712253601750010061 0ustar ?package(freecad):needs="X11"\ section="Applications/Science/Engineering"\ title="FreeCAD"\ command="/usr/bin/freecad"\ icon="/usr/share/freecad/freecad.xpm" debian/copyright0000644000000000000000000004442312253601750011131 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: FreeCAD Upstream-Contact: Werner Mayer Source: http://sourceforge.net/projects/free-cad Files: * Copyright: 2001-2013 Jürgen Riegel , Werner Mayer License: LGPL-2+ The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. . This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. . When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. . To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. . On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/3rdParty/boost/numeric/bindings/* Copyright: 2002-2008 Kresimir Fresl, Karl Meerbergen, Toon Knapen, Andreas Kloeckner, Jeremy Conlin, Thomas Klimpel, Fabien Dekeyser, Quoc-Cuong Pham, Si-Lab b.v.b.a., Joerg Walter License: other-boost-1.0 Boost Software License - Version 1.0 - August 17th, 2003 . Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: . The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: src/3rdParty/boost/numeric/bindings/lapack/lapack.hpp src/3rdParty/boost/numeric/bindings/traits/std_valarray.hpp Copyright: 2003 Toon Knapen, Kresimir Fresl, Karl Meerbergen License: other * Permission to copy, modify, use and distribute this software * for any non-commercial or commercial purpose is granted provided * that this license appear on all copies of the software source code. * * Authors assume no responsibility whatsoever for its use and makes * no guarantees about its quality, correctness or reliability. * * KF acknowledges the support of the Faculty of Civil Engineering, * University of Zagreb, Croatia. Files: src/3rdParty/salomesmesh/* Copyright: 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE License: LGPL-2.1 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. . This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. . When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. . To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. . For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. . On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: src/3rdParty/salomesmesh/src/MEFISTO2/* Copyright: 2006 Laboratoire J.-L. Lions UPMC Paris License: LGPL-2.1 On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: src/Base/Base64.* Copyright: 2004-2008 Rene Nyffenegger License: other This source code is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. . Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: . 1. The origin of this source code must not be misrepresented; you must not claim that you wrote the original source code. If you use this source code in a product, an acknowledgment in the product documentation would be appreciated but is not required. . 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original source code. . 3. This notice may not be removed or altered from any source distribution. Files: src/Base/fdstream.hpp Copyright: 2001 Nicolai M. Josuttis License: other Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. Files: src/Base/gzstream.* Copyright: 2001 Deepak Bandyopadhyay, Lutz Kettner License: LGPL-2.1+ On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: src/Base/PyTools.* Copyright: 1996-2000 Mark Lutz, and O'Reilly and Associates. License: other Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted. This software is provided on an as is basis, without warranties of any kind. Files: src/Base/BoundBox.h src/Base/Swap.* src/Base/Vector3D.* src/Base/ViewProj.h src/Base/Matrix.* src/Base/Tools2D.* src/Mod/Mesh/App/Core/* Copyright: 2005 Imetric 3D GmbH License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: src/Doc/Start_Page.html Copyright: 2004-2009 UnaMesa Association License: BSD Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. Files: src/Doc/Start_Page.html Copyright: 2009 John Resig License: GPL-2 or MIT License: GPL-2 On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: src/Doc/Start_Page.html Copyright: 2009 The Dojo Foundation, http://sizzlejs.com/ License: GPL-2 or MIT or BSD License: GPL-2 On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. License: MIT See above for the text of this license. License: BSD See above for the text of this license. Files: src/Gui/iisTaskPanel/src/* Copyright: http://www.ii-system.com License: LGPL On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Draft/* Copyright: 2009-2010 Yorik van Havre, Werner Mayer, Martin Burbaum, Ken Cline License: GPL-2+ On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. Files: src/Mod/Draft/importAirfoilDAT.py Copyright: 2010 Heiko Jakob License: LGPL-2+ On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. Files: src/Mod/Mesh/App/Core/Projection.cpp src/Mod/Mesh/App/Core/Projection.h src/Mod/Mesh/App/Core/Triangulation.cpp src/Mod/Mesh/App/Core/Triangulation.h Copyright: 2005 Werner Mayer License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Mesh/App/Core/Builder.h src/Mod/Mesh/App/Core/SetOperations.* Copyright: 2005 Berthold Grupp License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Mesh/BuildRegularGeoms.py Copyright: 2005 Berthold Grupp License: LGPL On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. Files: src/Mod/Image/App/ImageBase.* src/Mod/Image/Gui/GLImageBox.* src/Mod/Image/Gui/ImageView.* src/Mod/Image/Gui/XpmImages.h Copyright: 2004 Imetric 3D GmbH License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Mesh/App/Core/tritritest.h Copyright: 1997 Tomas Moller License: other tritritest.h has no licensing information, but Tomas Moller replied the following, when asked about it: . The code is is free to use for anyone and any projects, but I give no warranties. Files: src/Mod/Mesh/App/WildMagic4/* Copyright: 1998-2007 David Eberly http://www.geometrictools.com License: LGPL-2.1+ On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. Files: src/Mod/Part/App/edgecluster.* Copyright: 2010 Joachim Zettler License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Raytracing/App/resources/* Copyright: 2005 Georg Wiora , Juergen Riegel License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: src/Mod/Test/unittestgui.py Copyright: 1999-2001 Steve Purcell License: PSF This module is free software, and you may redistribute it and/or modify it under the same terms as Python itself, so long as this copyright message and disclaimer are retained in their original form. . IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Files: src/Tools/generateBase/generateDS.py Copyright: 2003 Dave Kuhlman License: MIT See above for the text of this license. Files: debian/* Copyright: 2007-2009 Werner Mayer , Teemu Ikonen License: LGPL-2+ On Debian systems, the complete text of the GNU Lesser General Public License version 2 can be found in `/usr/share/common-licenses/LGPL-2'. Files: data/examples/DrawingExample.FCStd data/examples/PartDesignExample.FCStd data/examples/RobotExample.FCStd data/examples/Schenkel.stp Copyright: 2011 Juergen Riegel License: CC-BY-SA Creative Commons Attribution Share Alike license. Files: data/examples/EngineBlock.FCStd Copyright: 2011 Werner Mayer License: CC-BY-SA Creative Commons Attribution Share Alike license. Files: src/Base/QuantityParser.c src/Base/UnitsApi.tab.c src/Gui/SelectionFilter.tab.c Copyright: 1984, 1989-1990, 2000-2006, 2009-2010 Free Software Foundation, Inc. License: GPL-3+ with Bison exception This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. . This special exception was added by the Free Software Foundation in version 2.2 of Bison. . C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. . All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. debian/freecad.lintian-overrides0000644000000000000000000000004712253601750014141 0ustar freecad: binary-or-shlib-defines-rpath debian/freecad.sharedmimeinfo0000644000000000000000000000045712253601750013502 0ustar FreeCAD document files debian/source/0000755000000000000000000000000012261063611010464 5ustar debian/source/format0000644000000000000000000000001412253601750011675 0ustar 3.0 (quilt) debian/source/lintian-overrides0000644000000000000000000000024412253601750014050 0ustar # Lintian thinks uploader Adam Powell's name violates policy freecad source: uploader-address-missing "Adam C. Powell freecad source: uploader-not-full-name IV" debian/patches/0000755000000000000000000000000012253601750010616 5ustar debian/patches/disable_memory_check.patch0000644000000000000000000000651512253601750015776 0ustar Description: Disable memory-check in SMDS because sysinfo.h is not working on BSD-systems and causes FTBFS. It is better to disable it only on BSD-platforms. Or use http://code.google.com/p/sysinfo-bsd/source/browse/sysinfo.c for them. Author: Anton Gladky Bug-Debian: http://bugs.debian.org/623560 Last-Update: 2011-09-24 --- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp +++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp @@ -42,12 +42,6 @@ #include using namespace std; -#ifndef WIN32 -#if !(defined(__MACH__) && defined(__APPLE__)) -#include -#endif -#endif - // number of added entitis to check memory after #define CHECKMEMORY_INTERVAL 1000 @@ -61,49 +55,7 @@ int SMDS_Mesh::CheckMemory(const bool doNotRaise) throw (std::bad_alloc) { -#if (defined(__MACH__) && defined(__APPLE__)) - return 1000; -#else -#ifndef WIN32 - struct sysinfo si; - int err = sysinfo( &si ); - if ( err ) - return -1; - - static int limit = -1; - if ( limit < 0 ) { - int status = system("SMDS_MemoryLimit"); // it returns lower limit of free RAM - if (status >= 0 ) { - limit = WEXITSTATUS(status); - } - if ( limit < 20 ) - limit = 20; - else - limit = int( limit * 1.5 ); -#ifdef _DEBUG_ - MESSAGE ( "SMDS_Mesh::CheckMemory() memory limit = " << limit << " MB" ); -#endif - } - - const unsigned long Mbyte = 1024 * 1024; - // compute separately to avoid overflow - int freeMb = - ( si.freeram * si.mem_unit ) / Mbyte + - ( si.freeswap * si.mem_unit ) / Mbyte; - - if ( freeMb > limit ) - return freeMb - limit; - - if ( doNotRaise ) - return 0; -#ifdef _DEBUG_ - MESSAGE ("SMDS_Mesh::CheckMemory() throws as free memory too low: " << freeMb <<" MB" ); -#endif - throw std::bad_alloc(); -#else - return -1; -#endif -#endif +return 1000; } /////////////////////////////////////////////////////////////////////////////// --- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp +++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_MemoryLimit.cpp @@ -27,11 +27,6 @@ // This is not done inside a function of SALOME because allocated memory is not returned // to the system. (PAL16631) // -#ifndef WIN32 -#if !(defined(__MACH__) && defined(__APPLE__)) -#include -#endif -#endif #ifdef _DEBUG_ #include @@ -39,39 +34,5 @@ int main (int argc, char ** argv) { -#if (defined(__MACH__) && defined(__APPLE__)) - //do nothing -#else - // To better understand what is going on here, consult bug [SALOME platform 0019911] -#ifndef WIN32 - struct sysinfo si; - int err = sysinfo( &si ); - if ( err ) - return -1; - unsigned long freeRamKb = ( si.freeram * si.mem_unit ) / 1024; - - // totat RAM size in Gb, float is in order not to have 1 instead of 1.9 - float totalramGb = float( si.totalram * si.mem_unit ) / 1024 / 1024 / 1024; - - // nb Kbites to allocate at one step. Small nb leads to hung up - const int stepKb = int( 5 * totalramGb ); - - unsigned long nbSteps = freeRamKb / stepKb * 2; - try { - while ( nbSteps-- ) { - new char[stepKb*1024]; - err = sysinfo( &si ); - if ( !err ) - freeRamKb = ( si.freeram * si.mem_unit ) / 1024; - } - } catch (...) {} - -// #ifdef _DEBUG_ -// std::cout << freeRamKb / 1024 << std::endl; -// #endif - return freeRamKb / 1024; -#endif -#endif - return -1; } debian/patches/dir_as_string.patch0000644000000000000000000000254712253601750014476 0ustar Description: - only sets RESOURCEDIR, if not set via cmdline - markes CMAKE_INSTALL_INCLUDEDIR, CMAKE_INSTALL_DOCDIR, and CMAKE_INSTALL_DATADIR as string, otherwise i had problems with absolute pathes. Author: Sandro Knauß --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,16 +72,20 @@ ENDIF(NOT INSTALL_RPATH) endif(WIN32) -SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") -SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files") -SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files") +SET(CMAKE_INSTALL_DATADIR data CACHE STRING "Output directory for data and resource files") +SET(CMAKE_INSTALL_INCLUDEDIR include CACHE STRING "Output directory for header files") +SET(CMAKE_INSTALL_DOCDIR doc CACHE STRING "Output directory for documentation and license files") # used as compiler defines -SET(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}") +IF(NOT RESOURCEDIR) + SET(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}") +ENDIF(NOT RESOURCEDIR) + SET(DOCDIR "${CMAKE_INSTALL_DOCDIR}") MESSAGE( STATUS "prefix: ${CMAKE_INSTALL_PREFIX}") MESSAGE(STATUS "datadir: ${CMAKE_INSTALL_DATADIR}") +MESSAGE("RESOURCEDIR: ${RESOURCEDIR}") MESSAGE(STATUS "docdir: ${CMAKE_INSTALL_DOCDIR}") MESSAGE(STATUS "includedir: ${CMAKE_INSTALL_INCLUDEDIR}") debian/patches/use_install_rpath.patch0000644000000000000000000000340712253601750015363 0ustar --- a/src/Mod/PartDesign/App/CMakeLists.txt +++ b/src/Mod/PartDesign/App/CMakeLists.txt @@ -98,7 +98,6 @@ ) SET(PartDesign_Scripts - __init__.py Init.py TestPartDesignApp.py Scripts/__init__.py @@ -132,9 +131,9 @@ else(MSVC) set_target_properties(PartDesign PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/PartDesign) set_target_properties(PartDesign PROPERTIES PREFIX "") - set_target_properties(PartDesign PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/Mod/PartDesign) + set_target_properties(PartDesign PROPERTIES INSTALL_RPATH ${INSTALL_RPATH}) endif(MSVC) # The PartDesign module must go to where the __init__.py file is -INSTALL(TARGETS PartDesign DESTINATION Mod/PartDesign) +INSTALL(TARGETS PartDesign DESTINATION lib) --- a/src/Mod/PartDesign/Gui/CMakeLists.txt +++ b/src/Mod/PartDesign/Gui/CMakeLists.txt @@ -201,9 +201,9 @@ else(MSVC) set_target_properties(PartDesignGui PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Mod/PartDesign) set_target_properties(PartDesignGui PROPERTIES PREFIX "") - set_target_properties(PartDesignGui PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/Mod/PartDesign) + set_target_properties(PartDesignGui PROPERTIES INSTALL_RPATH ${INSTALL_RPATH}) endif(MSVC) # The PartDesign module must go to where the __init__.py file is -INSTALL(TARGETS PartDesignGui DESTINATION Mod/PartDesign) +INSTALL(TARGETS PartDesignGui DESTINATION lib) --- a/src/Mod/PartDesign/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -import PartDesign -makeFilletArc = PartDesign.makeFilletArc --- a/src/Mod/PartDesign/CMakeLists.txt +++ b/src/Mod/PartDesign/CMakeLists.txt @@ -6,7 +6,6 @@ INSTALL( FILES - __init__.py Init.py InitGui.py TestPartDesignApp.py debian/patches/fix_syntax_importOca.patch0000644000000000000000000000147512253601750016057 0ustar Description: fix syntax error. Author: Anton Gladky Last-Update: 2013-09-27 --- a/src/Mod/Draft/importOCA.py +++ b/src/Mod/Draft/importOCA.py @@ -258,13 +258,13 @@ oca.write("# edges\r\n") count = 1 for e in edges: - if DraftGeomUtils.geomType(e) == "Line"): + if (DraftGeomUtils.geomType(e) == "Line"): oca.write("L"+str(count)+"=") oca.write(writepoint(e.Vertexes[0].Point)) oca.write(" ") oca.write(writepoint(e.Vertexes[-1].Point)) oca.write("\r\n") - elif DraftGeomUtils.geomType(e) == "Circle"): + elif (DraftGeomUtils.geomType(e) == "Circle"): if (len(e.Vertexes) > 1): oca.write("C"+str(count)+"=ARC ") oca.write(writepoint(e.Vertexes[0].Point)) debian/patches/exclude_ply.patch0000644000000000000000000000120212253601750014147 0ustar Description: exclude ply from build-sources, use packaged version Author: Anton Gladky , Sebastian Hoogen Last-Update: 2013-09-25 --- a/src/Mod/OpenSCAD/CMakeLists.txt +++ b/src/Mod/OpenSCAD/CMakeLists.txt @@ -23,7 +23,7 @@ ) SOURCE_GROUP("ply" FILES ${ply_SRCS}) -set(all_files ${OpenSCAD_SRCS} ${ply_SRCS}) +set(all_files ${OpenSCAD_SRCS} ) ADD_CUSTOM_TARGET(OpenSCAD ALL SOURCES ${allfiles} @@ -33,12 +33,6 @@ INSTALL( FILES - ${ply_SRCS} - DESTINATION - Mod/OpenSCAD/ply -) -INSTALL( - FILES ${OpenSCAD_SRCS} DESTINATION Mod/OpenSCAD debian/patches/do_not_install_binary_examples.patch0000644000000000000000000000065712253601750020121 0ustar Description: binary examples were removed, remove them from Cmake-target Author: Anton Gladky Last-Update: 2013-09-18 --- a/data/examples/CMakeLists.txt +++ b/data/examples/CMakeLists.txt @@ -1,11 +1,6 @@ SET(Examples_Files Schenkel.stp - DrawingExample.FCStd - EngineBlock.FCStd - PartDesignExample.FCStd - RobotExample.FCStd - ArchDetail.FCStd ) ADD_CUSTOM_TARGET(Example_data ALL debian/patches/fix_armel_FTBFS.patch0000644000000000000000000005762012253601750014543 0ustar Description: fix compilation on Armel due to coincident variables in sys/ucontext.h (R2, R3, R4). Thanks to Paul Brook http://lists.alioth.debian.org/pipermail/debian-science-maintainers/2011-October/009876.html Author: Anton Gladky Last-Update: 2011-10-27 --- a/src/3rdParty/salomesmesh/inc/Rn.h +++ b/src/3rdParty/salomesmesh/inc/Rn.h @@ -33,7 +33,7 @@ #include //Dans OpenCascade //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// BUT: Definir les espaces affines R R2 R3 R4 soit Rn pour n=1,2,3,4 +// BUT: Definir les espaces affines R R_2 R_3 R_4 soit Rn pour n=1,2,3,4 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // AUTEUR : Frederic HECHT ANALYSE NUMERIQUE UPMC PARIS OCTOBRE 2000 // MODIFS : Alain PERRONNET ANALYSE NUMERIQUE UPMC PARIS NOVEMBRE 2000 @@ -84,155 +84,155 @@ //============== //typedef struct { short int x,y } XPoint; //en fait ce type est defini dans X11-Window // #include -//la classe R2 +//la classe R_2 //============ -class R2 +class R_2 { - friend std::ostream& operator << (std::ostream& f, const R2 & P) + friend std::ostream& operator << (std::ostream& f, const R_2 & P) { f << P.x << ' ' << P.y ; return f; } - friend std::istream& operator >> (std::istream& f, R2 & P) + friend std::istream& operator >> (std::istream& f, R_2 & P) { f >> P.x >> P.y ; return f; } - friend std::ostream& operator << (std::ostream& f, const R2 * P) + friend std::ostream& operator << (std::ostream& f, const R_2 * P) { f << P->x << ' ' << P->y ; return f; } - friend std::istream& operator >> (std::istream& f, R2 * P) + friend std::istream& operator >> (std::istream& f, R_2 * P) { f >> P->x >> P->y ; return f; } public: R x,y; //les donnees - R2 () :x(0),y(0) {} //les constructeurs - R2 (R a,R b) :x(a),y(b) {} - R2 (R2 A,R2 B) :x(B.x-A.x),y(B.y-A.y) {} //vecteur defini par 2 points - - R2 operator+(R2 P) const {return R2(x+P.x,y+P.y);} // Q+P possible - R2 operator+=(R2 P) {x += P.x;y += P.y; return *this;}// Q+=P; - R2 operator-(R2 P) const {return R2(x-P.x,y-P.y);} // Q-P - R2 operator-=(R2 P) {x -= P.x;y -= P.y; return *this;} // Q-=P; - R2 operator-()const {return R2(-x,-y);} // -Q - R2 operator+()const {return *this;} // +Q - R operator,(R2 P)const {return x*P.x+y*P.y;} // produit scalaire (Q,P) - R operator^(R2 P)const {return x*P.y-y*P.x;} // produit vectoriel Q^P - R2 operator*(R c)const {return R2(x*c,y*c);} // produit a droite P*c - R2 operator*=(R c) {x *= c; y *= c; return *this;} - R2 operator/(R c)const {return R2(x/c,y/c);} // division par un reel - R2 operator/=(R c) {x /= c; y /= c; return *this;} + R_2 () :x(0),y(0) {} //les constructeurs + R_2 (R a,R b) :x(a),y(b) {} + R_2 (R_2 A,R_2 B) :x(B.x-A.x),y(B.y-A.y) {} //vecteur defini par 2 points + + R_2 operator+(R_2 P) const {return R_2(x+P.x,y+P.y);} // Q+P possible + R_2 operator+=(R_2 P) {x += P.x;y += P.y; return *this;}// Q+=P; + R_2 operator-(R_2 P) const {return R_2(x-P.x,y-P.y);} // Q-P + R_2 operator-=(R_2 P) {x -= P.x;y -= P.y; return *this;} // Q-=P; + R_2 operator-()const {return R_2(-x,-y);} // -Q + R_2 operator+()const {return *this;} // +Q + R operator,(R_2 P)const {return x*P.x+y*P.y;} // produit scalaire (Q,P) + R operator^(R_2 P)const {return x*P.y-y*P.x;} // produit vectoriel Q^P + R_2 operator*(R c)const {return R_2(x*c,y*c);} // produit a droite P*c + R_2 operator*=(R c) {x *= c; y *= c; return *this;} + R_2 operator/(R c)const {return R_2(x/c,y/c);} // division par un reel + R_2 operator/=(R c) {x /= c; y /= c; return *this;} R & operator[](int i) {return (&x)[i];} // la coordonnee i - R2 orthogonal() {return R2(-y,x);} //le vecteur orthogonal dans R2 - friend R2 operator*(R c,R2 P) {return P*c;} // produit a gauche c*P + R_2 orthogonal() {return R_2(-y,x);} //le vecteur orthogonal dans R_2 + friend R_2 operator*(R c,R_2 P) {return P*c;} // produit a gauche c*P }; -//la classe R3 +//la classe R_3 //============ -class R3 +class R_3 { - friend std::ostream& operator << (std::ostream& f, const R3 & P) + friend std::ostream& operator << (std::ostream& f, const R_3 & P) { f << P.x << ' ' << P.y << ' ' << P.z ; return f; } - friend std::istream& operator >> (std::istream& f, R3 & P) + friend std::istream& operator >> (std::istream& f, R_3 & P) { f >> P.x >> P.y >> P.z ; return f; } - friend std::ostream& operator << (std::ostream& f, const R3 * P) + friend std::ostream& operator << (std::ostream& f, const R_3 * P) { f << P->x << ' ' << P->y << ' ' << P->z ; return f; } - friend std::istream& operator >> (std::istream& f, R3 * P) + friend std::istream& operator >> (std::istream& f, R_3 * P) { f >> P->x >> P->y >> P->z ; return f; } public: R x,y,z; //les 3 coordonnees - R3 () :x(0),y(0),z(0) {} //les constructeurs - R3 (R a,R b,R c):x(a),y(b),z(c) {} //Point ou Vecteur (a,b,c) - R3 (R3 A,R3 B):x(B.x-A.x),y(B.y-A.y),z(B.z-A.z) {} //Vecteur AB - - R3 (gp_Pnt P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Point d'OpenCascade - R3 (gp_Vec V) : x(V.X()), y(V.Y()), z(V.Z()) {} //Vecteur d'OpenCascade - R3 (gp_Dir P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Direction d'OpenCascade - - R3 operator+(R3 P)const {return R3(x+P.x,y+P.y,z+P.z);} - R3 operator+=(R3 P) {x += P.x; y += P.y; z += P.z; return *this;} - R3 operator-(R3 P)const {return R3(x-P.x,y-P.y,z-P.z);} - R3 operator-=(R3 P) {x -= P.x; y -= P.y; z -= P.z; return *this;} - R3 operator-()const {return R3(-x,-y,-z);} - R3 operator+()const {return *this;} - R operator,(R3 P)const {return x*P.x+y*P.y+z*P.z;} // produit scalaire - R3 operator^(R3 P)const {return R3(y*P.z-z*P.y ,P.x*z-x*P.z, x*P.y-y*P.x);} // produit vectoriel - R3 operator*(R c)const {return R3(x*c,y*c,z*c);} - R3 operator*=(R c) {x *= c; y *= c; z *= c; return *this;} - R3 operator/(R c)const {return R3(x/c,y/c,z/c);} - R3 operator/=(R c) {x /= c; y /= c; z /= c; return *this;} + R_3 () :x(0),y(0),z(0) {} //les constructeurs + R_3 (R a,R b,R c):x(a),y(b),z(c) {} //Point ou Vecteur (a,b,c) + R_3 (R_3 A,R_3 B):x(B.x-A.x),y(B.y-A.y),z(B.z-A.z) {} //Vecteur AB + + R_3 (gp_Pnt P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Point d'OpenCascade + R_3 (gp_Vec V) : x(V.X()), y(V.Y()), z(V.Z()) {} //Vecteur d'OpenCascade + R_3 (gp_Dir P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Direction d'OpenCascade + + R_3 operator+(R_3 P)const {return R_3(x+P.x,y+P.y,z+P.z);} + R_3 operator+=(R_3 P) {x += P.x; y += P.y; z += P.z; return *this;} + R_3 operator-(R_3 P)const {return R_3(x-P.x,y-P.y,z-P.z);} + R_3 operator-=(R_3 P) {x -= P.x; y -= P.y; z -= P.z; return *this;} + R_3 operator-()const {return R_3(-x,-y,-z);} + R_3 operator+()const {return *this;} + R operator,(R_3 P)const {return x*P.x+y*P.y+z*P.z;} // produit scalaire + R_3 operator^(R_3 P)const {return R_3(y*P.z-z*P.y ,P.x*z-x*P.z, x*P.y-y*P.x);} // produit vectoriel + R_3 operator*(R c)const {return R_3(x*c,y*c,z*c);} + R_3 operator*=(R c) {x *= c; y *= c; z *= c; return *this;} + R_3 operator/(R c)const {return R_3(x/c,y/c,z/c);} + R_3 operator/=(R c) {x /= c; y /= c; z /= c; return *this;} R & operator[](int i) {return (&x)[i];} - friend R3 operator*(R c,R3 P) {return P*c;} + friend R_3 operator*(R c,R_3 P) {return P*c;} - R3 operator=(gp_Pnt P) {return R3(P.X(),P.Y(),P.Z());} - R3 operator=(gp_Dir P) {return R3(P.X(),P.Y(),P.Z());} + R_3 operator=(gp_Pnt P) {return R_3(P.X(),P.Y(),P.Z());} + R_3 operator=(gp_Dir P) {return R_3(P.X(),P.Y(),P.Z());} - friend gp_Pnt gp_pnt(R3 xyz) { return gp_Pnt(xyz.x,xyz.y,xyz.z); } + friend gp_Pnt gp_pnt(R_3 xyz) { return gp_Pnt(xyz.x,xyz.y,xyz.z); } //friend gp_Pnt operator=() { return gp_Pnt(x,y,z); } - friend gp_Dir gp_dir(R3 xyz) { return gp_Dir(xyz.x,xyz.y,xyz.z); } + friend gp_Dir gp_dir(R_3 xyz) { return gp_Dir(xyz.x,xyz.y,xyz.z); } - bool DansPave( R3 & xyzMin, R3 & xyzMax ) + bool DansPave( R_3 & xyzMin, R_3 & xyzMax ) { return xyzMin.x<=x && x<=xyzMax.x && xyzMin.y<=y && y<=xyzMax.y && xyzMin.z<=z && z<=xyzMax.z; } }; -//la classe R4 +//la classe R_4 //============ -class R4: public R3 +class R_4: public R_3 { - friend std::ostream& operator <<(std::ostream& f, const R4 & P ) + friend std::ostream& operator <<(std::ostream& f, const R_4 & P ) { f << P.x << ' ' << P.y << ' ' << P.z << ' ' << P.omega; return f; } - friend istream& operator >>(istream& f, R4 & P) + friend istream& operator >>(istream& f, R_4 & P) { f >> P.x >> P.y >> P.z >> P.omega ; return f; } - friend std::ostream& operator <<(std::ostream& f, const R4 * P ) + friend std::ostream& operator <<(std::ostream& f, const R_4 * P ) { f << P->x << ' ' << P->y << ' ' << P->z << ' ' << P->omega; return f; } - friend istream& operator >>(istream& f, R4 * P) + friend istream& operator >>(istream& f, R_4 * P) { f >> P->x >> P->y >> P->z >> P->omega ; return f; } public: R omega; //la donnee du poids supplementaire - R4 () :omega(1.0) {} //les constructeurs - R4 (R a,R b,R c,R d):R3(a,b,c),omega(d) {} - R4 (R4 A,R4 B) :R3(B.x-A.x,B.y-A.y,B.z-A.z),omega(B.omega-A.omega) {} - - R4 operator+(R4 P)const {return R4(x+P.x,y+P.y,z+P.z,omega+P.omega);} - R4 operator+=(R4 P) {x += P.x;y += P.y;z += P.z;omega += P.omega;return *this;} - R4 operator-(R4 P)const {return R4(x-P.x,y-P.y,z-P.z,omega-P.omega);} - R4 operator-=(R4 P) {x -= P.x;y -= P.y;z -= P.z;omega -= P.omega;return *this;} - R4 operator-()const {return R4(-x,-y,-z,-omega);} - R4 operator+()const {return *this;} - R operator,(R4 P)const {return x*P.x+y*P.y+z*P.z+omega*P.omega;} // produit scalaire - R4 operator*(R c)const {return R4(x*c,y*c,z*c,omega*c);} - R4 operator*=(R c) {x *= c; y *= c; z *= c; omega *= c; return *this;} - R4 operator/(R c)const {return R4(x/c,y/c,z/c,omega/c);} - R4 operator/=(R c) {x /= c; y /= c; z /= c; omega /= c; return *this;} + R_4 () :omega(1.0) {} //les constructeurs + R_4 (R a,R b,R c,R d):R_3(a,b,c),omega(d) {} + R_4 (R_4 A,R_4 B) :R_3(B.x-A.x,B.y-A.y,B.z-A.z),omega(B.omega-A.omega) {} + + R_4 operator+(R_4 P)const {return R_4(x+P.x,y+P.y,z+P.z,omega+P.omega);} + R_4 operator+=(R_4 P) {x += P.x;y += P.y;z += P.z;omega += P.omega;return *this;} + R_4 operator-(R_4 P)const {return R_4(x-P.x,y-P.y,z-P.z,omega-P.omega);} + R_4 operator-=(R_4 P) {x -= P.x;y -= P.y;z -= P.z;omega -= P.omega;return *this;} + R_4 operator-()const {return R_4(-x,-y,-z,-omega);} + R_4 operator+()const {return *this;} + R operator,(R_4 P)const {return x*P.x+y*P.y+z*P.z+omega*P.omega;} // produit scalaire + R_4 operator*(R c)const {return R_4(x*c,y*c,z*c,omega*c);} + R_4 operator*=(R c) {x *= c; y *= c; z *= c; omega *= c; return *this;} + R_4 operator/(R c)const {return R_4(x/c,y/c,z/c,omega/c);} + R_4 operator/=(R c) {x /= c; y /= c; z /= c; omega /= c; return *this;} R & operator[](int i) {return (&x)[i];} - friend R4 operator*(R c,R4 P) {return P*c;} + friend R_4 operator*(R c,R_4 P) {return P*c;} }; //quelques fonctions supplementaires sur ces classes //================================================== -inline R Aire2d(const R2 A,const R2 B,const R2 C){return (B-A)^(C-A);} -inline R Angle2d(R2 P){ return atan2(P.y,P.x);} +inline R Aire2d(const R_2 A,const R_2 B,const R_2 C){return (B-A)^(C-A);} +inline R Angle2d(R_2 P){ return atan2(P.y,P.x);} -inline R Norme2_2(const R2 & A){ return (A,A);} -inline R Norme2(const R2 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R2 & A){return Max(Abs(A.x),Abs(A.y));} - -inline R Norme2_2(const R3 & A){ return (A,A);} -inline R Norme2(const R3 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R3 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z));} - -inline R Norme2_2(const R4 & A){ return (A,A);} -inline R Norme2(const R4 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R4 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z),Abs(A.omega));} - -inline R2 XY(R3 P) {return R2(P.x, P.y);} //restriction a R2 d'un R3 par perte de z -inline R3 Min(R3 P, R3 Q) -{return R3(P.xQ.x ? P.x : Q.x, P.y>Q.y ? P.y : Q.y, P.z>Q.z ? P.z : Q.z);} //Pt de xyz Max +inline R Norme2_2(const R_2 & A){ return (A,A);} +inline R Norme2(const R_2 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_2 & A){return Max(Abs(A.x),Abs(A.y));} + +inline R Norme2_2(const R_3 & A){ return (A,A);} +inline R Norme2(const R_3 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_3 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z));} + +inline R Norme2_2(const R_4 & A){ return (A,A);} +inline R Norme2(const R_4 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_4 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z),Abs(A.omega));} + +inline R_2 XY(R_3 P) {return R_2(P.x, P.y);} //restriction a R_2 d'un R_3 par perte de z +inline R_3 Min(R_3 P, R_3 Q) +{return R_3(P.xQ.x ? P.x : Q.x, P.y>Q.y ? P.y : Q.y, P.z>Q.z ? P.z : Q.z);} //Pt de xyz Max #endif --- a/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx +++ b/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx @@ -61,7 +61,7 @@ typedef std::vector< StdMeshers_FaceSidePtr > TWireVector; bool LoadPoints(TWireVector & wires, - R2* uvslf, + R_2* uvslf, std::vector< const SMDS_MeshNode*>& mefistoToDS, double scalex, double scaley); @@ -70,7 +70,7 @@ double& scalex, double& scaley); - void StoreResult (Z nbst, R2* uvst, Z nbt, Z* nust, + void StoreResult (Z nbst, R_2* uvst, Z nbt, Z* nust, std::vector< const SMDS_MeshNode*>& mefistoToDS, double scalex, double scaley); --- a/src/3rdParty/salomesmesh/inc/aptrte.h +++ b/src/3rdParty/salomesmesh/inc/aptrte.h @@ -60,9 +60,9 @@ MEFISTO2D_EXPORT void aptrte( Z nutysu, R aretmx, - Z nblf, Z *nudslf, R2 *uvslf, - Z nbpti, R2 *uvpti, - Z & nbst, R2 * & uvst, Z & nbt, Z * & nust, + Z nblf, Z *nudslf, R_2 *uvslf, + Z nbpti, R_2 *uvpti, + Z & nbst, R_2 * & uvst, Z & nbt, Z * & nust, Z & ierr ); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // but : appel de la triangulation par un arbre-4 recouvrant @@ -124,7 +124,7 @@ #define tesuex TESUEX #define teamqt TEAMQT #define nusotr NUSOTR - #define qutr2d QUTR2D + #define qutr2d QUTR_2D #define surtd2 SURTD2 #define qualitetrte QUALITETRTE @@ -159,7 +159,7 @@ #endif -extern "C" { MEFISTO2D_EXPORT void MEFISTO2D_STDCALL qualitetrte( R3 *mnpxyd, +extern "C" { MEFISTO2D_EXPORT void MEFISTO2D_STDCALL qualitetrte( R_3 *mnpxyd, Z & mosoar, Z & mxsoar, Z *mnsoar, Z & moartr, Z & mxartr, Z *mnartr, Z & nbtria, R & quamoy, R & quamin ); } @@ -258,20 +258,20 @@ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //initialisation du tableau letree et ajout dans letree des sommets 1 a nbsomm -extern "C" {void MEFISTO2D_STDCALL teajte( Z & mxsomm, Z & nbsomm, R3 * mnpxyd, R3 * comxmi, +extern "C" {void MEFISTO2D_STDCALL teajte( Z & mxsomm, Z & nbsomm, R_3 * mnpxyd, R_3 * comxmi, R & aretmx, Z & mxtree, Z * letree, Z & ierr ); } -extern "C" {void MEFISTO2D_STDCALL tehote( Z & nutysu, Z & nbarpi, Z & mxsomm, Z & nbsomm, R3 * mnpxyd, - R3 * comxmi, R & aretmx, +extern "C" {void MEFISTO2D_STDCALL tehote( Z & nutysu, Z & nbarpi, Z & mxsomm, Z & nbsomm, R_3 * mnpxyd, + R_3 * comxmi, R & aretmx, Z * letree, Z & mxqueu, Z * mnqueu, Z & ierr ); } // homogeneisation de l'arbre des te a un saut de taille au plus // prise en compte des tailles d'aretes souhaitees autour des sommets initiaux -extern "C" {void MEFISTO2D_STDCALL tetrte( R3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R3 * mnpxyd, +extern "C" {void MEFISTO2D_STDCALL tetrte( R_3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R_3 * mnpxyd, Z & mxqueu, Z * mnqueu, Z * mntree, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, @@ -283,14 +283,14 @@ extern "C" { void MEFISTO2D_STDCALL aisoar( Z & mosoar, Z & mxsoar, Z * mnsoar, Z & na ); } // formation du chainage 6 des aretes internes a echanger eventuellement -extern "C" { void MEFISTO2D_STDCALL tedela( R3 * mnpxyd, Z * mnarst, +extern "C" { void MEFISTO2D_STDCALL tedela( R_3 * mnpxyd, Z * mnarst, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & na, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z & n ); } // boucle sur les aretes internes (non sur une ligne de la frontiere) // avec echange des 2 diagonales afin de rendre la triangulation delaunay -extern "C" { void MEFISTO2D_STDCALL terefr( Z & nbarpi, R3 * mnpxyd, +extern "C" { void MEFISTO2D_STDCALL terefr( Z & nbarpi, R_3 * mnpxyd, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, Z & mxarcf, Z * mnarc1, Z * mnarc2, @@ -301,7 +301,7 @@ // triangulation frontale pour les restaurer extern "C" { void MEFISTO2D_STDCALL tesuex( Z & nblf, Z * nulftr, - Z & ndtri0, Z & nbsomm, R3 * mnpxyd, Z * mnslig, + Z & ndtri0, Z & nbsomm, R_3 * mnpxyd, Z * mnslig, Z & mosoar, Z & mxsoar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, Z & nbtria, Z * mntrsu, Z & ierr ); @@ -314,7 +314,7 @@ Z & mxarcf, Z * mntrcf, Z * mnstbo, Z * n1arcf, Z * mnarcf, Z * mnarc1, Z & nbarpi, Z & nbsomm, Z & mxsomm, - R3 * mnpxyd, Z * mnslig, + R_3 * mnpxyd, Z * mnslig, Z & ierr ); } // amelioration de la qualite de la triangulation par @@ -327,10 +327,10 @@ } //retrouver les numero des 3 sommets du triangle nt -extern "C" { void MEFISTO2D_STDCALL qutr2d( R3 & p1, R3 & p2, R3 & p3, R & qualite ); } -//calculer la qualite d'un triangle de R2 de sommets p1, p2, p3 +extern "C" { void MEFISTO2D_STDCALL qutr2d( R_3 & p1, R_3 & p2, R_3 & p3, R & qualite ); } +//calculer la qualite d'un triangle de R_2 de sommets p1, p2, p3 -extern "C" { R MEFISTO2D_STDCALL surtd2( R3 & p1, R3 & p2, R3 & p3 ); } +extern "C" { R MEFISTO2D_STDCALL surtd2( R_3 & p1, R_3 & p2, R_3 & p3 ); } //calcul de la surface d'un triangle defini par 3 points de r**2 #endif --- a/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp +++ b/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp @@ -68,9 +68,9 @@ void aptrte( Z nutysu, R aretmx, - Z nblf, Z * nudslf, R2 * uvslf, - Z nbpti, R2 * uvpti, - Z & nbst, R2 * & uvst, + Z nblf, Z * nudslf, R_2 * uvslf, + Z nbpti, R_2 * uvpti, + Z & nbst, R_2 * & uvst, Z & nbt, Z * & nust, Z & ierr ) //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -122,11 +122,11 @@ //no st1, st2, st3, 0 (non quadrangle) R d, tcpu=0; - R3 direction=R3(0,0,0); //direction pour areteideale() inactive ici! + R_3 direction=R_3(0,0,0); //direction pour areteideale() inactive ici! Z nbarfr=nudslf[nblf]; //nombre total d'aretes des lignes fermees Z mxtrou = Max( 1024, nblf ); //nombre maximal de trous dans la surface - R3 *mnpxyd=NULL; + R_3 *mnpxyd=NULL; Z *mnsoar=NULL, mosoar=7, mxsoar, n1soar; //le hachage des aretes Z *mnartr=NULL, moartr=3, mxartr, n1artr; //le no des 3 aretes des triangles Z *mntree=NULL, motree=9, mxtree; //L'arbre 4 de TE et nombre d'entiers par TE @@ -141,7 +141,7 @@ Z *mnarst=NULL; Z *mnlftr=NULL; - R3 comxmi[2]; //coordonnees UV Min et Maximales + R_3 comxmi[2]; //coordonnees UV Min et Maximales R aremin, aremax; //longueur minimale et maximale des aretes R airemx; //aire maximale souhaitee d'un triangle R quamoy, quamin; @@ -171,7 +171,7 @@ NEWDEPART: //mnpxyd( 3, mxsomm ) les coordonnees UV des sommets et la taille d'arete aux sommets if( mnpxyd!=NULL ) delete [] mnpxyd; - mnpxyd = new R3[mxsomm]; + mnpxyd = new R_3[mxsomm]; if( mnpxyd==NULL ) goto ERREUR; // le tableau mnsoar des aretes des triangles @@ -633,7 +633,7 @@ // generation du tableau uvst de la surface triangulee // --------------------------------------------------- if( uvst != NULL ) delete [] uvst; - uvst = new R2[nbst]; + uvst = new R_2[nbst]; if( uvst == NULL ) goto ERREUR; nbst=-1; @@ -733,7 +733,7 @@ } } -void MEFISTO2D_STDCALL qualitetrte( R3 *mnpxyd, +void MEFISTO2D_STDCALL qualitetrte( R_3 *mnpxyd, Z & mosoar, Z & mxsoar, Z *mnsoar, Z & moartr, Z & mxartr, Z *mnartr, Z & nbtria, R & quamoy, R & quamin ) --- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp +++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp @@ -218,12 +218,12 @@ Z nblf; //nombre de lignes fermees (enveloppe en tete) Z *nudslf = NULL; //numero du dernier sommet de chaque ligne fermee - R2 *uvslf = NULL; + R_2 *uvslf = NULL; Z nbpti = 0; //nombre points internes futurs sommets de la triangulation - R2 *uvpti = NULL; + R_2 *uvpti = NULL; Z nbst; - R2 *uvst = NULL; + R_2 *uvst = NULL; Z nbt; Z *nust = NULL; Z ierr = 0; @@ -246,7 +246,7 @@ nudslf[iw++] = nbpnt; } - uvslf = new R2[nudslf[nblf]]; + uvslf = new R_2[nudslf[nblf]]; double scalex, scaley; ComputeScaleOnFace(aMesh, F, scalex, scaley); @@ -288,7 +288,7 @@ //purpose : prevent failure due to overlapped adjacent links //======================================================================= -static bool fixOverlappedLinkUV( R2& uv0, const R2& uv1, const R2& uv2 ) +static bool fixOverlappedLinkUV( R_2& uv0, const R_2& uv1, const R_2& uv2 ) { gp_XY v1( uv0.x - uv1.x, uv0.y - uv1.y ); gp_XY v2( uv2.x - uv1.x, uv2.y - uv1.y ); @@ -339,7 +339,7 @@ //purpose : //======================================================================= -static bool fixCommonVertexUV (R2 & theUV, +static bool fixCommonVertexUV (R_2 & theUV, const TopoDS_Vertex& theV, const TopoDS_Face& theF, const TopTools_IndexedDataMapOfShapeListOfShape & theVWMap, @@ -438,7 +438,7 @@ nextUV = uv; } } - R2 uv0, uv1, uv2; + R_2 uv0, uv1, uv2; uv0.x = thisUV.X(); uv0.y = thisUV.Y(); uv1.x = nextUV.X(); uv1.y = nextUV.Y(); uv2.x = thisUV.X(); uv2.y = thisUV.Y(); @@ -472,7 +472,7 @@ //============================================================================= bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires, - R2 * uvslf, + R_2 * uvslf, vector& mefistoToDS, double scalex, double scaley) @@ -647,7 +647,7 @@ */ //============================================================================= -void StdMeshers_MEFISTO_2D::StoreResult(Z nbst, R2 * uvst, Z nbt, Z * nust, +void StdMeshers_MEFISTO_2D::StoreResult(Z nbst, R_2 * uvst, Z nbt, Z * nust, vector< const SMDS_MeshNode*>&mefistoToDS, double scalex, double scaley) { debian/patches/coin80.patch0000644000000000000000000000201612253601750012736 0ustar Description: fix compilation error afainst coin80 Author: Anton Gladky Last-Update: 2013-05-23 --- freecad-0.13.1830-dfsg.orig/src/Gui/SoTextLabel.cpp +++ freecad-0.13.1830-dfsg/src/Gui/SoTextLabel.cpp @@ -55,7 +55,7 @@ #include #include #include -#include +#include #include "SoTextLabel.h" #include "SoFCInteractiveElement.h" @@ -250,7 +250,7 @@ void SoTextLabel::GLRender(SoGLRenderAct // disable textures for all units SoGLTextureEnabledElement::set(state, this, FALSE); - SoGLTexture3EnabledElement::set(state, this, FALSE); + SoMultiTextureEnabledElement::set(state, this, FALSE); glPushAttrib(GL_ENABLE_BIT | GL_PIXEL_MODE_BIT | GL_COLOR_BUFFER_BIT); glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); debian/patches/set_install_rpath.patch0000644000000000000000000000126112253601750015356 0ustar Description: Let INSTALL_RPATH be set from the command line Author: Anton Gladky Last-Update: 2012-06-14 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,7 +65,10 @@ SET(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation root directory") else(WIN32) SET(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH "Installation root directory") - SET(INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + + IF(NOT INSTALL_RPATH) + SET(INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + ENDIF(NOT INSTALL_RPATH) endif(WIN32) SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") debian/patches/fix_FTBFS_on_precise.patch0000644000000000000000000000115012253601750015554 0ustar Description: Add needed #include. Fixes compilation on Ubuntu Precise, the problem can appear in Debian too. Origin: https://bugs.launchpad.net/ubuntu/+source/freecad/+bug/932723/comments/2 Author: Anton Gladky Last-Update: 2012-02-17 --- a/src/Mod/Image/Gui/GLImageBox.cpp +++ b/src/Mod/Image/Gui/GLImageBox.cpp @@ -16,6 +16,7 @@ * * ***************************************************************************/ +#include #include "PreCompiled.h" #ifndef _PreComp_ # include debian/patches/series0000644000000000000000000000030312253601750012027 0ustar fix_armel_FTBFS.patch fix_FTBFS_on_precise.patch set_install_rpath.patch use_install_rpath.patch use_share.patch do_not_install_binary_examples.patch exclude_ply.patch disable_memory_check.patch debian/patches/use_share.patch0000644000000000000000000000665612253601750013632 0ustar --- a/src/App/FreeCADInit.py +++ b/src/App/FreeCADInit.py @@ -43,6 +43,8 @@ # Checking on FreeCAD module path ++++++++++++++++++++++++++++++++++++++++++ ModDir = FreeCAD.getHomePath()+'Mod' ModDir = os.path.realpath(ModDir) + ModShareDir = '/usr/share/freecad/Mod' + ModShareDir = os.path.realpath(ModShareDir) BinDir = FreeCAD.getHomePath()+'bin' BinDir = os.path.realpath(BinDir) LibDir = FreeCAD.getHomePath()+'lib' @@ -65,6 +67,14 @@ for i in ModDirs: ModDict[i.lower()] = os.path.join(ModDir,i) else: Wrn ("No modules found in " + ModDir + "\n") + + if os.path.isdir(ModShareDir): + Log("") + ModDirs = os.listdir(ModShareDir) + for i in ModDirs: ModDict[i.lower()] = os.path.join(ModShareDir,i) + else: + Wrn ("No modules found in " + ModShareDir + "\n") + # Search for additional modules in the home directory if os.path.isdir(HomeMod): HomeMods = os.listdir(HomeMod) @@ -105,6 +115,8 @@ sys.path.insert(0,LibDir) sys.path.insert(0,ModDir) Log("Using "+ModDir+" as module path!\n") + sys.path.insert(0,ModShareDir) + Log("Using "+ModShareDir+" as module path!\n") # new paths must be prepended to avoid to load a wrong version of a library os.environ["PATH"] = PathExtension + os.environ["PATH"] path = os.environ["PATH"].split(os.pathsep) --- a/src/Mod/Drawing/App/CMakeLists.txt +++ b/src/Mod/Drawing/App/CMakeLists.txt @@ -82,7 +82,7 @@ fc_target_copy_resource(Drawing ${CMAKE_SOURCE_DIR}/src/Mod/Drawing - ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Drawing + ${CMAKE_INSTALL_DATADIR}/Mod/Drawing ${Drawing_Templates}) if(MSVC) --- a/src/Mod/Robot/App/CMakeLists.txt +++ b/src/Mod/Robot/App/CMakeLists.txt @@ -135,7 +135,7 @@ fc_target_copy_resource(Robot ${CMAKE_SOURCE_DIR}/src/Mod/Robot - ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Robot + ${CMAKE_INSTALL_DATADIR}/Mod/Robot ${Robot_Resources}) --- a/src/Mod/Start/Gui/CMakeLists.txt +++ b/src/Mod/Start/Gui/CMakeLists.txt @@ -72,7 +72,7 @@ fc_target_copy_resource(StartGui ${CMAKE_SOURCE_DIR}/src/Mod/Start - ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Start + ${CMAKE_INSTALL_DATADIR}/Mod/Start ${StartPage_Resources}) if(MSVC) --- a/src/Mod/Start/CMakeLists.txt +++ b/src/Mod/Start/CMakeLists.txt @@ -10,5 +10,5 @@ Init.py InitGui.py DESTINATION - Mod/Start + ${CMAKE_INSTALL_DATADIR}/Mod/Start ) --- a/src/Mod/Start/StartPage/CMakeLists.txt +++ b/src/Mod/Start/StartPage/CMakeLists.txt @@ -33,7 +33,7 @@ ) INSTALL(FILES ${StartPage_SRCS} - DESTINATION Mod/Start/StartPage + DESTINATION ${CMAKE_INSTALL_DATADIR}/Mod/Start/StartPage ) INSTALL(FILES ${StartPage_DATA} --- a/src/Mod/Raytracing/CMakeLists.txt +++ b/src/Mod/Raytracing/CMakeLists.txt @@ -10,7 +10,7 @@ InitGui.py RaytracingExample.py DESTINATION - Mod/Raytracing + ${CMAKE_INSTALL_DATADIR}/Mod/Raytracing ) INSTALL( --- a/src/Mod/Drawing/CMakeLists.txt +++ b/src/Mod/Drawing/CMakeLists.txt @@ -12,7 +12,7 @@ DrawingExample.py DrawingTests.py DESTINATION - Mod/Drawing + ${CMAKE_INSTALL_DATADIR}/Mod/Drawing ) INSTALL( --- a/src/Mod/Robot/CMakeLists.txt +++ b/src/Mod/Robot/CMakeLists.txt @@ -13,7 +13,7 @@ RobotExample.py RobotExampleTrajectoryOutOfShapes.py DESTINATION - Mod/Robot + ${CMAKE_INSTALL_DATADIR}/Mod/Robot ) INSTALL( debian/compat0000644000000000000000000000000212253601750010365 0ustar 8 debian/control0000644000000000000000000000645212265541465010612 0ustar Source: freecad Section: science Priority: extra Maintainer: Debian Science Maintainers Uploaders: Teemu Ikonen , "Adam C. Powell, IV" , Anton Gladky Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/freecad.git Vcs-Git: git://anonscm.debian.org/debian-science/packages/freecad.git Homepage: http://freecadweb.org/ Build-Depends: cmake, debhelper (>= 9), gfortran, libboost-date-time-dev, libboost-dev, libboost-filesystem-dev, libboost-graph-dev, libboost-iostreams-dev, libboost-program-options-dev, libboost-python-dev, libboost-regex-dev, libboost-serialization-dev, libboost-signals-dev, libboost-thread-dev, libcoin80-dev, libcv-dev, libeigen3-dev, libf2c2-dev, libfltk1.3-dev, libgts-bin, libgts-dev, liboce-foundation-dev, liboce-modeling-dev, liboce-ocaf-dev, liboce-visualization-dev, libode-dev, libqt4-dev, libqtwebkit-dev, libsoqt4-dev (>=1.6), libspnav-dev, libswscale-dev, libtool, libx11-dev, libxerces-c-dev, libxext-dev, libxi-dev, libxmu-dev, libxt-dev, libzipios++-dev, oce-draw, python-cxx-dev, python-dev, python-support, swig, zlib1g-dev Standards-Version: 3.9.5 Package: freecad Architecture: any Depends: libsoqt4-20 (>=1.6), python-collada, python-matplotlib, python-pivy (>=0.5.0~v609hg-2) [!powerpc], python-ply, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Suggests: freecad-doc Description: Extensible Open Source CAx program (alpha) FreeCAD is an Open Source CAx RAD 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. . Currently, FreeCAD can import and display CAD models in IGES, STEP, and BRep formats and meshes in STL, BMS, AST and Wavefront OBJ formats. Editing and modeling features are currently somewhat limited. Package: freecad-dev Architecture: any Section: libdevel Depends: freecad (= ${binary:Version}), libeigen3-dev, ${misc:Depends}, ${shlibs:Depends} Description: FreeCAD development files FreeCAD is an Open Source CAx RAD 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. For more details see http://sourceforge.net/projects/free-cad . This package contains headers and symlinks necessary to develop modules for FreeCAD. Package: freecad-doc Architecture: all Section: doc Recommends: freecad (= ${source:Version}) Depends: qt4-dev-tools, ${misc:Depends} Description: FreeCAD documentation FreeCAD is an Open Source CAx RAD 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. For more details see http://sourceforge.net/projects/free-cad . This package contains the FreeCAD documentation. . The documentation is provided in Qt's new help format; the new help format version can be viewed in conjunction with the Qt Assistant found in the qt4-dev-tools package. debian/freecad-doc.docs0000644000000000000000000000002512253601750012172 0ustar debian/tmp/usr/doc/* debian/changelog0000644000000000000000000004061312313050726011043 0ustar freecad (0.13.2935-dfsg-1.1build1) trusty; urgency=medium * Rebuild against oce 0.15. -- Colin Watson Fri, 21 Mar 2014 14:51:02 +0000 freecad (0.13.2935-dfsg-1.1) unstable; urgency=low * Non-maintainer upload. * Update xerces build dependency to libxerces-c-dev. (Closes: #733072) -- Jay Berkenbilt Wed, 15 Jan 2014 12:19:37 -0500 freecad (0.13.2935-dfsg-1) unstable; urgency=medium * [824153f] Move python-collada and python-ply from Recommends to Depends. * [3047a6b] Imported Upstream version 0.13.2935-dfsg * [36a4082] Bump Standards-Version: 3.9.5. No changes. -- Anton Gladky Wed, 01 Jan 2014 20:29:15 +0100 freecad (0.13.2800-dfsg-1) unstable; urgency=low * [e051565] Imported Upstream version 0.13.2800-dfsg. (Closes: #730952) * [a2f0187] Update debian/copyright. (Closes: #726805) -- Anton Gladky Mon, 02 Dec 2013 22:11:10 +0100 freecad (0.13.2580-dfsg-2) unstable; urgency=low * [2aab6f0] Update and re-enable disable_memory_check.patch. * [4d36847] Use wrap-and-sort. -- Anton Gladky Mon, 30 Sep 2013 18:49:23 +0200 freecad (0.13.2580-dfsg-1) unstable; urgency=low [ Anton Gladky ] * [1190215] Update get_git_orig_src.sh. * [077e969] Build against BSD-version of soqt. (Closes: #617613) * [37d60d0] Update patches, remove some of them. * [b4801bc] Simplify debian/rules. * [40ddd86] Imported Upstream version 0.13.2580-dfsg * [61e7426] Minor fix in installation files. * [fcaeb91] Fix syntax error in importOCA.py. * [429db74] Ignore quilt dir * [ffccc7d] Unapply patches after build [ Sebastian Hoogen ] * [aa8ab82] Use packaged version of python-ply. -- Anton Gladky Fri, 27 Sep 2013 19:56:46 +0200 freecad (0.13.1830-dfsg-3) unstable; urgency=low [ Simon Ruderich ] * [71fd1c2] Hardening CPPFLAGS and LDFLAGS. (Closes: #711243) [ Peter Michael Green ] * [36d7879] Fix build failures with new oce by forcing occ include directory. (Closes: 718545, 717034) * [7fa3e69] Remove some stuff left behind by build process in clean target to prevent errors from dpkg-source when building multiple times in a row. - obj-* - src/Mod/Start/Gui/share - src/Mod/Drawing/App/share [ Anton Gladky ] * [5906d0e] Update debian-copyright-file. * [07d04d1] Move python-collada from Depends to Recommends-section. * [cf6cb9f] Add python-collada to Depends. * [36b4bc0] Add versioned dependency on libsoqt4-20. (Closes: #711812) * [32738be] Use canonical VCS. -- Anton Gladky Wed, 07 Aug 2013 23:43:36 +0200 freecad (0.13.1830-dfsg-2) unstable; urgency=low * [800a2d9] Compile freecad against libcoin80. (Closes: #617613) * [abee4e5] Compile against fltk1.3 instead of fltk1.1 * [23916ae] Raise the minimal version of soqt4-dev due to coin80. * [87207ba] Update homepage. * [224f12d] Add versioned dependency on python-pivy. -- Anton Gladky Thu, 30 May 2013 19:48:30 +0200 freecad (0.13.1830-dfsg-1) unstable; urgency=low [ Boris Pek ] * [fbdfc08] Update debian/rules: use src/Build/Version.h provided by upstream. (Closes: #706578) * [eb29048] Update scripts/get_git_orig_src.sh: - change version format. -- Anton Gladky Thu, 02 May 2013 23:05:20 +0200 freecad (0.13.1830-dfsg-1~exp1) experimental; urgency=low * [0175d6f] Add python-matplotlib to depends-section. * [eb9bc9a] Imported Upstream version 0.13.1830-dfsg * [e2ec220] Use Standards-Version: 3.9.4. No changes. * [25815b6] Remove obsolete DM-Upload-Allowed flag. * [24f4cd0] Update dates in copyright-file. -- Anton Gladky Mon, 04 Feb 2013 22:11:12 +0100 freecad (0.13~20130106.gitafb3355-exp1) experimental; urgency=low * [0efcf90] Imported Upstream version 0.13~20130106.gitafb3355 * [a5ddc03] Install missing usr/share. (Closes: #697573) -- Anton Gladky Thu, 10 Jan 2013 18:45:11 +0100 freecad (0.13~20121120.git5082ae2-2~exp2) experimental; urgency=low * [bcc4f2e] Enable dir_as_string.patch. * [41e4a4e] Fix python-warning during install. -- Anton Gladky Fri, 23 Nov 2012 22:11:25 +0100 freecad (0.13~20121120.git5082ae2-1) experimental; urgency=low [ Sandro Knauß ] * [3d64502] Adding libode-dev, libspnav-dev to Builddeps. Remove all autotool Builddeps. * [c432199] use more debianize directories in debian/rules. * [0a1599d] Add debian/patches/dir_as_string.patch. * [217ec7c] Add debian/patches/use_install_rpath.patch. * [36766ed] Add debian/patches/use_share.pach. [ Anton Gladky ] * [96fc2ed] Use cmake for git-version of freecad. * [581b23b] Prepare for 0.13rc * [d9b01ef] Fix compilation. * [197b945] Add script for getting freecad from git-repo. * [ebae551] Imported Upstream version 0.13~20121120.git5082ae2 -- Anton Gladky Tue, 20 Nov 2012 19:22:23 +0100 freecad (0.12.5284-dfsg-7) unstable; urgency=low * [b420ea0] Add -fpermissive to cpp, c-flags to fix FTBFS with gcc-4.7. -- Anton Gladky Mon, 14 May 2012 19:32:10 +0200 freecad (0.12.5284-dfsg-6) unstable; urgency=low * [d31cbf4] Disable python-pivy depends on powerpc. -- Anton Gladky Thu, 12 Apr 2012 21:05:36 +0200 freecad (0.12.5284-dfsg-5) unstable; urgency=low * [4d3e1c0] Do not build freecad parallel, it causes FTBFS sometimes ( -j5). * [d749637] Fix FTBFS during compiling against oce-0.9.1. Thanks to Denis Barbier. (Closes: #664207) * [28cb8ba] Fix bug of identifying SWIG version. Thanks to Werner Mayer . (Closes: #646374) * [fde200f] Use Standards-Version 3.9.3. No changes. * [595a19e] Minor update of copyright file due to released DEP-5. * [65ef554] Enable HAVE_SWIG option. * [1af4c8a] Fix crash in Help->About menu. (Closes: #663704) -- Anton Gladky Sun, 18 Mar 2012 08:51:19 +0100 freecad (0.12.5284-dfsg-4) unstable; urgency=low * [84c5407] Add needed #include. Fix compilation on Ubuntu Precise. * [7b3d15a] Move python-pivy from recommends to depends section. (Closes: #646374) * [9136519] Update homepage section. * [da53f03] Raise dh-compat to version 8. -- Anton Gladky Fri, 17 Feb 2012 19:59:20 +0100 freecad (0.12.5284-dfsg-3) unstable; urgency=low * [da3974a] Switch from opencascade to oce. (Closes: #659133) -- Anton Gladky Thu, 09 Feb 2012 20:55:05 +0100 freecad (0.12.5284-dfsg-2) unstable; urgency=low * [125b5f6] Add libeigen3-dev to "depends" in freecad-dev. * Rebuild due to opencv-transition. -- Anton Gladky Sun, 22 Jan 2012 20:07:21 +0100 freecad (0.12.5284-dfsg-1) unstable; urgency=low * [99b66f2] Imported Upstream version 0.12.5284-dfsg * [dc52b9c] Remove patch (gcc-4.6 compilation), hopefully applied by upstream. * [f66ef5d] Remove patch (typo). * [ce862a0] Update copyright file (add data-files). * [91d5731] Use eigen3 instead of eigen2. -- Anton Gladky Mon, 09 Jan 2012 21:29:18 +0100 freecad (0.11.4446-dfsg-4) unstable; urgency=low * [d3ec609] Make a line in changelog shorter. Fix lintian-warning. * [df77453] Fix (hopefully) FTBFS on Armel. Thanks to Paul Brook. (Closes: #623559) -- Anton Gladky Fri, 28 Oct 2011 20:25:21 +0200 freecad (0.11.4446-dfsg-3) unstable; urgency=low * [12d6b55] Add -lrt key in LDFLAGS to configure properly opencascade on kfreebsd. * [bbd8acc] Remove .la files from -dev binary. * [8932ee7] Disable memory check in SMDS. (Closes: #623560). -- Anton Gladky Sat, 24 Sep 2011 16:35:30 +0200 freecad (0.11.4446-dfsg-2) unstable; urgency=low * [93347cc] Switch off SWIG to fix FTBFS. (Closes: #632348) -- Anton Gladky Tue, 05 Jul 2011 22:41:21 +0200 freecad (0.11.4446-dfsg-1) unstable; urgency=low [ Teemu Ikonen ] * [58f7907] Copyright: Update. [ Anton Gladky ] * [f5d9322] Imported Upstream version 0.11.4446-dfsg. (Closes: #576653). * [aeacc72] Add DM-Upload-Allowed field. * [b08f851] Add changes to debian/rules as suggested by Werner Mayer. * [c82751a] Delete old patches. * [e71109f] Add libopencascade-ocaf-dev to BD. * [9746063] Import patch to fix compilation error with GCC-4.6. * [175e959] Update watch file. * [7989aa6] Update debian/rules to dh 7, thanks to Bernhard R. Link. -- Anton Gladky Thu, 09 Jun 2011 21:27:03 +0200 freecad (0.11.3729.dfsg-2) unstable; urgency=low * Add gfortran and libopencascade-visualization-dev to BD to fix FTBFS (closes: #622694) * Add libqtwebkit-dev to BD (closes: #618241) * Delete quilt from BD and corresponding changes in rules. * Add description to freecad-occ650.patch * Delete encoding string from .desktop * Fix some spelling errors, pointed out by lintian. -- Anton Gladky Thu, 14 Apr 2011 10:23:25 +0100 freecad (0.11.3729.dfsg-1) unstable; urgency=low [ Denis Barbier ] * Merge OpenCASCADE 6.5.0 compatibility patch (closes: #617545). [ Adam C. Powell, IV ] * New upstream (closes: #622213, #618241). * Changed to source format 3.0 (quilt). * Added patch target which forces autotools to run, and automake and autoconf are now in Build-Depends (closes: #607181). * Set aside src/Build/Version.h to prevent build problems. * Does not install .la files (closes: #621298). * Boost 1.46 compatibility patch (closes: #621877). * Set aside files which autotools modifies so clean works. * Added libtool to Build-Depends (thanks: PICCA Frédéric-Emmanuel). * Bumped Standards-Version, no changes needed. -- "Adam C. Powell, IV" Tue, 12 Apr 2011 23:40:30 -0400 freecad (0.10.3247.dfsg-2) unstable; urgency=low * control: - Update to standars-version 3.9.0. - Remove libblas-dev, libatlas-dev from build-deps. * Add debian/shlibs.local file containing the the correct binary dep to libsoqt4-20 (closes: #575239). * copyright: Add a verbatim copy of Tiddlywiki BSD license. Fixes the lintian warning copyright-refers-to-deprecated-bsd-license-file. * Add kFreeBSD portability fixes. Thanks to Petr Salinger for the patch (closes: #592461). -- Teemu Ikonen Wed, 18 Aug 2010 19:34:36 +0200 freecad (0.10.3247.dfsg-1) unstable; urgency=low * New upstream version (closes: #582627) * Add debian/source/format file with contents "1.0". * Use freecad.xpm as icon in menu and desktop files. * copyright: Add licensing information for new files in this release. * src/Base/Makefile.in, src/Gui/Makefile.in: Do not remove *.tab.c files in make distclean target. * control: - Add build-dep to libeigen2-dev. - Update to standards-version 3.8.4. -- Teemu Ikonen Mon, 05 Jul 2010 15:07:49 +0200 freecad (0.9.2646.5.dfsg-1) unstable; urgency=low * Add 'dfsg' extension to upstream version, upstream sources are unchanged. * Remove libgl1-mesa-dev build-dep, rely on libcoin to pull in GL libraries. * Change build-dep libatlas-headers to libatlas-dev (closes: #577309). -- Teemu Ikonen Fri, 14 May 2010 17:20:35 +0200 freecad (0.9.2646.5-1) unstable; urgency=low * New upstream version (closes: #561696). * Added swig to Build-Depends (closes: #563523, #563772). * Removed python-opencv from Build-Depends and Recommends (closes: #560768). -- Adam C. Powell, IV Mon, 11 Jan 2010 08:48:33 -0500 freecad (0.9.2646.4-1) unstable; urgency=low * New upstream version (closes: #559849, #559846). -- Adam C. Powell, IV Fri, 11 Dec 2009 20:21:32 -0500 freecad (0.9.2646.3-1) unstable; urgency=low * New upstream version. Removes TiddlySaver.jar, fixes help problems. -- Teemu Ikonen Thu, 03 Dec 2009 19:39:27 +0100 freecad (0.9.2646-1) unstable; urgency=low [ Werner Mayer ] * New upstream release * In-source copy of PyCXX has been dropped (closes: #547936) * In-source copy of zipios++ has been dropped (closes: #547941) * Change build-dependency on python2.5-dev to python-dev * Add freecad-doc binary package * Remove Suggestion of a chm viewer, suggest freecad-doc instead [ Teemu Ikonen ] * Add override to dh_compress * Add versioned build-deb to debhelper (>= 7.0.50) * Add build-deps to libzipios++-dev and python-cxx-dev. -- Teemu Ikonen Tue, 17 Nov 2009 14:22:00 +0100 freecad (0.8.2237-2) unstable; urgency=low * Added libboost-python-dev to Build-Depends (closes: #549738). * Added myself to uploaders list. * Bumped Standards-Version. -- Adam C. Powell, IV Thu, 12 Nov 2009 12:02:42 -0500 freecad (0.8.2237-1) unstable; urgency=low * New Upstream release -- Teemu Ikonen Thu, 16 Jul 2009 18:37:41 +0200 freecad (0.7.1658-1) UNRELEASED; urgency=low * New upstream release -- Teemu Ikonen Mon, 20 Oct 2008 15:35:58 +0200 freecad (0.7.1514-1) UNRELEASED; urgency=low * New upstream version * Add more stuff to the copyright file * control: add build-dep to python-central -- Teemu Ikonen Wed, 06 Aug 2008 18:25:02 +0200 freecad (0.7.1350-1hardy1) UNRELEASED; urgency=low * Package for Ubuntu 8.04 (Hardy Heron) -- Werner Mayer Thu, 29 May 2008 11:11:20 +0200 freecad (0.7.1350-1gutsy1) UNRELEASED; urgency=low * Backport to Ubuntu 7.10 (Gutsy Gibbon) -- Werner Mayer Sat, 24 May 2008 01:54:39 +0200 freecad (0.7.1350-1feisty1) UNRELEASED; urgency=low * Backport to Ubuntu 7.04 (Feisty Fawn) -- Werner Mayer Sat, 24 May 2008 00:09:08 +0200 freecad (0.7.1350-1) UNRELEASED; urgency=low * New upstream release from sf.net * Import to debian-science repository at git.debian.org * control: - Update to standards-version 3.7.3 - Add Vcs-* fields pointing to git.debian.org - Improve descriptions * Convert copyright to (pseudo) machine readable format, audit source * Fix categories in .desktop file * Change Section to Science/Engineering in .doc-base and menu files * rules: do not ignore errors on clean target, add dh_desktop call -- Teemu Ikonen Tue, 05 Aug 2008 18:58:07 +0200 freecad (0.7.1344-1ubuntu2) UNRELEASED; urgency=low * New package with fixed self-dependency problem -- Werner Mayer Thu, 22 May 2008 15:34:34 +0200 freecad (0.7.1344-1ubuntu1) UNRELEASED; urgency=low * New debian package for Feisty -- Werner Mayer Thu, 22 May 2008 11:04:06 +0200 freecad (0.7.1344-1) UNRELEASED; urgency=low * Write patch file to make builds with OpenCASCADE libs inside but with no dependency to libopencascade6.2 -- Werner Mayer Wed, 21 May 2008 10:06:07 +0200 freecad (0.7.1343-1) UNRELEASED; urgency=low * Embed required OpenCASCADE libs into this package as long as no official Debian package is available -- Werner Mayer Tue, 20 May 2008 00:40:39 +0200 freecad (0.7.1342-1) UNRELEASED; urgency=low * Switch to new versioning scheme of OpenCASCADE packages -- Werner Mayer Mon, 19 May 2008 23:55:31 +0200 freecad (0.7.1316-1) UNRELEASED; urgency=low * Support of pivy (Python binding for Coin/SoQt) * Support of PyQt4 * General support of SWIG modules -- Werner Mayer Sat, 26 Apr 2008 13:51:25 +0200 freecad (0.7.1031-1) UNRELEASED; urgency=low * Qt4 port finished * Support of Python binding for Qt4 * Support of Python binding for Coin * Support of entirely in Python written modules * Added support of model driven architecture for Python binding * Use boost's signal/slot mechanism to update data -- Werner Mayer Tue, 04 Jan 2008 13:50:37 +0200 freecad (0.7.645-1) UNRELEASED; urgency=low * Qt4 port started -- Werner Mayer Tue, 24 Jul 2007 13:04:37 +0200 freecad (0.6.472-1) UNRELEASED; urgency=low * Initial Release -- Werner Mayer Tue, 26 Sep 2006 16:55:15 +0200 debian/scripts/0000755000000000000000000000000012253601750010656 5ustar debian/scripts/get_git_orig_src.sh0000755000000000000000000000243612253601750014533 0ustar #!/bin/bash # The script creates a tar.xz tarball from git-repository of freecad-project # ./get_orig_src.sh commitID - creates a tarball of specified commit # ./get_orig_src.sh - creates a tarball of the latest version # Packages, that needs to be installed to use the script: # atool, git-core set -e git clone git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad git_temp_packaging cd git_temp_packaging if [ $1 ] then echo 'Checking out the revision ' $1 git checkout -b newvers $1 else echo 'Using the latest revision' fi GIT_CMT_COUNT=$(git rev-list HEAD | wc -l) DEB_VER=0.13.$GIT_CMT_COUNT-dfsg FOLDER_NAME=freecad-$DEB_VER TARBALL_NAME=freecad_$DEB_VER.orig.tar.xz echo $DEB_VER echo $FOLDER_NAME echo $TARBALL_NAME python src/Tools/SubWCRev.py cd .. rm -fr $FOLDER_NAME mv git_temp_packaging $FOLDER_NAME rm -rf $FOLDER_NAME/.git rm -rf $FOLDER_NAME/src/3rdParty/CxImage rm -rf $FOLDER_NAME/src/3rdParty/Pivy rm -rf $FOLDER_NAME/src/3rdParty/Pivy-0.5 rm -rf $FOLDER_NAME/src/3rdParty/ANN/doc/ANNmanual.pdf rm -rf $FOLDER_NAME/src/Mod/Ship/simRun/theory/main.pdf rm -rf $FOLDER_NAME/src/Mod/Mod/Robot/Lib/Kuka/*.pdf rm -rf $FOLDER_NAME/src/Doc/TiddlySaver.jar rm -rf $FOLDER_NAME/data/examples/*.FCStd tar Jcvf $TARBALL_NAME $FOLDER_NAME rm -fr $FOLDER_NAME