From: Tobias Frost Date: Sat, 25 May 2024 14:11:03 +0000 (+0200) Subject: Import freecad_0.21.2+dfsg1-3.debian.tar.xz X-Git-Tag: archive/raspbian/0.21.2+dfsg1-3+rpi1~1^2~12^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=561ae7a8b0ff475bf58a77b514a8d7243c220670;p=freecad.git Import freecad_0.21.2+dfsg1-3.debian.tar.xz [dgit import tarball freecad 0.21.2+dfsg1-3 freecad_0.21.2+dfsg1-3.debian.tar.xz] --- 561ae7a8b0ff475bf58a77b514a8d7243c220670 diff --git a/changelog b/changelog new file mode 100644 index 00000000..5e0288b8 --- /dev/null +++ b/changelog @@ -0,0 +1,1268 @@ +freecad (0.21.2+dfsg1-3) unstable; urgency=medium + + * Team upload. + * Rework autopkgtest script, update available tests and block + TestPathApp also for i386. + + -- Tobias Frost Sat, 25 May 2024 16:11:03 +0200 + +freecad (0.21.2+dfsg1-2) unstable; urgency=medium + + * Team upload. + * Fix FTBFS with opencascade 7.8.1 (Closes: #1071283), and B-D on new + opencascade. + + -- Tobias Frost Fri, 24 May 2024 21:17:26 +0200 + +freecad (0.21.2+dfsg1-1) unstable; urgency=medium + + * Team upload. + * New upstream version. (Closes: #1043104) + - Remove upstream applied patches: + - 0000-numpy-1.24 + - 0010-arch-tutorial + - 0030-fix-1014875-arm-FTBFS + - 0040-python3-interpreter + - 0050-appstream-meta-launcable + - 0060-bug-993089-dxf-support-desktop-file + - 0070-python3-interpreter + - 0080-fix-s390x-test-fail-skip-load-old-file + - 0090-gcc13-fix + - 0100-opencamlib-new-import + - 1110-path-g49-move-0.20.patch + - Remove obsolete Patch: 1010-opencascade74 - upstream removed raytracing + functionality. + - Refreshed paches: + - 0110-desktop-extra-categories.patch + - 1100-run_single-instance.patch + - New patch: 2040-ftbfs-macappbundle.patch, to avoid that CMake + is not missing the removed MacAppBundle directory. + - New B-Ds on libfmt-dev python3-pivy + * Remove override for dh_installchangelogs, upstream does no longer ship an + Changelog. + * Override dh_strip_nondeterminism, as it chokes on the corrupted zip + file used in a unit test. + * Add gmock/gtest to d/not-installed. + * Remove B-D on libqtwebkit5-dev, as upstream stopped support + for it. This results that freecad will be built without the "Web + Workbench", on architectures that do not have qtwebengine5-dev. + (all except amd64, arm64, armhf, i386 and mipsel64) + + -- Tobias Frost Mon, 18 Dec 2023 18:28:59 +0100 + +freecad (0.20.2+dfsg1-10) unstable; urgency=medium + + * Team upload. + + [ Petter Reinholdtsen ] + * Added 1120-desktop-extra-categories.patch to include X-CNC category + to XDG desktop meny entry. + + [ Bas Couwenberg ] + * Drop unused libproj-dev build dependency. + + [ Petter Reinholdtsen ] + * Added recommend and patched code to find find new opencamlib package. + + -- Petter Reinholdtsen Mon, 04 Sep 2023 15:53:04 +0200 + +freecad (0.20.2+dfsg1-9) unstable; urgency=medium + + * Team upload. + + * Added 0090-gcc13-fix.patch to fix GCC 13 build problem (Closes: #1037664). + + -- Petter Reinholdtsen Wed, 26 Jul 2023 23:14:08 +0200 + +freecad (0.20.2+dfsg1-8) unstable; urgency=medium + + * Team upload. + + * Updated patch metadata for patches now applied upstream. + * Added 1110-path-g49-move-0.20.patch avoiding dangerous G-code + from Path (Closes: #1040426). + + -- Petter Reinholdtsen Tue, 11 Jul 2023 17:29:12 +0200 + +freecad (0.20.2+dfsg1-7) unstable; urgency=medium + + * Team upload. + + * Moved patches upstream to 0xxx patch sequence. + * Corrected patch metadata for *opencascade74.patch. + * Added new 1160-python3-interpreter.patch to fix more + lintian warnings. + * Dropped superfluous file patterns pointing to non-existing files + from d/copyright. + * Remove unused dh-exec from debian/freecad-common.install. + + -- Petter Reinholdtsen Thu, 06 Jul 2023 08:25:20 +0200 + +freecad (0.20.2+dfsg1-6) unstable; urgency=medium + + * Team upload. + + * Removed 1000-fix-occt-7.5.2.patch now applied upstream. + * Sent patches upstream and updated metadata to relect this. + * Removed cruft from metadata of two patches. + * Classified *fix-1017598.patch as Debian specific, in line with + its description. + * Renamed and added patch metadata to *python3.8-syntax.patch. + * Added 1160-python3-interpreter.patch to fix lintian warning + unusual-interpreter. + * Added 0010-arch-tutorial.patch to get arch tutorials working + with Python >= 3.11 (Closes: #1031566). + + -- Petter Reinholdtsen Sat, 01 Jul 2023 08:44:13 +0200 + +freecad (0.20.2+dfsg1-5) unstable; urgency=medium + + * Team upload. + + * Changed upstream URL from https://freecadweb.org/ to + https://freecad.org/ (Closes: #1031830). + * Updated Standards-Version from 4.6.1 to 4.6.2. No changes needed. + * Corrected typos and metadata in several patch files. + * Standardised Author information in patch files, preferred + @debian.org addresses. + * Restructured patches into upstreamable and debian specific groups. + * Removed obsolete NEWS.debian. + * Added 1150-appstream-meta-launcable.patch trying to fix Appstream + generator warning. + + -- Petter Reinholdtsen Fri, 30 Jun 2023 08:02:21 +0200 + +freecad (0.20.2+dfsg1-4) unstable; urgency=medium + + * Team upload. + * Apply work-around for crash when started with --single-instance, + e.g. using the .desktop file (Closes: #1029846) + + -- Tobias Frost Sat, 04 Feb 2023 14:01:18 +0100 + +freecad (0.20.2+dfsg1-3) unstable; urgency=medium + + * [c522953] Remove redundant `freecadcmd --console` in autopkgtest + * [0bef48d] Add patch for numpy 1.24 + + -- Kurt Kremitzki Tue, 10 Jan 2023 11:08:11 -0600 + +freecad (0.20.2+dfsg1-2) unstable; urgency=medium + + * [3bfb4a5] Add arch-specific Qt WebKit fallback + + -- Kurt Kremitzki Mon, 09 Jan 2023 19:15:33 -0600 + +freecad (0.20.2+dfsg1-1) unstable; urgency=medium + + [ Tobias Frost ] + * [7556687] Add several supported MIME types to the .desktop file. + (Closes: #993089) + + [ Kurt Kremitzki ] + * [69cb156] Switch from Qt WebKit to WebEngine + * [bdc52cd] New upstream version 0.20.2+dfsg1 (Closes: #1028171) + * [1e3598e] Refresh patches + + -- Kurt Kremitzki Mon, 09 Jan 2023 17:00:02 -0600 + +freecad (0.20.1+dfsg1-2) unstable; urgency=medium + + * Team upload. + * autopkgtest: Disable test TestPathApp on s390x. + + -- Tobias Frost Fri, 09 Sep 2022 17:01:54 +0200 + +freecad (0.20.1+dfsg1-1) unstable; urgency=medium + + * New upstream release. + + -- Tobias Frost Fri, 26 Aug 2022 23:58:01 +0200 + +freecad (0.20+dfsg1-6) unstable; urgency=medium + + * Revert running freecad in the autopkgtest, this needs more work. + + -- Tobias Frost Thu, 18 Aug 2022 21:30:34 +0200 + +freecad (0.20+dfsg1-5) unstable; urgency=medium + + * Team upload. + * Disable test femtest.app.test_solver_calculix.TestSolverCalculix, as + this test is currently broken on some archs. Closes: #1017598. + * Run freecad (gui executeable) test suite also in the autopkgtest, + in the hope that missing libraries will be caught too (see #1013881). + + -- Tobias Frost Thu, 18 Aug 2022 12:38:22 +0200 + +freecad (0.20+dfsg1-4) unstable; urgency=medium + + * Team upload. + * Fix FTBFS on armel and armhf, GL_PROJECTION not declared in this scope + with patch fix-1014875-arm-FTBFS.patch (Closes: #1014875) + + -- Tobias Frost Tue, 09 Aug 2022 18:37:51 +0200 + +freecad (0.20+dfsg1-3) UNRELEASED; urgency=medium + + * d/u/metadata: Added SciCrunch RRID:SCR_022535 + + -- Steffen Moeller Tue, 05 Jul 2022 21:17:32 +0200 + +freecad (0.20+dfsg1-2) unstable; urgency=medium + + * Team upload. + * More verbose description. + + -- Steffen Moeller Tue, 05 Jul 2022 02:16:00 +0200 + +freecad (0.20+dfsg1-1) unstable; urgency=medium + + * Team upload. + * New upstream version. (Closes: #1007013) + * Removed surface_extended_patch.patch - already found upstream + * Removed remove_doc-files.patch - no longer applicable/needed + * Removed fix_vtk9.patch - addressed upstream + * Standards-Version: 4.6.1 (routine-update) + * Extended runtime dependencies on python Qt modules as instructed + upon execution of freecad. + + -- Steffen Moeller Mon, 04 Jul 2022 15:29:38 +0200 + +freecad (0.19.4+dfsg1-1) unstable; urgency=medium + + * Team upload. + + * New upstream version - a bug-fix release + Release notes: https://github.com/FreeCAD/FreeCAD/releases/tag/0.19.4 + - Fixes CVE-2021-45844 (Closes: #1005747) + - Fixes CVE-2021-45845 + * Added link-time optimization + + -- Steffen Moeller Fri, 04 Mar 2022 16:01:45 +0100 + +freecad (0.19.3+dfsg1-2) unstable; urgency=medium + + * Team upload. + + [ Håvard Flaget Aasen ] + * Move files from /usr/share/freecad/share/* to /usr/share/* + * Move appstream files from freecad-common to freecad, specifically + /usr/share/applications/*, /usr/share/metainfo/* and /usr/share/mime/*. + This will make sofware relying on appstream to install correct package. + (Closes: #981175) + * Don't install .xpm icon. + * Prefer upstream version of desktop and sharedmimeinfo files. + * Explicitly list folders to install in freecad-common. + * Add patch to include previous set option in desktop file. + Making freecad only run as single instance. + + [ Tobias Frost ] + * Fix filename of SurfaceExtend icon (Closes: #992715) + + -- Steffen Moeller Fri, 25 Feb 2022 14:04:59 +0100 + +freecad (0.19.3+dfsg1-1) unstable; urgency=medium + + * Team upload. + + [ Tobias Frost ] + * Tighten dependencies on metapackage, so that the right version + of all packages will be pulled on update. (Closes: #980474) + + [ Steffen Moeller ] + * Remove trailing whitespace in debian/copyright (routine-update) + * Add salsa-ci file (routine-update) + * watch file standard 4 (routine-update) + * patch/python3.8 adopted upstream + * improved d/rules clean target for repeated builds + + -- Tobias Frost Fri, 22 Oct 2021 12:45:02 +0200 + +freecad (0.19.2+dfsg1-3) unstable; urgency=medium + + * Team upload. + * [6e8d7af] Compile against vtk9 instead of vtk7 + + -- Anton Gladky Sat, 25 Sep 2021 09:52:47 +0200 + +freecad (0.19.2+dfsg1-2) unstable; urgency=medium + + * [bc42245] Add patch for OpenCASCADE >= 7.5.2 + * [acc44a0] Add Rules-Requires-Root: no + * [8a24737] Add DEP-3 headers to document OpenCASCADE 7.4.0 patch + * [cafc615] Update to Standards-Version 4.6.0 (no changes required) + + -- Kurt Kremitzki Mon, 06 Sep 2021 19:13:40 -0500 + +freecad (0.19.2+dfsg1-1) unstable; urgency=medium + + * [9a27ec0] New upstream version 0.19.2+dfsg1 + * [cbf49b1] Refresh fix-s390x-test-fail-skip-load-old-file.patch + + -- Kurt Kremitzki Sat, 04 Sep 2021 15:44:21 -0500 + +freecad (0.19.1+dfsg1-2) unstable; urgency=medium + + * Team upload. + * [aed47c1] Fix whitespaces in previous commit from Christian Ehrhardt, + breaking python autopkgtests + + -- Gianfranco Costamagna Tue, 16 Mar 2021 17:55:02 +0100 + +freecad (0.19.1+dfsg1-1) unstable; urgency=medium + + [ Christian Ehrhardt ] + * [fbc90b2] skip self test open_de9b3fb438 on s390x as it goes OOM + (LP: #1918474)(Closes: #984952) + + [ Kurt Kremitzki ] + * [3ae55a4] New upstream version 0.19.1+dfsg1 + * [bc2242e] Drop fix-fem-crash.patch, included in 0.19.1 + + -- Kurt Kremitzki Mon, 15 Mar 2021 21:00:32 -0500 + +freecad (0.19+dfsg1-2) unstable; urgency=medium + + * [e19be27] Add patch to fix crash in FEM Constraint::getDirection + (Closes: #983590) + + -- Kurt Kremitzki Sun, 28 Feb 2021 03:36:37 -0600 + +freecad (0.19+dfsg1-1) unstable; urgency=medium + + * [40577ea] New upstream version 0.19+dfsg1 + * [f346346] Add python3-matplotlib build dependency + + -- Kurt Kremitzki Thu, 25 Feb 2021 11:53:32 -0600 + +freecad (0.19~pre1+git20210207.a3fb41502b+dfsg-1) unstable; urgency=medium + + * [fc00a73] New upstream version 0.19~pre1+git20210207.a3fb41502b+dfsg + * [b1f38b0] Refresh patches + + -- Kurt Kremitzki Sun, 07 Feb 2021 18:46:40 -0600 + +freecad (0.19~pre1+git20210109.afd1470202+dfsg1-2) unstable; urgency=medium + + * [bcad731] Add python3-yaml runtime dep + * [4f5dd12] Set FREECAD_USER_HOME for autopkgtest + + -- Kurt Kremitzki Wed, 20 Jan 2021 10:49:37 -0600 + +freecad (0.19~pre1+git20210109.afd1470202+dfsg1-1) unstable; urgency=medium + + * [1395c4c] Update freecad-common symlinks (Closes: #980292) + * [154c84e] New upstream version 0.19~pre1+git20210109.afd1470202+dfsg1 + + -- Kurt Kremitzki Mon, 18 Jan 2021 12:48:25 -0600 + +freecad (0.19~pre1+git20201221.3b449e1ce9+dfsg1-2) unstable; urgency=medium + + * [2ce772e] Add Breaks+Replaces for libfreecad-python3-0.19 over 0.18 + (Closes: #976430) + * [0046d46] Always only --list-missing + + -- Kurt Kremitzki Thu, 24 Dec 2020 06:54:50 -0600 + +freecad (0.19~pre1+git20201221.3b449e1ce9+dfsg1-1) unstable; urgency=medium + + * [921e9bc] New upstream version 0.19~pre1+git20201221.3b449e1ce9+dfsg1 + * [ea5594a] Refresh python3.8.patch + + -- Kurt Kremitzki Mon, 21 Dec 2020 11:23:53 -0600 + +freecad (0.19~pre1+git20201123.8d73c8f0+dfsg1-1) experimental; urgency=medium + + * [ede52e5] New upstream version 0.19~pre1+git20201123.8d73c8f0+dfsg1 + * [b8be794] Refresh patches + * [5b061b9] Update packaging for 0.19 + + -- Kurt Kremitzki Sun, 29 Nov 2020 03:20:11 -0600 + +freecad (0.18.4+dfsg2-6) unstable; urgency=medium + + * Team upload. + * [63b9bcf] Fix compilation against boost and python3.9. + (Closes: #975267, #973285) + * [5773c7e] Use secure URI in Homepage field. + * [ffb3bbb] Set debhelper-compat version in Build-Depends. + * [15de038] Set upstream metadata fields: Repository, Repository-Browse. + * [afe02a4] Fix day-of-week for changelog entry 0.7.1031-1. + * [159b458] Update standards version to 4.5.0, no changes needed. + + -- Anton Gladky Thu, 19 Nov 2020 20:50:53 +0100 + +freecad (0.18.4+dfsg2-5) unstable; urgency=medium + + * [6ef07803] cherry-pick upstream commits: + - 17ed2b196a58afbbc3cc1bb99f6eb76060171ad2 + - 1666b28836baa79b26b707afb1e97c2a0855eb1f + - 1bca53917db942aa8e0639c8e2c2f33b2e09c1b0 + and drop new-pyside2.patch patch + * [ 1b8737ca ]Drop depends on python3-pyside2uic, + dropped by pyside2 (experimental), and add + pyqt5-dev-tools for new pyrcc5 tool + + -- Gianfranco Costamagna Sun, 07 Jun 2020 14:39:33 +0200 + +freecad (0.18.4+dfsg2-4) unstable; urgency=medium + + * Team upload + + [ Gianfranco Costamagna ] + * [224b2c8a] Drop unused libboost-signals-dev (Closes: #962086) + + [ Graham Inggs ] + * [e3aa33cd] Fix TaperedHole test for OCCT 7.4 (Closes: #961131) + + -- Gianfranco Costamagna Sat, 06 Jun 2020 12:07:18 +0200 + +freecad (0.18.4+dfsg2-3) unstable; urgency=medium + + * [a1d5760] Disable netgen builds for now + * [cbbde84] Add patch for OCCT 7.4 regression test case + + -- Kurt Kremitzki Wed, 20 May 2020 03:48:36 -0500 + +freecad (0.18.4+dfsg2-2) unstable; urgency=medium + + [ Tobias Frost ] + * [b742def] Import Ubuntu patches to fix Python 3.8 FTBFS (Closes: #953721). + This also includes some other patches from Ubuntu that are worth as they + are fixing crashes. Thanks to Gianfranco for his work in Ubuntu. + + [ Kurt Kremitzki ] + * [d56ac71] Correct line ending issue with patch + * [599ea99] Add opencascade74.patch (Closes: #956543) + + -- Kurt Kremitzki Tue, 19 May 2020 04:24:52 -0500 + +freecad (0.18.4+dfsg2-1) unstable; urgency=medium + + * [e8be3d7] New upstream version 0.18.4+dfsg2 + * [5fefd1a] Don't hardcode Python 3 version (Closes: #950137) + + -- Kurt Kremitzki Tue, 11 Feb 2020 06:26:08 -0600 + +freecad (0.18.4+dfsg1-2) unstable; urgency=medium + + [ Kurt Kremitzki ] + * [1e38838] Revert dwz override after upstream fix + + [ Gianfranco Costamagna ] + * Team upload + * [84844f5] Tweak rules file to make it use with Python3.7 + (Closes: #945314), the one used during pyside build + + -- Gianfranco Costamagna Mon, 30 Dec 2019 11:04:13 +0100 + +freecad (0.18.4+dfsg1-1) unstable; urgency=medium + + * [3928e77] New upstream version 0.18.4+dfsg1 + * [55b8edd] Update version display patch for 0.18.4 + + -- Kurt Kremitzki Sun, 03 Nov 2019 13:26:10 -0600 + +freecad (0.18.3+dfsg1-4) unstable; urgency=medium + + * [e768789] Add dh_dwz override for i386, mipsel, and s390x due to upstream + regression + + -- Kurt Kremitzki Wed, 30 Oct 2019 22:43:14 -0500 + +freecad (0.18.3+dfsg1-3) unstable; urgency=medium + + * [c78f8e9] Revert enabling Netgen/Pybind11 builds + + -- Kurt Kremitzki Tue, 17 Sep 2019 11:00:11 -0500 + +freecad (0.18.3+dfsg1-2) unstable; urgency=medium + + * [898fd80] Migrate to Python 3 only, Netgen-enabled build (Closes: + #936552) + * [2c077ab] Bump compat level to 12 + * [276a12e] Bump Standards-Version to 4.4.0 (no changes needed) + + -- Kurt Kremitzki Sun, 08 Sep 2019 17:35:08 -0500 + +freecad (0.18.3+dfsg1-1) unstable; urgency=medium + + * [5f5b5c2] New upstream version 0.18.3+dfsg1 + * [6c43d54] Update set_about_freecad.patch for new version + + -- Kurt Kremitzki Thu, 18 Jul 2019 20:12:46 -0500 + +freecad (0.18.2+dfsg1-1) unstable; urgency=medium + + * [bc5f8c2] New upstream version 0.18.2+dfsg1 + * [f6afef9] Remove upstream-bugfixes.patch (obsoleted by 0.18.2) + * [bb1b36e] Don't save in non-user-writable location by default + * [ce51375] Fix missing document icons + + -- Kurt Kremitzki Fri, 07 Jun 2019 22:31:06 -0500 + +freecad (0.18.1+dfsg1-2) unstable; urgency=medium + + * [5cd3fce] Add missing pyside2 deps + * [fd92cc2] Fix breaks+replaces relations (Closes: #926251) + * [c61fe87] Add upstream bugfixing patch + * [f95e30a] Fix FEM autopkgtest (Closes: #926304 #920535) + + -- Kurt Kremitzki Sat, 27 Apr 2019 19:06:02 -0500 + +freecad (0.18.1+dfsg1-1) unstable; urgency=medium + + * [cab285b] Correct suggested packages + * [576bf03] New upstream version 0.18.1+dfsg1 + * [7cec221] Update rules for 0.18.1 + * [39bac84] Add patch to display 0.18.1 version + + -- Kurt Kremitzki Sat, 06 Apr 2019 13:52:45 -0500 + +freecad (0.18+dfsg1-1) unstable; urgency=medium + + * [64167ef] New upstream version 0.18+dfsg1 + * [8c882c8] Remove upstreamed patches fix-start-workbench and + fix_qt-5.11_build + * [7d77b28] Add NEWS file to announce Python 3 switch + + -- Kurt Kremitzki Thu, 14 Mar 2019 21:43:55 -0500 + +freecad (0.18~pre1+dfsg1-5) unstable; urgency=medium + + * [e91ae47] Fix update-alternatives problem (Closes: #923465 #923412) + * [a7f46c7] Update OpenCASCADE path + * [958e27f] Add patch to fix Start WB + * [ba149a5] Add lintian override for freecad virtual package + + -- Kurt Kremitzki Sat, 02 Mar 2019 03:42:57 -0600 + +freecad (0.18~pre1+dfsg1-4) unstable; urgency=medium + + * [7865394] Use libqt5opengl5-dev instead of -desktop-dev for armel/armhf + builds + + -- Kurt Kremitzki Fri, 15 Feb 2019 14:15:18 -0600 + +freecad (0.18~pre1+dfsg1-3) unstable; urgency=medium + + * [f852948] Re-add allow-stderr restriction on autopkgtest + + -- Kurt Kremitzki Mon, 11 Feb 2019 13:59:14 -0600 + +freecad (0.18~pre1+dfsg1-2) unstable; urgency=medium + + * [4f80ffc] Undo accidental autopkgtest reversion + + -- Kurt Kremitzki Sun, 10 Feb 2019 16:48:53 -0600 + +freecad (0.18~pre1+dfsg1-1) unstable; urgency=medium + + * [e648c8e] Add Breaks+Conflicts+Replaces to smooth upgrade + + -- Kurt Kremitzki Sat, 09 Feb 2019 17:56:53 -0600 + +freecad (0.18~pre1+dfsg1-1~exp1) experimental; urgency=medium + + * [f52bb1e] Update packaging for 0.18 + * [0b830f4] New upstream version 0.18~pre1+dfsg1 + * [9b83d5c] Update lintian overrides for 0.18 + + -- Kurt Kremitzki Sun, 27 Jan 2019 19:42:09 -0600 + +freecad (0.17+dfsg1-8) unstable; urgency=medium + + * [9d6a8a1] Add allow-stderr restriction on autopkgtest (Closes: #920525) + + -- Kurt Kremitzki Sat, 26 Jan 2019 18:04:22 -0600 + +freecad (0.17+dfsg1-7) unstable; urgency=medium + + * [86c1410] Fix autopkgtest command (Closes: #918479) + * [d5ee7ff] Update VTK dep to v7 + + -- Kurt Kremitzki Fri, 25 Jan 2019 20:33:35 -0600 + +freecad (0.17+dfsg1-6) unstable; urgency=medium + + * [af5bdfa] Update coin/pivy deps for Coin transition + + -- Kurt Kremitzki Fri, 21 Dec 2018 08:11:47 -0600 + +freecad (0.17+dfsg1-5) unstable; urgency=medium + + * Upload to unstable + + -- Kurt Kremitzki Thu, 11 Oct 2018 08:14:49 -0500 + +freecad (0.17+dfsg1-4) experimental; urgency=medium + + * [07492c4] Update dependency to use libqt5opengl5-desktop-dev & exclude + armel/armhf + + -- Kurt Kremitzki Thu, 11 Oct 2018 00:37:53 -0500 + +freecad (0.17+dfsg1-3) experimental; urgency=medium + + * [44d99e3] Remove fail-missing to handle arch-specific builds + + -- Kurt Kremitzki Wed, 10 Oct 2018 02:38:11 -0500 + +freecad (0.17+dfsg1-2) experimental; urgency=medium + + * [04e05c3] Downgrade VTK dependency back to VTK6 + * [6f91417] Enable Qt5 builds (Closes: #874877) + * [741aae7] Add patch for Qt 5.11 build support + * [0939941] Add Breaks+Replaces for FreeCAD < 0.17 (Closes: #906110) + + -- Kurt Kremitzki Mon, 08 Oct 2018 01:32:52 -0500 + +freecad (0.17+dfsg1-1) experimental; urgency=medium + + * New upstream version 0.17+dfsg1 + * Update OpenCASCADE dependency to use OCCT instead of OCE + * Update VTK dependency to VTK7 + * Update d/copyright's Files-Excluded section and clean up per lintian + warnings + * Update Uploaders: add Kurt Kremitzki + * Switch default workbench from Start to Part Design due to Qt 4 Webkit + deprecation, to be reverted after Qt 5 switch is complete + * Removed patches fixed upstream or no longer relevant in 0.17: + - fix-836983.patch + - fix_FTBFS_on_precise.patch + - use_share.patch + * Refreshed all other patches including: + - remove_webkit.patch: Since this breaks the default Start Workbench, + I have updated it to default to Part Design, the new premier WB + for this upstream version (i.e. PartDesign Next) + * Added lintian override for hardening false positives + + -- Kurt Kremitzki Thu, 07 Jun 2018 17:32:47 -0500 + +freecad (0.16.6712+dfsg1-3) unstable; urgency=medium + + * Team upload + * Close Teemu's bug in previous changelog entry + * Fix autopkgtest on architectures where char is unsigned by default, + thanks Frédéric Bonnard (Closes: #836983) + * Install copies of icons since AppStream does not recognize symlinks + (Closes: #850965) + * Update Uploaders: add Sebastian Kuzminsky + remove Adam C. Powell, IV + + -- Graham Inggs Mon, 28 May 2018 08:55:04 +0000 + +freecad (0.16.6712+dfsg1-2) unstable; urgency=medium + + * Team upload. + + [ Teemu Ikonen ] + * [a1ddb98] Remove myself from Uploaders. (Closes: #892617) + + [ Anton Gladky ] + * [705f952] Update VCS-fields to the salsa-migration + * [ddc6548] Set Standards-Version to 4.1.4 + * [3313fe7] Remove myself from uploaders + * [a3ef1ba] Switch to compat-level 11 + * [6a5a3cb] Remove deprecated Testsuite-field in the d/control + + -- Anton Gladky Wed, 23 May 2018 22:35:29 +0200 + +freecad (0.16.6712+dfsg1-1) unstable; urgency=medium + + * [c631550] New upstream version 0.16.6712+dfsg1 + * [70d3ebc] Refresh patches + * [c2f67a5] Remove dependency on Qt4 Webkit. (Closes: #784464) + * [31d5630] Set Standards-Version: 4.1.0 + * [85cc9d9] Change priority to optional + * [dc32b52] Set maximal hardening option + * [c56abf6] Drop "alpha" from description. (Closes: #868727) + + -- Anton Gladky Fri, 08 Sep 2017 22:55:20 +0200 + +freecad (0.16+dfsg2-3) unstable; urgency=medium + + [ Graham Inggs ] + * [06c5066] Use PNG and SVG icons instead of XPM (Closes: #850965) + * [d40a6a3] Drop debian/menu and do not install XPM icon, see #741573 + * [d616835] Add Suggests on graphviz and povray (Closes: #849644) + * [e25f6a6] Switch to debhelper 10 + * [f02e70f] Add debian/clean to fix FTBFSx2 + + [ Anton Gladky ] + * [245dccf] Fix d/copyright. + * [3f389af] Apply cme fix dpkg. + + -- Anton Gladky Fri, 20 Jan 2017 20:05:18 +0100 + +freecad (0.16+dfsg2-2) unstable; urgency=medium + + * Team upload. + [ Anton Gladky ] + * Remove freecad-doc from suggests. (Closes: #827734) + + [ Nobuhiro Iwamatsu ] + * Fix FTBFS with opencv 3.1. (Closes: #841416) + + -- Anton Gladky Wed, 23 Nov 2016 05:20:31 +0900 + +freecad (0.16+dfsg2-1) unstable; urgency=medium + + * [4f08de5] Remove data/examples. (Closes: #745237) + * [7434cc4] Imported Upstream version 0.16+dfsg2 + + -- Anton Gladky Sun, 15 May 2016 12:29:42 +0200 + +freecad (0.16+dfsg1-1) unstable; urgency=medium + + * [9e69a23] Update d/watch. + * [bf22c89] Drop copying of Version.h explicitly. + * [010b5c8] Refresh/Remove patches. + * [24a4f7d] Update d/copyright. + * [0547be9] Apply cme fix dpkg-control. + * [fc9b859] Update d/copyright. + * [6e5df4d] Imported Upstream version 0.16+dfsg1. (Closes: #823816) + * [06ed39b] Remove freecad-dev and freecad-doc binaries. + * [94c3ac2] Update d/copyright. (Closes: #726805 #745237) + + -- Anton Gladky Thu, 12 May 2016 20:48:30 +0200 + +freecad (0.15.4671+dfsg1-4) unstable; urgency=medium + + * [a934100] Add strict dependency on oce>=0.17.1. (Closes: #802517) + + -- Anton Gladky Fri, 29 Jan 2016 13:10:48 +0100 + +freecad (0.15.4671+dfsg1-3) unstable; urgency=medium + + [ Abdullah Tahiri ] + * [f4d259b] Fix Sketcher: Solver: FullPivLU::compute for Eigen-3.3. + (Closes: #811239) + + -- Anton Gladky Sun, 17 Jan 2016 13:44:36 +0100 + +freecad (0.15.4671+dfsg1-2) unstable; urgency=medium + + * [0c78ef5] Remove EIGEN2_SUPPORT. (Closes: #786356) + + -- Anton Gladky Sun, 25 Oct 2015 18:51:47 +0100 + +freecad (0.15.4671+dfsg1-1) unstable; urgency=medium + + * [4b6e554] Update d/copyright. + * [dd370f0] Update d/watch. + * [a70bba6] Imported Upstream version 0.15.4671+dfsg1. (Closes: #789105) + * [80ccaac] Refresh patches. + * [c868df9] Add pyside-tools as dependency. + * [ab8015b] Drop the load of news-page. (Closes: #787948) + + -- Anton Gladky Thu, 27 Aug 2015 22:54:47 +0200 + +freecad (0.14.3702+dfsg-4) unstable; urgency=medium + + [ Anton Gladky ] + * [7dbbdb6] Set Standards-Version: 3.9.6. No changes. + * [99c5e82] Apply cme fix dpkg-control. + + [ Martin Pitt ] + * [91ef5e9] Work around Qt4 not being compatible with boost+gcc5. + (Closes: #795069) + + -- Anton Gladky Wed, 12 Aug 2015 20:34:02 +0200 + +freecad (0.14.3702+dfsg-3) unstable; urgency=medium + + [ Yorik van Havre ] + * [9ddbf15] Disable automatic DXF library download. (Closes: #764814) + + -- Anton Gladky Fri, 24 Oct 2014 18:59:03 +0200 + +freecad (0.14.3702+dfsg-2) unstable; urgency=medium + + [ Anton Gladky ] + * [aafcc31] Remove libswscale-dev from BD. (Closes: #757282) + * [81d4b6e] Fix installing of som Mods. (Closes: #736273) + * [1a4492e] Remove deprecated lines from d/copyright. (Closes: #745237) + + [ Alexander ] + * [efc7d53] Fix compilation with clang. (Closes: #755305) + + -- Anton Gladky Sun, 24 Aug 2014 08:12:43 +0200 + +freecad (0.14.3702+dfsg-1) unstable; urgency=medium + + * [7fc727b] Imported Upstream version 0.14.3702 + * [3edf0de] Refresh patches. + * [077b63a] Redirect unittest output into stdout. Fixes autopkgtests. + + -- Anton Gladky Tue, 22 Jul 2014 20:15:18 +0200 + +freecad (0.13.3637-dfsg-1) unstable; urgency=medium + + * [ddeee1c] Imported Upstream version 0.13.3637-dfsg + * [0fe87be] Update/remove patches. + * [60ad7cc] Update install files, dependencies. + * [9f9cca3] Add autopkgtest. + + -- Anton Gladky Sun, 25 May 2014 19:05:13 +0200 + +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 Fri, 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 diff --git a/clean b/clean new file mode 100644 index 00000000..c1ca8b36 --- /dev/null +++ b/clean @@ -0,0 +1,2 @@ +src/Tools/generateBase/*.pyc +src/Tools/generateTemplates/*.pyc diff --git a/control b/control new file mode 100644 index 00000000..5580e68e --- /dev/null +++ b/control @@ -0,0 +1,182 @@ +Source: freecad +Maintainer: Debian Science Maintainers +Uploaders: Sebastian Kuzminsky , + Kurt Kremitzki +Section: science +Priority: optional +Build-Depends: cmake, + debhelper-compat (= 13), + dh-exec, + dh-python, + 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-thread-dev, + libcoin-dev, + libdouble-conversion-dev, + libfmt-dev, + libglew-dev, + liblz4-dev, + libopencv-dev, + libeigen3-dev, + libgts-bin, + libgts-dev, + libkdtree++-dev, + libmedc-dev, + libmetis-dev, + libocct-data-exchange-dev (>= 7.8.1+dfsg1), + libocct-ocaf-dev (>= 7.8.1+dfsg1), + libocct-visualization-dev (>= 7.8.1+dfsg1), + libpyside2-dev, + libqt5opengl5-dev, + libqt5svg5-dev, + libqt5xmlpatterns5-dev, + libqt5x11extras5-dev, + libshiboken2-dev, + libspnav-dev, + libvtk9-dev, + libx11-dev, + libxerces-c-dev, + libzipios++-dev, + lsb-release, + occt-draw, + pybind11-dev, + pyqt5-dev-tools, + pyside2-tools, + python3-dev, + python3-matplotlib, + python3-pivy, + python3-ply, + python3-pyside2.qtcore, + python3-pyside2.qtgui, + python3-pyside2.qtsvg, + python3-pyside2.qtuitools, + python3-pyside2.qtwidgets, + python3-pyside2.qtxml, + python3-requests, + qtbase5-dev, + qttools5-dev, + qtwebengine5-dev [amd64 arm64 armhf i386 mips64el], + swig +Build-Depends-Indep: doxygen +Standards-Version: 4.6.2 +Vcs-Browser: https://salsa.debian.org/science-team/freecad +Vcs-Git: https://salsa.debian.org/science-team/freecad.git +Homepage: https://freecad.org/ +Rules-Requires-Root: no + +Package: freecad +Architecture: all +Depends: freecad-python3 (>= ${source:Version}), + freecad-python3 (<< ${source:Version}.1~), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: calculix-ccx, + graphviz, + python3-opencamlib, +Suggests: povray +Breaks: freecad (<< 0.18) +Replaces: freecad (<< 0.18) +Description: Extensible Open Source CAx program + For 3D printing, CNC milling or for the manual assembly of complicated + constructs one needs a formal specification of the workpiece, i.e., + its parts and how these come together. The process to get there is + called Computer-Aided Design (CAD). The process to transform a CAD + model into a series of instructions that can be performed on a machine + is called Computer-Aided Manufacturing (CAM). FreeCAD can do both, the + prior yet a bit better than the latter. + . + 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. + . + This is a metapackage of FreeCAD component packages. + +Package: freecad-python3 +Architecture: any +Depends: freecad-common (= ${source:Version}), + python3-matplotlib, + python3-pivy, + python3-ply, + python3-pyside2.qtcore, + python3-pyside2.qtgui, + python3-pyside2.qtnetwork, + python3-pyside2.qtsvg, + python3-pyside2.qtuitools, + python3-pyside2.qtwidgets, + python3-pyside2.qtxml, + python3-yaml, + libfreecad-python3-0.20 (= ${binary:Version}), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Recommends: python3-pyside2.qtwebchannel, + python3-pyside2.qtwebengine, + python3-pyside2.qtwebenginecore, + python3-pyside2.qtwebenginewidgets +Breaks: libfreecad-python2-0.17 +Replaces: libfreecad-python2-0.17 +Description: Extensible Open Source CAx program - Python 3 binaries + 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. + . + This package contains the FreeCAD binaries built against Python 3. + +Package: freecad-common +Architecture: all +Depends: ${misc:Depends}, + ${shlibs:Depends} +Breaks: freecad (<< 0.18), + freecad-python2 (<< 0.18), + freecad-runtime (<< 0.20) +Replaces: freecad (<< 0.18), + freecad-python2 (<< 0.18), + freecad-runtime (<< 0.20) +Multi-Arch: foreign +Description: Extensible Open Source CAx program - common 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. + . + 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. + . + This package contains FreeCAD common files and resources. + +Package: libfreecad-python3-0.20 +Architecture: any +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} +Breaks: libfreecad-python3-0.18,libfreecad-python3-0.19 +Replaces: libfreecad-python3-0.18,libfreecad-python3-0.19 +Description: Extensible Open Source CAx program - Python 3 library 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. + . + 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. + . + This package contains shared library files for FreeCAD built against Python 3. diff --git a/copyright b/copyright new file mode 100644 index 00000000..00a25322 --- /dev/null +++ b/copyright @@ -0,0 +1,255 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: FreeCAD +Upstream-Contact: Werner Mayer +Source: https://github.com/freecad/freecad +Files-Excluded: + data/examples + data/tests/*.fcstd + src/Doc/freecad.qch.part* + src/Doc/freecad.qhc + src/MacAppBundle + src/Tools/_TEMPLATE_ + src/3rdParty/libkdtree + +Files: * +Copyright: 2001-2016 Jürgen Riegel , + Werner Mayer +License: LGPL-2+ + +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 + +Files: src/3rdParty/salomesmesh/src/MEFISTO2/* +Copyright: 2006 Laboratoire J.-L. Lions UPMC Paris +License: 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-josuttis + 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 + +Files: src/Base/PyTools.* +Copyright: 1996-2000 Mark Lutz, and O'Reilly and Associates. +License: other-lutz + 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: GPL-2+ + On Debian systems, the complete text of the GNU General Public + License version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +Files: src/Mod/Draft/importAirfoilDAT.py +Copyright: 2010 Heiko Jakob +License: LGPL-2+ + +Files: src/Mod/Mesh/App/Core/Builder.h + src/Mod/Mesh/App/Core/SetOperations.* + src/Mod/Mesh/BuildRegularGeoms.py +Copyright: 2005 Berthold Grupp +License: LGPL-2+ + +Files: src/Mod/Image/App/ImageBase.* src/Mod/Image/Gui/ImageView.* src/Mod/Image/Gui/XpmImages.h +Copyright: 2004 Imetric 3D GmbH +License: LGPL-2+ + +Files: src/Mod/Mesh/App/Core/tritritest.h +Copyright: 1997 Tomas Moller +License: other-moller + tritritest.h has no licensing information, but Tomas Moller replied + the following, when asked about it: + . + The code 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+ + +Files: src/Mod/Part/App/edgecluster.* +Copyright: 2010 Joachim Zettler +License: LGPL-2+ + +Files: src/Mod/Raytracing/App/resources/* +Copyright: 2005 Georg Wiora , + Juergen Riegel +License: 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: Expat + 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/Base/QuantityParser.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. + +Files: src/CXX/* +Copyright: (c) 1998 - 2007 The Regents of the University of California +License: BSD-3-with-notice + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the disclaimer below. + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the disclaimer (as noted below) in the + documentation and/or materials provided with the distribution. + - Neither the name of the UC/LLNL 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 COPYRIGHT HOLDERS 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 OF THE UNIVERSITY OF CALIFORNIA, + THE U.S. DEPARTMENT OF ENERGY 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. + . + Additional BSD Notice + . + 1. This notice is required to be provided under our contract with the U.S. + Department of Energy (DOE). This work was produced at the University of + California, Lawrence Livermore National Laboratory under Contract No. + W-7405-ENG-48 with the DOE. + . + 2. Neither the United States Government nor the University of California + nor any of their employees, makes any warranty, express or implied, or + assumes any liability or responsibility for the accuracy, completeness, + or usefulness of any information, apparatus, product, or process disclosed, + or represents that its use would not infringe privately-owned rights. + . + 3. Also, reference herein to any specific commercial products, process, or + services by trade name, trademark, manufacturer or otherwise does not + necessarily constitute or imply its endorsement, recommendation, or + favoring by the United States Government or the University of California. + The views and opinions of authors expressed herein do not necessarily + state or reflect those of the United States Government or the University + of California, and shall not be used for advertising or product endorsement + purposes. + +Files: src/Gui/QSint/* +Copyright: (c) QSint developers +License: LGPL-3 + On Debian systems, the complete text of the GNU Lesser General Public + License version 3 can be found in `/usr/share/common-licenses/LGPL-3'. + +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'. + +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'. + +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'. diff --git a/freecad-common.install b/freecad-common.install new file mode 100644 index 00000000..7adc8caa --- /dev/null +++ b/freecad-common.install @@ -0,0 +1,7 @@ +usr/share/doc/freecad-doc/ThirdPartyLibraries.html usr/share/freecad +usr/share/freecad/Mod/* +usr/share/freecad/Gui/* +usr/share/freecad/Ext/* +usr/share/freecad/share/icons/* usr/share/icons +usr/share/freecad/share/thumbnailers/* usr/share/thumbnailers +usr/share/freecad/3Dconnexion/* diff --git a/freecad-common.links b/freecad-common.links new file mode 100644 index 00000000..0ec45a47 --- /dev/null +++ b/freecad-common.links @@ -0,0 +1,4 @@ +usr/share/freecad/ThirdPartyLibraries.html usr/share/doc/freecad-doc/ThirdPartyLibraries.html +usr/share/freecad/Gui usr/lib/freecad/Gui +usr/share/freecad/Mod usr/lib/freecad/Mod +usr/share/freecad/Ext usr/lib/freecad/Ext diff --git a/freecad-common.lintian-overrides b/freecad-common.lintian-overrides new file mode 100644 index 00000000..6be917a7 --- /dev/null +++ b/freecad-common.lintian-overrides @@ -0,0 +1,3 @@ +# /usr/bin/freecad is a symlink, handled by update-alternatives, pointing at +# /usr/lib/freecad/bin/freecad-python3 +desktop-command-not-in-package diff --git a/freecad-common.manpages b/freecad-common.manpages new file mode 100644 index 00000000..4586a859 --- /dev/null +++ b/freecad-common.manpages @@ -0,0 +1 @@ +debian/freecad.1 diff --git a/freecad-python3.install b/freecad-python3.install new file mode 100755 index 00000000..967b9f96 --- /dev/null +++ b/freecad-python3.install @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec +usr/share/freecad/bin/FreeCADCmd-Python3 => usr/lib/freecad/bin/freecadcmd-python3 +usr/share/freecad/bin/FreeCAD-Python3 => usr/lib/freecad/bin/freecad-python3 diff --git a/freecad-python3.postinst b/freecad-python3.postinst new file mode 100644 index 00000000..4021f31f --- /dev/null +++ b/freecad-python3.postinst @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +update-alternatives --install /usr/bin/freecad freecad /usr/lib/freecad/bin/freecad-python3 30 \ + --slave /usr/bin/freecadcmd freecadcmd /usr/lib/freecad/bin/freecadcmd-python3 \ + --slave /usr/lib/freecad/lib freecadlib /usr/lib/freecad-python3/lib + +#DEBHELPER# + +exit 0 diff --git a/freecad-python3.prerm b/freecad-python3.prerm new file mode 100644 index 00000000..3a2f531c --- /dev/null +++ b/freecad-python3.prerm @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +case "$1" in + remove|deconfigure) + update-alternatives --remove freecad /usr/lib/freecad/bin/freecad-python3 + ;; + + upgrade|failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument '$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/freecad.1 b/freecad.1 new file mode 100644 index 00000000..fb351ce4 --- /dev/null +++ b/freecad.1 @@ -0,0 +1,91 @@ +.\" 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 "March 22, 2019" 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 \- Extensible Open Source CAx program +.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\-c, \-\-console\fR +Starts in console mode. +.TP +\fB\-\-dump\-config\fR +Dumps configuration. +.TP +\fB\-\-get\-config\fR \fIarg\fR +Prints the value of the requested configuration key. +.TP +\fB\-h, \-\-help\fR +Prints help message. +.TP +\fB\-\-response\-file\fR \fIarg\fR +Can be specified with '@name', too. +.TP +\fB\-v, \-\-version\fR +Prints version string. + +.SS "Configuration" +.TP +\fB\-l, \-\-write\-log\fR +Writes a log file to $HOME/.FreeCAD/FreeCAD.log +.TP +\fB\-\-log\-file\fR \fIarg\fR +Unlike --write-log this allows logging to an arbitrary file. +.TP +\fB\-M, \-\-module\-path\fR \fIarg\fR +Additional module paths. +.TP +\fB\-P, \-\-python\-path\fR \fIarg\fR +Additional Python paths. +.TP +\fB\-s, \-\-system\-cfg\fR \fIarg\fR +System config file to load/save system settings. +.TP +\fB\-\-single\-instance\fR +Allow to run a single instance of the application. +.TP +\fB\-t, \-\-run\-test\fR \fIarg\fR +Test case - or 0 for all. +.TP +\fB\-u, \-\-user\-cfg\fR \fIarg\fR +User config file to load/save user settings. +.SH SEE ALSO +To get more information about \fBFreeCAD\fR, please visit \fIhttps://freecad.org\fR +.SH BUGS +To report a bug, please visit \fIhttps://github.com/FreeCAD/FreeCAD/issue\fR +.SH AUTHOR +This manual page was written by Werner Mayer and Salman Mohammadi . diff --git a/freecad.examples b/freecad.examples new file mode 100644 index 00000000..2f72fb07 --- /dev/null +++ b/freecad.examples @@ -0,0 +1 @@ +src/Mod/Ship/resources/examples/* diff --git a/freecad.install b/freecad.install new file mode 100644 index 00000000..1a0f6b01 --- /dev/null +++ b/freecad.install @@ -0,0 +1,3 @@ +usr/share/freecad/share/applications/* usr/share/applications +usr/share/freecad/share/metainfo/* usr/share/metainfo +usr/share/freecad/share/mime/* usr/share/mime diff --git a/freecad.lintian-overrides b/freecad.lintian-overrides new file mode 100644 index 00000000..33561999 --- /dev/null +++ b/freecad.lintian-overrides @@ -0,0 +1,2 @@ +# FreeCAD is transitioning to a virtual package +package-relation-with-self diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 00000000..6d512d36 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +pristine-tar = True +sign-tags = true diff --git a/libfreecad-python3-0.20.install b/libfreecad-python3-0.20.install new file mode 100644 index 00000000..a345d618 --- /dev/null +++ b/libfreecad-python3-0.20.install @@ -0,0 +1 @@ +usr/lib/freecad-python3/lib/*.so diff --git a/libfreecad-python3-0.20.lintian-overrides b/libfreecad-python3-0.20.lintian-overrides new file mode 100644 index 00000000..c393f499 --- /dev/null +++ b/libfreecad-python3-0.20.lintian-overrides @@ -0,0 +1,2 @@ +# False positive for pcre3 +embedded-library diff --git a/not-installed b/not-installed new file mode 100644 index 00000000..56afcbc4 --- /dev/null +++ b/not-installed @@ -0,0 +1,3 @@ +usr/share/freecad/share/pixmaps/freecad.xpm +usr/share/freecad/include/gtest/* +usr/share/freecad/include/gmock/* diff --git a/patches/0020-python3.8-syntax.patch b/patches/0020-python3.8-syntax.patch new file mode 100644 index 00000000..86ffb131 --- /dev/null +++ b/patches/0020-python3.8-syntax.patch @@ -0,0 +1,22 @@ +Description: Fix build failure with Python 3.8 + Patches from Gianfranco and Ubuntu. +Author: Tobias Frost +Last-Update: 2020-05-12 +Bug-Debian: https://bugs.debian.org/953722 +Forwarded: not-needed +Applied-Upstream: commit:de7949a3b78b55cb3795645da9d8666f6940af5a + +--- a/src/Mod/Test/TestPythonSyntax.py ++++ b/src/Mod/Test/TestPythonSyntax.py +@@ -58,9 +58,11 @@ + """ + def setUp(self): + self.whitelist = [] ++ self.whitelist += ["ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.py"] + self.whitelist += ["automotive_design.py"] + self.whitelist += ["ifc2x3.py"] + self.whitelist += ["ifc4.py"] ++ self.whitelist += ["__exec_old.py"] + + + def testAll(self): diff --git a/patches/0030-octt78.patch b/patches/0030-octt78.patch new file mode 100644 index 00000000..dcff18fa --- /dev/null +++ b/patches/0030-octt78.patch @@ -0,0 +1,718 @@ +Description: Fix FTBFS with opencascade 7.8.x + This is a backport of the upstream patch to enable compilation + with opencascade 7.8.x +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1071283 +Bug: https://github.com/IfcOpenShell/IfcOpenShell/issues/4393 +Fixed-Upstream: https://github.com/IfcOpenShell/IfcOpenShell/pull/4398/commits/d31bc9cbeb2ac92c398292b8c591515b739265b8 +From 8abd09398a010337c3b294e687e0666b60bceacf Mon Sep 17 00:00:00 2001 +From: bgbsww <120601209+bgbsww@users.noreply.github.com> +Date: Tue, 9 Jan 2024 20:47:25 -0500 +Subject: [PATCH] Add support for OCCT 7.8.0 (#11909) + +--- + cMake/FindOCC.cmake | 14 ++--- + .../inc/SMESHDS_DataMapOfShape.hxx | 17 +++++- + .../salomesmesh/inc/SMESH_MeshVSLink.hxx | 3 - + src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx | 1 + + .../salomesmesh/inc/SMESH_SequenceOfNode.hxx | 3 +- + .../salomesmesh/inc/SMESH_TypeDefs.hxx | 7 +++ + .../src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp | 29 ++++++++- + .../StdMeshers/StdMeshers_Quadrangle_2D.cpp | 1 - + src/Mod/Fem/Gui/TaskCreateNodeSet.cpp | 1 - + src/Mod/Import/App/ImportOCAF.cpp | 60 +++++++++++++++++++ + src/Mod/Import/App/ImportOCAF2.h | 1 - + src/Mod/Import/App/Tools.h | 11 +++- + src/Mod/MeshPart/App/CurveProjector.h | 6 ++ + src/Mod/Part/App/ImportStep.cpp | 5 ++ + src/Mod/Part/App/TopoShapePyImp.cpp | 8 +++ + src/Mod/Part/Gui/AppPartGui.cpp | 1 - + src/Mod/Part/Gui/Command.cpp | 1 - + src/Mod/Part/Gui/CommandSimple.cpp | 1 - + src/Mod/Part/Gui/CrossSections.cpp | 1 - + src/Mod/Part/Gui/ViewProvider2DObject.cpp | 1 - + src/Mod/Part/Gui/ViewProviderExt.cpp | 12 ++++ + src/Mod/Part/Gui/ViewProviderExt.h | 1 - + src/Mod/Part/Gui/ViewProviderMirror.cpp | 1 - + src/Mod/Part/Gui/ViewProviderPython.cpp | 1 - + src/Mod/Part/Gui/ViewProviderReference.h | 1 - + src/Mod/Path/App/Voronoi.cpp | 3 +- + src/Mod/Path/Gui/PreCompiled.h | 2 - + src/Mod/Robot/Gui/PreCompiled.h | 2 - + src/Mod/Sketcher/Gui/EditDatumDialog.cpp | 1 - + 29 files changed, 161 insertions(+), 35 deletions(-) + +--- a/cMake/FindOCC.cmake ++++ b/cMake/FindOCC.cmake +@@ -127,8 +127,6 @@ + TKG2d + TKG3d + TKMath +- TKIGES +- TKSTL + TKShHealing + TKXSBase + TKBool +@@ -139,10 +137,6 @@ + TKGeomBase + TKOffset + TKPrim +- TKSTEPBase +- TKSTEPAttr +- TKSTEP209 +- TKSTEP + TKHLR + TKFeat + ) +@@ -154,17 +148,20 @@ + TKLCAF + TKVCAF + TKCDF +- TKXDESTEP +- TKXDEIGES + TKMeshVS + TKService + TKV3d + ) +- if(OCC_VERSION_STRING VERSION_LESS 6.7.3) +- list(APPEND OCC_OCAF_LIBRARIES TKAdvTools) +- elseif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) ++ ++ if(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) + list(APPEND OCC_OCAF_LIBRARIES TKRWMesh) +- endif(OCC_VERSION_STRING VERSION_LESS 6.7.3) ++ endif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) ++ if(OCC_VERSION_STRING VERSION_LESS 7.8.0) ++ list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP) ++ list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES) ++ else(OCC_VERSION_STRING VERSION_LESS 7.8.0) ++ list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL) ++ endif(OCC_VERSION_STRING VERSION_LESS 7.8.0) + message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}") + message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}") + message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}") +--- a/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx +@@ -29,13 +29,26 @@ + + #include + ++#include ++ + /* + * This method needed for instance NCollection_DataMap with TopoDS_Shape as key + */ ++#if OCC_VERSION_HEX >= 0x070800 ++struct SMESHDS_Hasher ++{ ++ size_t operator()(const TopoDS_Shape& S) const noexcept { ++ return std::hash{}(S); ++ } ++ size_t operator()(const TopoDS_Shape& S1, const TopoDS_Shape& S2) const noexcept { ++ return S1.IsSame(S2); ++ } ++}; ++#else + struct SMESHDS_Hasher + { + static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1, +- const TopoDS_Shape& S2) ++ const TopoDS_Shape& S2) + { + return S1.IsSame(S2); + } +@@ -45,6 +58,6 @@ + return ::HashCode( S, Upper); + } + }; +- ++#endif + + #endif +--- a/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx +@@ -57,9 +57,6 @@ + #ifndef _MeshVS_EntityType_HeaderFile + #include + #endif +-#ifndef _Standard_Address_HeaderFile +-#include +-#endif + #ifndef _TColStd_HArray1OfInteger_HeaderFile + #include + #endif +--- a/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx +@@ -37,4 +37,5 @@ + #define SMESH_EXPORT + #endif + ++#include + #endif +--- a/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx +@@ -28,10 +28,11 @@ + + #include "SMESH_SMESH.hxx" + +-#include + #if OCC_VERSION_HEX >= 0x060703 + #include + #include ++#else ++#include + #endif + + typedef const SMDS_MeshNode* SMDS_MeshNodePtr; +--- a/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx +@@ -185,11 +185,18 @@ + + // -------------------------------------------------------------------------------- + // class SMESH_SequenceOfElemPtr ++#include ++#if OCC_VERSION_HEX >= 0x060703 ++#include ++#else + #include ++#endif + + class SMDS_MeshElement; + + typedef const SMDS_MeshElement* SMDS_MeshElementPtr; ++#define DEFINE_SEQUENCE(_ClassName_, _BaseCollection_, TheItemType) \ ++typedef NCollection_Sequence _ClassName_; + + DEFINE_SEQUENCE (SMESH_SequenceOfElemPtr, SMESH_BaseCollectionElemPtr, SMDS_MeshElementPtr) + +--- a/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp ++++ b/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp +@@ -33,10 +33,33 @@ + #include "SMDS_MeshNode.hxx" + #include "SMESH_File.hxx" + ++#include ++ + namespace + { + struct Hasher + { ++#if OCC_VERSION_HEX >= 0x070800 ++ size_t operator()(const gp_Pnt& point) const noexcept ++ { ++ union ++ { ++ Standard_Real R[3]; ++ Standard_Integer I[6]; ++ } U; ++ ++ point.Coord( U.R[0], U.R[1], U.R[2] ); ++ return std::hash{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7); ++ } ++ ++ size_t operator()(const gp_Pnt& point1, const gp_Pnt& point2) const noexcept ++ { ++ static Standard_Real tab1[3], tab2[3]; ++ point1.Coord(tab1[0],tab1[1],tab1[2]); ++ point2.Coord(tab2[0],tab2[1],tab2[2]); ++ return (memcmp(tab1,tab2,sizeof(tab1)) == 0); ++ } ++#else + //======================================================================= + //function : HashCode + //purpose : +@@ -51,9 +74,9 @@ + } U; + + point.Coord( U.R[0], U.R[1], U.R[2] ); +- +- return ::HashCode(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7,Upper); ++ return std::hash{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7); + } ++ + //======================================================================= + //function : IsEqual + //purpose : +@@ -66,7 +89,9 @@ + point2.Coord(tab2[0],tab2[1],tab2[2]); + return (memcmp(tab1,tab2,sizeof(tab1)) == 0); + } ++#endif + }; ++ + typedef NCollection_DataMap TDataMapOfPntNodePtr; + + const int HEADER_SIZE = 84; +--- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp ++++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp +@@ -48,7 +48,6 @@ + #include + #include + #include +-#include + #include + #include + #include +--- a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp ++++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp +@@ -28,7 +28,6 @@ + + # include + # include +-# include + #endif + + #include +--- a/src/Mod/Import/App/ImportOCAF.cpp ++++ b/src/Mod/Import/App/ImportOCAF.cpp +@@ -148,7 +148,11 @@ + std::vector localValue; + + if (aShapeTool->GetShape(label,aShape)) { ++#if OCC_VERSION_HEX >= 0x070800 ++ hash = std::hash {}(aShape); ++#else + hash = aShape.HashCode(HashUpper); ++#endif + } + + Handle(TDataStd_Name) name; +@@ -217,9 +221,13 @@ + + if (isRef || myRefShapes.find(hash) == myRefShapes.end()) { + TopoDS_Shape aShape; +- if (isRef && aShapeTool->GetShape(label, aShape)) +- myRefShapes.insert(aShape.HashCode(HashUpper)); +- ++ if (isRef && aShapeTool->GetShape(label, aShape)) { ++#if OCC_VERSION_HEX >= 0x070800 ++ myRefShapes.insert(std::hash {}(aShape)); ++#else ++ myRefShapes.insert(aShape.HashCode(HashUpper)); ++#endif ++ } + if (aShapeTool->IsSimpleShape(label) && (isRef || aShapeTool->IsFree(label))) { + if (!asm_name.empty()) + part_name = asm_name; +@@ -532,7 +540,11 @@ + part->Label.setValue(default_name); + part->Shape.setValue(shape); + std::map::const_iterator jt; ++#if OCC_VERSION_HEX >= 0x070800 ++ jt = myColorMap.find(std::hash {}(shape)); ++#else + jt = myColorMap.find(shape.HashCode(INT_MAX)); ++#endif + + App::Color partColor(0.8f,0.8f,0.8f); + #if 0//TODO +@@ -553,7 +565,11 @@ + // set label name if defined + if (setname && !myNameMap.empty()) { + std::map::const_iterator jt; ++#if OCC_VERSION_HEX >= 0x070800 ++ jt = myNameMap.find(std::hash {}(shape)); ++#else + jt = myNameMap.find(shape.HashCode(INT_MAX)); ++#endif + if (jt != myNameMap.end()) { + part->Label.setValue(jt->second); + } +@@ -573,7 +589,11 @@ + faceColors.resize(faces.Extent(), partColor); + xp.Init(shape,TopAbs_FACE); + while (xp.More()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ jt = myColorMap.find(std::hash {}(xp.Current())); ++#else + jt = myColorMap.find(xp.Current().HashCode(INT_MAX)); ++#endif + if (jt != myColorMap.end()) { + int index = faces.FindIndex(xp.Current()); + faceColors[index-1] = convertColor(jt->second); +@@ -607,24 +627,59 @@ + int ctSolids = 0, ctShells = 0, ctComps = 0; + // add the shapes + TopExp_Explorer xp; +- for (xp.Init(aShape, TopAbs_SOLID); xp.More(); xp.Next(), ctSolids++) ++ for (xp.Init(aShape, TopAbs_SOLID); xp.More(); xp.Next(), ctSolids++) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->mySolids[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->mySolids[xp.Current().HashCode(INT_MAX)] = (xp.Current()); +- for (xp.Init(aShape, TopAbs_SHELL, TopAbs_SOLID); xp.More(); xp.Next(), ctShells++) ++#endif ++ } ++ for (xp.Init(aShape, TopAbs_SHELL, TopAbs_SOLID); xp.More(); xp.Next(), ctShells++) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myShells[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myShells[xp.Current().HashCode(INT_MAX)] = (xp.Current()); ++#endif ++ } + // if no solids and no shells were found then go for compounds + if (ctSolids == 0 && ctShells == 0) { +- for (xp.Init(aShape, TopAbs_COMPOUND); xp.More(); xp.Next(), ctComps++) ++ for (xp.Init(aShape, TopAbs_COMPOUND); xp.More(); xp.Next(), ctComps++) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myCompds[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myCompds[xp.Current().HashCode(INT_MAX)] = (xp.Current()); ++#endif ++ } + } + if (ctComps == 0) { +- for (xp.Init(aShape, TopAbs_FACE, TopAbs_SHELL); xp.More(); xp.Next()) ++ for (xp.Init(aShape, TopAbs_FACE, TopAbs_SHELL); xp.More(); xp.Next()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myShapes[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); +- for (xp.Init(aShape, TopAbs_WIRE, TopAbs_FACE); xp.More(); xp.Next()) ++#endif ++ } ++ for (xp.Init(aShape, TopAbs_WIRE, TopAbs_FACE); xp.More(); xp.Next()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myShapes[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); +- for (xp.Init(aShape, TopAbs_EDGE, TopAbs_WIRE); xp.More(); xp.Next()) ++#endif ++ } ++ for (xp.Init(aShape, TopAbs_EDGE, TopAbs_WIRE); xp.More(); xp.Next()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myShapes[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); +- for (xp.Init(aShape, TopAbs_VERTEX, TopAbs_EDGE); xp.More(); xp.Next()) ++#endif ++ } ++ for (xp.Init(aShape, TopAbs_VERTEX, TopAbs_EDGE); xp.More(); xp.Next()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ this->myShapes[std::hash {}(xp.Current())] = (xp.Current()); ++#else + this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); ++#endif ++ } + } + } + +@@ -634,7 +689,11 @@ + hColors->GetColor(label, XCAFDoc_ColorSurf, col) || + hColors->GetColor(label, XCAFDoc_ColorCurv, col)) { + // add defined color ++#if OCC_VERSION_HEX >= 0x070800 ++ myColorMap[std::hash {}(aShape)] = col; ++#else + myColorMap[aShape.HashCode(INT_MAX)] = col; ++#endif + } + else { + // http://www.opencascade.org/org/forum/thread_17107/ +@@ -644,7 +703,11 @@ + hColors->GetColor(it.Value(), XCAFDoc_ColorSurf, col) || + hColors->GetColor(it.Value(), XCAFDoc_ColorCurv, col)) { + // add defined color ++#if OCC_VERSION_HEX >= 0x070800 ++ myColorMap[std::hash {}(it.Value())] = col; ++#else + myColorMap[it.Value().HashCode(INT_MAX)] = col; ++#endif + } + } + } +@@ -656,8 +719,13 @@ + char* str = new char[extstr.LengthOfCString()+1]; + extstr.ToUTF8CString(str); + std::string labelName(str); +- if (!labelName.empty()) ++ if (!labelName.empty()) { ++#if OCC_VERSION_HEX >= 0x070800 ++ myNameMap[std::hash {}(aShape)] = labelName; ++#else + myNameMap[aShape.HashCode(INT_MAX)] = labelName; ++#endif ++ } + delete [] str; + } + +--- a/src/Mod/Import/App/ImportOCAF2.h ++++ b/src/Mod/Import/App/ImportOCAF2.h +@@ -30,7 +30,6 @@ + #include + #include + +-#include + #include + #include + #include +@@ -42,6 +41,7 @@ + #include "ImportOCAF.h" + #include "ExportOCAF.h" + ++#include + + class TDF_Label; + class TopLoc_Location; +@@ -58,13 +58,21 @@ + + struct ShapeHasher { + std::size_t operator()(const TopoDS_Shape &s) const { +- return s.HashCode(INT_MAX); ++#if OCC_VERSION_HEX >= 0x070800 ++ return std::hash {}(s); ++#else ++ return shape.HashCode(INT_MAX); ++#endif + } + }; + + struct LabelHasher { + std::size_t operator()(const TDF_Label &l) const { +- return TDF_LabelMapHasher::HashCode(l,INT_MAX); ++#if OCC_VERSION_HEX >= 0x070800 ++ return std::hash {}(l); ++#else ++ return TDF_LabelMapHasher::HashCode(l, INT_MAX); ++#endif + } + }; + +--- a/src/Mod/MeshPart/App/CurveProjector.h ++++ b/src/Mod/MeshPart/App/CurveProjector.h +@@ -32,6 +32,7 @@ + #include + #include + ++#include + + namespace MeshCore + { +@@ -63,8 +64,13 @@ + template + struct TopoDSLess { + bool operator()(const T& x, const T& y) const { +- return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1); +- } ++#if OCC_VERSION_HEX >= 0x070800 ++ std::hash hasher; ++ return hasher(x) < hasher(y); ++#else ++ return x.HashCode(INT_MAX - 1) < y.HashCode(INT_MAX - 1); ++#endif ++ } + }; + + using result_type = std::map,TopoDSLess >; +--- a/src/Mod/Part/App/ImportStep.cpp ++++ b/src/Mod/Part/App/ImportStep.cpp +@@ -137,7 +137,12 @@ + // This is a trick to access the GUI via Python and set the color property + // of the associated view provider. If no GUI is up an exception is thrown + // and cleared immediately ++#if OCC_VERSION_HEX >= 0x070800 ++ std::hash hasher; ++ std::map::iterator it = hash_col.find(hasher(aSolid)); ++#else + std::map::iterator it = hash_col.find(aSolid.HashCode(INT_MAX)); ++#endif + if (it != hash_col.end()) { + try { + Py::Object obj(pcFeature->getPyObject(), true); +--- a/src/Mod/Part/App/TopoShapePyImp.cpp ++++ b/src/Mod/Part/App/TopoShapePyImp.cpp +@@ -1304,7 +1304,11 @@ + TopTools_ListIteratorOfListOfShape it(ancestors); + for (; it.More(); it.Next()) { + // make sure to avoid duplicates ++#if OCC_VERSION_HEX >= 0x070800 ++ const size_t code = std::hash{}(static_cast(it.Value())); ++#else + Standard_Integer code = it.Value().HashCode(INT_MAX); ++#endif + if (hashes.find(code) == hashes.end()) { + list.append(shape2pyshape(it.Value())); + hashes.insert(code); +@@ -1919,7 +1923,11 @@ + if (!PyArg_ParseTuple(args, "|i",&upper)) + return nullptr; + ++#if OCC_VERSION_HEX >= 0x070800 ++ int hc = std::hash{}(getTopoShapePtr()->getShape()); ++#else + int hc = getTopoShapePtr()->getShape().HashCode(upper); ++#endif + return Py_BuildValue("i", hc); + } + +--- a/src/Mod/Part/Gui/AppPartGui.cpp ++++ b/src/Mod/Part/Gui/AppPartGui.cpp +@@ -24,7 +24,6 @@ + + #include "PreCompiled.h" + #ifndef _PreComp_ +-# include + #endif + + #include +--- a/src/Mod/Part/Gui/Command.cpp ++++ b/src/Mod/Part/Gui/Command.cpp +@@ -26,7 +26,6 @@ + # include + # include + # include +-# include + # include + # include + # include +--- a/src/Mod/Part/Gui/CommandSimple.cpp ++++ b/src/Mod/Part/Gui/CommandSimple.cpp +@@ -23,7 +23,6 @@ + + #include "PreCompiled.h" + #ifndef _PreComp_ +-# include + # include + #endif + +--- a/src/Mod/Part/Gui/CrossSections.cpp ++++ b/src/Mod/Part/Gui/CrossSections.cpp +@@ -28,7 +28,6 @@ + # include + + # include +-# include + # include + # include + +--- a/src/Mod/Part/Gui/ViewProvider2DObject.cpp ++++ b/src/Mod/Part/Gui/ViewProvider2DObject.cpp +@@ -25,7 +25,6 @@ + #ifndef _PreComp_ + # include + +-# include + + # include + # include +--- a/src/Mod/Part/Gui/ViewProviderExt.cpp ++++ b/src/Mod/Part/Gui/ViewProviderExt.cpp +@@ -987,7 +987,11 @@ + + TopExp_Explorer xp; + for (xp.Init(faceMap(i),TopAbs_EDGE);xp.More();xp.Next()) ++#if OCC_VERSION_HEX >= 0x070800 ++ faceEdges.insert(std::hash{}(xp.Current())); ++#else + faceEdges.insert(xp.Current().HashCode(INT_MAX)); ++#endif + numFaces++; + } + +@@ -1015,7 +1019,11 @@ + // So, we have to store the hashes of the edges associated to a face. + // If the hash of a given edge is not in this list we know it's really + // a free edge. ++#if OCC_VERSION_HEX >= 0x070800 ++ int hash = std::hash{}(aEdge); ++#else + int hash = aEdge.HashCode(INT_MAX); ++#endif + if (faceEdges.find(hash) == faceEdges.end()) { + Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc); + if (!aPoly.IsNull()) { +@@ -1214,7 +1222,11 @@ + TopLoc_Location aLoc; + + // handling of the free edge that are not associated to a face ++#if OCC_VERSION_HEX >= 0x070800 ++ int hash = std::hash{}(aEdge); ++#else + int hash = aEdge.HashCode(INT_MAX); ++#endif + if (faceEdges.find(hash) == faceEdges.end()) { + Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc); + if (!aPoly.IsNull()) { +--- a/src/Mod/Part/Gui/ViewProviderExt.h ++++ b/src/Mod/Part/Gui/ViewProviderExt.h +@@ -24,7 +24,6 @@ + #define PARTGUI_VIEWPROVIDERPARTEXT_H + + #include +-#include + + #include + #include +--- a/src/Mod/Part/Gui/ViewProviderMirror.cpp ++++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp +@@ -27,7 +27,6 @@ + # include + # include + +-# include + # include + # include + +--- a/src/Mod/Part/Gui/ViewProviderPython.cpp ++++ b/src/Mod/Part/Gui/ViewProviderPython.cpp +@@ -22,7 +22,6 @@ + + #include "PreCompiled.h" + +-#include + #ifndef _PreComp_ + # include + #endif +--- a/src/Mod/Part/Gui/ViewProviderReference.h ++++ b/src/Mod/Part/Gui/ViewProviderReference.h +@@ -24,7 +24,6 @@ + #ifndef PARTGUI_ViewProviderPartReference_H + #define PARTGUI_ViewProviderPartReference_H + +-#include + #include + #include + #include +--- a/src/Mod/Path/App/Voronoi.cpp ++++ b/src/Mod/Path/App/Voronoi.cpp +@@ -22,7 +22,8 @@ + + #include "PreCompiled.h" + #ifndef _PreComp_ +-# include ++#define _USE_MATH_DEFINES ++# include + #endif + + #include +--- a/src/Mod/Path/Gui/PreCompiled.h ++++ b/src/Mod/Path/Gui/PreCompiled.h +@@ -38,8 +38,6 @@ + # define PathGuiExport + #endif + +-#include +- + #ifdef _MSC_VER + # pragma warning( disable : 4273 ) + #endif +--- a/src/Mod/Robot/Gui/PreCompiled.h ++++ b/src/Mod/Robot/Gui/PreCompiled.h +@@ -38,8 +38,6 @@ + # define RobotGuiExport + #endif + +-#include +- + #ifdef _MSC_VER + # pragma warning(disable : 4005) + # pragma warning(disable : 4273) +--- a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp ++++ b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp +@@ -23,7 +23,6 @@ + #include "PreCompiled.h" + + #ifndef _PreComp_ +-#include + /// Qt Include Files + #include + #include diff --git a/patches/0110-desktop-extra-categories.patch b/patches/0110-desktop-extra-categories.patch new file mode 100644 index 00000000..09d4cb52 --- /dev/null +++ b/patches/0110-desktop-extra-categories.patch @@ -0,0 +1,18 @@ +Description: Add XDG desktop category X-CNC also used by LinuxCNC. + This ensure FreeCAD and LinuxCNC both show up in the CNC submenu when + both are installed. +Author: Petter Reinholdtsen +Applied-Upstream: commit:575c5659ae9f52c9614bf1c3648f6014eddeea54 +Forwarded: https://github.com/FreeCAD/FreeCAD/pull/10567 +Last-Update: 2023-08-04 + +--- a/src/XDGData/org.freecadweb.FreeCAD.desktop ++++ b/src/XDGData/org.freecadweb.FreeCAD.desktop +@@ -18,6 +18,6 @@ + Terminal=false + Type=Application + Icon=org.freecadweb.FreeCAD +-Categories=Graphics;Science;Education;Engineering; ++Categories=Graphics;Science;Education;Engineering;X-CNC; + StartupNotify=true + MimeType=application/x-extension-fcstd;model/obj;model/iges;image/vnd.dwg;image/vnd.dxf;model/vnd.collada+xml;application/iges;model/iges;model/step;model/step+zip;model/stl;application/vnd.shp;model/vrml; diff --git a/patches/1020-fix_gcc8_ftbfs.patch b/patches/1020-fix_gcc8_ftbfs.patch new file mode 100644 index 00000000..981e8c10 --- /dev/null +++ b/patches/1020-fix_gcc8_ftbfs.patch @@ -0,0 +1,19 @@ +Description: Fixes GCC8 FTBFS due to included copy of SMESH. +Author: Kurt Kremitzki +Forwarded: https://github.com/FreeCAD/FreeCAD/pull/9848 +Applied-Upstream: https://github.com/FreeCAD/FreeCAD/commit/ab4f3028bd4b580a3b11be49a7a445d48d4c8c7c +Last-Update: 2023-12-09 + +--- a/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx ++++ b/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx +@@ -221,8 +221,8 @@ + // WARNING: this comparator makes impossible to store both nodes and elements in the same set + // because there are nodes and elements with the same ID. Use TIDTypeCompare for such containers. + struct TIDCompare { +- bool operator () (const SMDS_MeshElement* e1, const SMDS_MeshElement* e2) const +- { return e1->GetID() < e2->GetID(); } ++ template bool operator () (const T* e1, const T* e2) const ++ { return static_cast(e1)->GetID() < static_cast(e2)->GetID(); } + }; + + #endif diff --git a/patches/1030-fix_armel_FTBFS.patch b/patches/1030-fix_armel_FTBFS.patch new file mode 100644 index 00000000..871938d6 --- /dev/null +++ b/patches/1030-fix_armel_FTBFS.patch @@ -0,0 +1,545 @@ +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 +Forwarded: https://github.com/FreeCAD/FreeCAD/pull/9847 +Applied-Upstream: https://github.com/FreeCAD/FreeCAD/commit/ee22ac24c495d1fea301fa1e6a824a6a7fb55933 +Last-Update: 2023-12-09 + +--- a/src/3rdParty/salomesmesh/inc/Rn.h ++++ b/src/3rdParty/salomesmesh/inc/Rn.h +@@ -31,7 +31,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 +@@ -82,155 +82,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 std::istream& operator >>(std::istream& f, R4 & P) ++ friend std::istream& operator >>(std::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 std::istream& operator >>(std::istream& f, R4 * P) ++ friend std::istream& operator >>(std::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 +@@ -64,7 +64,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); + +@@ -73,7 +73,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 +@@ -123,7 +123,7 @@ + #define tesuex TESUEX + #define teamqt TEAMQT + #define nusotr NUSOTR +- #define qutr2d QUTR2D ++ #define qutr2d QUTR_2D + #define surtd2 SURTD2 + #define qualitetrte QUALITETRTE + +@@ -160,7 +160,7 @@ + __stdcall + #endif + #endif +- qualitetrte( R3 *mnpxyd, ++ qualitetrte( R_3 *mnpxyd, + Z & mosoar, Z & mxsoar, Z *mnsoar, + Z & moartr, Z & mxartr, Z *mnartr, + Z & nbtria, R & quamoy, R & quamin ); } +@@ -301,7 +301,7 @@ + __stdcall + #endif + #endif +- teajte( Z & mxsomm, Z & nbsomm, R3 * mnpxyd, R3 * comxmi, ++ teajte( Z & mxsomm, Z & nbsomm, R_3 * mnpxyd, R_3 * comxmi, + R & aretmx, Z & mxtree, Z * letree, + Z & ierr ); + } +@@ -313,8 +313,8 @@ + __stdcall + #endif + #endif +- tehote( Z & nutysu, Z & nbarpi, Z & mxsomm, Z & nbsomm, R3 * mnpxyd, +- R3 * comxmi, R & aretmx, ++ 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 ); + } +@@ -328,7 +328,7 @@ + __stdcall + #endif + #endif +- tetrte( R3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R3 * mnpxyd, ++ 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, +@@ -355,7 +355,7 @@ + __stdcall + #endif + #endif +- tedela( R3 * mnpxyd, Z * mnarst, ++ 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 ); + } +@@ -369,7 +369,7 @@ + __stdcall + #endif + #endif +- terefr( Z & nbarpi, R3 * mnpxyd, ++ 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, +@@ -387,7 +387,7 @@ + #endif + #endif + 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 ); +@@ -407,7 +407,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 +@@ -434,7 +434,7 @@ + __stdcall + #endif + #endif +- qutr2d( R3 & p1, R3 & p2, R3 & p3, R & qualite ); ++ qutr2d( R_3 & p1, R_3 & p2, R_3 & p3, R & qualite ); + } + //calculer la qualite d'un triangle de R2 de sommets p1, p2, p3 + +@@ -445,7 +445,7 @@ + __stdcall + #endif + #endif +- surtd2( R3 & p1, R3 & p2, R3 & p3 ); ++ surtd2( R_3 & p1, R_3 & p2, R_3 & p3 ); + } + //calcul de la surface d'un triangle defini par 3 points de r**2 + +--- a/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp ++++ b/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp +@@ -88,9 +88,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 ) + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +@@ -142,11 +142,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 +@@ -161,7 +161,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; +@@ -191,7 +191,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 +@@ -655,7 +655,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; +@@ -761,7 +761,7 @@ + __stdcall + #endif + #endif +- qualitetrte( R3 *mnpxyd, ++ 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 +@@ -234,12 +234,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; +@@ -264,7 +264,7 @@ + nudslf[iw++] = nbpnt; + } + +- uvslf = new R2[nudslf[nblf]]; ++ uvslf = new R_2[nudslf[nblf]]; + + double scalex, scaley; + ComputeScaleOnFace(aMesh, F, scalex, scaley); +@@ -390,7 +390,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 ); +@@ -441,7 +441,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, +@@ -540,7 +540,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(); +@@ -574,7 +574,7 @@ + //============================================================================= + + bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires, +- R2 * uvslf, ++ R_2 * uvslf, + vector& mefistoToDS, + double scalex, + double scaley) +@@ -782,7 +782,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) + { diff --git a/patches/1070-disable_memory_check.patch b/patches/1070-disable_memory_check.patch new file mode 100644 index 00000000..c862c2d5 --- /dev/null +++ b/patches/1070-disable_memory_check.patch @@ -0,0 +1,85 @@ +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 +Forwarded: https://github.com/FreeCAD/FreeCAD/pull/9853 +Bug-Debian: https://bugs.debian.org/623560 +Applied-Upstream: https://github.com/FreeCAD/FreeCAD/commit/16d3109987d98fbf09a59888f389e64707ba9026 +Last-Update: 2023-12-09 + +--- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp ++++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp +@@ -61,13 +61,6 @@ + #include + using namespace std; + +-#ifndef WIN32 +-#if !(defined(__MACH__) && defined(__APPLE__)) +-#include +-#endif +-#include +-#endif +- + // number of added entities to check memory after + #define CHECKMEMORY_INTERVAL 100000 + +@@ -85,56 +78,7 @@ + + int SMDS_Mesh::CheckMemory(const bool doNotRaise) + { +-#if 0 +-#if (defined(__MACH__) && defined(__APPLE__)) +- return 1000; +-#else +-#ifndef WIN32 +- struct sysinfo si; +- int err = sysinfo( &si ); +- if ( err ) +- return -1; +- +- const unsigned long Mbyte = 1024 * 1024; +- +- 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); +- } +- else { +- double factor = ( si.totalswap == 0 ) ? 0.1 : 0.2; +- limit = int(( factor * si.totalram * si.mem_unit ) / Mbyte ); +- } +- if ( limit < 20 ) +- limit = 20; +- else +- limit = int ( limit * 1.5 ); +- MESSAGE ( "SMDS_Mesh::CheckMemory() memory limit = " << limit << " MB" ); +- } +- +- // compute separately to avoid overflow +- int freeMb = +- ( si.freeram * si.mem_unit ) / Mbyte + +- ( si.freeswap * si.mem_unit ) / Mbyte; +- //cout << "freeMb = " << freeMb << " limit = " << limit << endl; +- +- if ( freeMb > limit ) +- return freeMb - limit; +- +- if ( doNotRaise ) +- return 0; +- +- MESSAGE ("SMDS_Mesh::CheckMemory() throws as free memory too low: " << freeMb <<" MB" ); +- throw std::bad_alloc(); +-#else +- return -1; +-#endif +-#endif +-#else +- return 1000; +-#endif ++ return 1000; + } + + /////////////////////////////////////////////////////////////////////////////// diff --git a/patches/1100-run_single-instance.patch b/patches/1100-run_single-instance.patch new file mode 100644 index 00000000..95fc7475 --- /dev/null +++ b/patches/1100-run_single-instance.patch @@ -0,0 +1,23 @@ +Description: Change XDG desktop entry to only run single instance of FreeCAD. + This ensure invoking it to open different files only start the + program once, and load new files into the already running instance. + + Related to https://bugs.debian.org/1029846 and + https://github.com/FreeCAD/FreeCAD/commit/c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476 . + + Partly applied upstream. Arguments applied, program name change is not. +Author: Håvard Flaget Aasen +Forwarded: https://github.com/FreeCAD/FreeCAD/pull/9855 +Last-Update: 2021-12-26 +--- +--- a/src/XDGData/org.freecadweb.FreeCAD.desktop ++++ b/src/XDGData/org.freecadweb.FreeCAD.desktop +@@ -14,7 +14,7 @@ + GenericName[ko]=CAD 응용프로그램 + GenericName[pl]=Aplikacja CAD + GenericName[ru]=Система автоматизированного проектирования +-Exec=FreeCAD %F ++Exec=/usr/bin/freecad - --single-instance %F + Terminal=false + Type=Application + Icon=org.freecadweb.FreeCAD diff --git a/patches/2000-do_not_install_binary_examples.patch b/patches/2000-do_not_install_binary_examples.patch new file mode 100644 index 00000000..922aa960 --- /dev/null +++ b/patches/2000-do_not_install_binary_examples.patch @@ -0,0 +1,15 @@ +Description: Do not include binary examples excluded via d/copyright +Author: Anton Gladky +Last-Update: 2018-06-10 +Forwarded: not-needed + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,7 +94,6 @@ + SetGlobalCompilerAndLinkerSettings() + + add_subdirectory(src) +-add_subdirectory(data) + + BuildAndInstallDesignerPlugin() + diff --git a/patches/2010-exclude_ply.patch b/patches/2010-exclude_ply.patch new file mode 100644 index 00000000..c335ccf7 --- /dev/null +++ b/patches/2010-exclude_ply.patch @@ -0,0 +1,20 @@ +Description: exclude ply from build-sources, use packaged version +Author: Anton Gladky , Sebastian Hoogen +Forwarded: not-needed +Last-Update: 2013-09-25 + +--- a/src/Mod/OpenSCAD/CMakeLists.txt ++++ b/src/Mod/OpenSCAD/CMakeLists.txt +@@ -88,12 +88,6 @@ + + INSTALL( + FILES +- ${ply_SRCS} +- DESTINATION +- Mod/OpenSCAD/ply +-) +-INSTALL( +- FILES + ${OpenSCAD_SRCS} + ${OpenSCAD_QRC_SRCS} + DESTINATION diff --git a/patches/2020-fix-cmake-extra-license.patch b/patches/2020-fix-cmake-extra-license.patch new file mode 100644 index 00000000..55708381 --- /dev/null +++ b/patches/2020-fix-cmake-extra-license.patch @@ -0,0 +1,16 @@ +Description: Don't include extra license file in package +Author: Kurt Kremitzki +Last-Update: 2018-06-13 +Forwarded: not-needed + +--- a/src/Mod/Idf/CMakeLists.txt ++++ b/src/Mod/Idf/CMakeLists.txt +@@ -6,7 +6,7 @@ + SOURCE_GROUP("" FILES ${Idf_SRCS}) + + SET(IdfLibs_SRCS +- Idflibs/License.txt ++ #Idflibs/License.txt + Idflibs/0603_SMD.stp + Idflibs/0805_SMD.stp + Idflibs/1206_SMD.stp diff --git a/patches/2030-fix-1017598.patch b/patches/2030-fix-1017598.patch new file mode 100644 index 00000000..d5bbd82f --- /dev/null +++ b/patches/2030-fix-1017598.patch @@ -0,0 +1,34 @@ +Description: Disable failing FEM test case TestSolverCalculix + The upstream bug tracker suggests that this is a problem with the test, as it seems + floats for the input are very similiar, only differing by the LSB. + . + This patch disables the test. +Author: Tobias Frost +Bug: https://github.com/FreeCAD/FreeCAD/issues/7188 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1017598 +Forwarded: not-needed, Debian specific. +Last-Update: 2022-08-18 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/Mod/Fem/femtest/app/test_solver_calculix.py ++++ b/src/Mod/Fem/femtest/app/test_solver_calculix.py +@@ -270,12 +270,13 @@ + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** +- def test_constraint_transform_torque( +- self +- ): +- from femexamples.constraint_transform_torque import setup +- setup(self.document, "calculix") +- self.input_file_writing_test(get_namefromdef("test_")) ++ # disabled, #1017598 ++ #def test_constraint_transform_torque( ++ # self ++ #): ++ # from femexamples.constraint_transform_torque import setup ++ # setup(self.document, "calculix") ++ # self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_frequency_beamsimple( diff --git a/patches/2040-ftbfs-macappbundle.patch b/patches/2040-ftbfs-macappbundle.patch new file mode 100644 index 00000000..fe034a4a --- /dev/null +++ b/patches/2040-ftbfs-macappbundle.patch @@ -0,0 +1,16 @@ +Description: Do not cmake add_subdirectory on removed directory. + Avoids a FTBFS. +Author: Tobias Frost +Forwarded: not-needed, Debian specific. +Last-Update: 2023-12-09 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,5 +19,5 @@ + endif(BUILD_TEMPLATE) + + # "if" clause moved into local CMakeLists.txt file to support Conda and Homebrew builds +-add_subdirectory(MacAppBundle) ++#add_subdirectory(MacAppBundle) + diff --git a/patches/README b/patches/README new file mode 100644 index 00000000..80c15843 --- /dev/null +++ b/patches/README @@ -0,0 +1,3 @@ +0xxx: Grabbed from upstream development. +1xxx: Possibly relevant for upstream adoption. +2xxx: Only relevant for official Debian release. diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..583b6520 --- /dev/null +++ b/patches/series @@ -0,0 +1,12 @@ +#0020-python3.8-syntax.patch -- re-evalute, only partly applied upstream. +0110-desktop-extra-categories.patch +1020-fix_gcc8_ftbfs.patch +1030-fix_armel_FTBFS.patch +1070-disable_memory_check.patch +1100-run_single-instance.patch +2000-do_not_install_binary_examples.patch +2010-exclude_ply.patch +2020-fix-cmake-extra-license.patch +2030-fix-1017598.patch +2040-ftbfs-macappbundle.patch +0030-octt78.patch diff --git a/rules b/rules new file mode 100755 index 00000000..55b11485 --- /dev/null +++ b/rules @@ -0,0 +1,78 @@ +#!/usr/bin/make -f +%: + dh $@ --buildsystem=cmake --with python3 + +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +export DEB_BUILD_MAINT_OPTIONS = hardening=+all,+bindnow + +CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) -Wall -fpermissive +CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) -flto +CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) -I/usr/include/python$(shell py3versions -d -v) -flto +LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed -Wl,-flto + +# architectures with support for QTWebEngine +with_qt_webengine = amd64 arm64 armhf i386 mips64el +ifneq (,$(filter $(DEB_TARGET_ARCH),$(with_qt_webengine))) + build_web := On +else + build_web := Off +endif + +py3ver = $(shell py3versions -d -v | tr -d .) +ifeq (1,$(shell expr ${py3ver} \< 38 )) + py3ver := $(py3ver)m +endif + +extra_flags += \ +-DBUILD_QT5=ON \ +-DBUILD_FLAT_MESH=ON \ +-DFREECAD_BUILD_DEBIAN=ON \ +-DFREECAD_USE_PYBIND11=ON \ +-DCMAKE_CXX_FLAGS="$(CXXFLAGS)" \ +-DCMAKE_C_FLAGS="$(CFLAGS)" \ +-DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS)" \ +-DLIB_SUFFIX="" \ +-DCMAKE_BUILD_TYPE=RelWithDebInfo \ +-DCMAKE_INSTALL_DATADIR="/usr/share/freecad" \ +-DCMAKE_INSTALL_DOCDIR="/usr/share/doc/freecad-doc" \ +-DCMAKE_INSTALL_PREFIX="/usr/share/freecad" \ +-DPYTHON_CONFIG_SUFFIX=".cpython-$(py3ver)-$(DEB_HOST_MULTIARCH)" \ +-DBUILD_WEB="$(build_web)" + +py3_flags = \ +-DPYTHON_EXECUTABLE="/usr/bin/python3" \ +-DCMAKE_INSTALL_LIBDIR="/usr/lib/freecad-python3/lib" + +override_dh_auto_configure: + dh_auto_configure --builddirectory=debian/build-py3 -- \ + $(extra_flags) \ + $(py3_flags) + +override_dh_auto_build: + dh_auto_build --builddirectory=debian/build-py3 + +override_dh_auto_test: + dh_auto_test --builddirectory=debian/build-py3 + +override_dh_auto_install: + dh_auto_install --builddirectory=debian/build-py3 + mv debian/tmp/usr/share/freecad/bin/FreeCADCmd \ + debian/tmp/usr/share/freecad/bin/FreeCADCmd-Python3 + mv debian/tmp/usr/share/freecad/bin/FreeCAD \ + debian/tmp/usr/share/freecad/bin/FreeCAD-Python3 + +override_dh_compress: + dh_compress -X.qch -X.qhc + +override_dh_installexamples: + +override_dh_strip_nondeterminism: + dh_strip_nondeterminism -X data/corrupted_metadata.zip + +override_dh_missing: + dh_missing --list-missing + +override_dh_auto_clean: + dh_auto_clean + rm -rf debian/build-py3 $$(find . -name __pycache__ -type d) diff --git a/salsa-ci.yml b/salsa-ci.yml new file mode 100644 index 00000000..33c3a640 --- /dev/null +++ b/salsa-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/scripts/get_git_orig_src.sh b/scripts/get_git_orig_src.sh new file mode 100755 index 00000000..3a81dcfa --- /dev/null +++ b/scripts/get_git_orig_src.sh @@ -0,0 +1,53 @@ +#!/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 diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 00000000..756af776 --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,5 @@ +# The following file is an icon from the Tango Desktop Project, licensed under +# public domain +# https://commons.wikimedia.org/wiki/File:Edit-cut.svg +freecad source: license-problem-cc-by-nc-sa src/Gui/Icons/edit-cut.svg +freecad source: license-problem-cc-by-nc-sa src/Mod/TechDraw/Gui/Resources/icons/MRTE/edit-cut.svg diff --git a/tests/control b/tests/control new file mode 100644 index 00000000..2afd894f --- /dev/null +++ b/tests/control @@ -0,0 +1,3 @@ +Tests: freecadtest +Depends: freecad, xvfb, xauth +Restrictions: allow-stderr diff --git a/tests/freecadtest b/tests/freecadtest new file mode 100755 index 00000000..33f3b373 --- /dev/null +++ b/tests/freecadtest @@ -0,0 +1,31 @@ +#!/bin/dash +# autopkgtest check +# (C) 2014 Anton Gladky + +set -e + +export FREECAD_USER_HOME="$AUTOPKGTEST_TMP" + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM +cd $WORKDIR + + +# list of tests can be extraced with the FreeCAD python command: (Reference: https://wiki.freecad.org/Testing/de#Get_a_list_of_all_top-level_test_modules) +# FreeCAD.__unit_test__ +# List of all tests: +tests_ok="TestSpreadsheet BaseTests UnitTests Document Metadata UnicodeTests TestPythonSyntax TestPathApp TestPartDesignApp TestDraft TestTechDrawApp MeshTestsApp TestSurfaceApp TestSketcherApp TestFemApp TestAddonManagerApp TestPartApp TestArch" + +tests_flaky="" +if dpkg-architecture -e i386 || dpkg-architecture -e s390x ; then + tests_flaky="TestPathApp" +fi + +for t in $tests_ok +do + for x in $tests_flaky ; do if [ "$x" = "$t" ] ; then t=""; break; fi ; done + if [ -z "$t" ] ; then echo "### SKIPING TEST $x ###" ; continue ; fi + echo "### Running CLI Test $t ### " + freecadcmd -c -t $t +done + diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 00000000..b05bd57b --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,8 @@ +--- +Bug-Database: https://github.com/FreeCAD/FreeCAD/issues +Bug-Submit: https://github.com/FreeCAD/FreeCAD/issues/new +Repository: https://github.com/FreeCAD/FreeCAD.git +Repository-Browse: https://github.com/FreeCAD/FreeCAD +Registry: + - Name: SciCrunch + Entry: SCR_022535 diff --git a/watch b/watch new file mode 100644 index 00000000..a26af428 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +opts=repacksuffix=+dfsg1,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \ +https://github.com/FreeCAD/FreeCAD/tags .*/(\d.*).*(?