freecad (0.21.2+dfsg1-3) unstable; urgency=medium
authorTobias Frost <tobi@debian.org>
Sat, 25 May 2024 14:11:03 +0000 (16:11 +0200)
committerTobias Frost <tobi@debian.org>
Sat, 25 May 2024 14:11:03 +0000 (16:11 +0200)
  * Team upload.
  * Rework autopkgtest script, update available tests and block
    TestPathApp also for i386.

[dgit import unpatched freecad 0.21.2+dfsg1-3]

42 files changed:
1  2 
debian/changelog
debian/clean
debian/control
debian/copyright
debian/freecad-common.install
debian/freecad-common.links
debian/freecad-common.lintian-overrides
debian/freecad-common.manpages
debian/freecad-python3.install
debian/freecad-python3.postinst
debian/freecad-python3.prerm
debian/freecad.1
debian/freecad.examples
debian/freecad.install
debian/freecad.lintian-overrides
debian/gbp.conf
debian/libfreecad-python3-0.20.install
debian/libfreecad-python3-0.20.lintian-overrides
debian/not-installed
debian/patches/0020-python3.8-syntax.patch
debian/patches/0030-octt78.patch
debian/patches/0110-desktop-extra-categories.patch
debian/patches/1020-fix_gcc8_ftbfs.patch
debian/patches/1030-fix_armel_FTBFS.patch
debian/patches/1070-disable_memory_check.patch
debian/patches/1100-run_single-instance.patch
debian/patches/2000-do_not_install_binary_examples.patch
debian/patches/2010-exclude_ply.patch
debian/patches/2020-fix-cmake-extra-license.patch
debian/patches/2030-fix-1017598.patch
debian/patches/2040-ftbfs-macappbundle.patch
debian/patches/README
debian/patches/series
debian/rules
debian/salsa-ci.yml
debian/scripts/get_git_orig_src.sh
debian/source/format
debian/source/lintian-overrides
debian/tests/control
debian/tests/freecadtest
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5e0288b8ebea3b2b9ae50001c5f09091cbeb6ebe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <tobi@debian.org>  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 <tobi@debian.org>  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 <tobi@debian.org>  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 <pere@debian.org>  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 <pere@debian.org>  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 <pere@debian.org>  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 <pere@debian.org>  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 <pere@debian.org>  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 <pere@debian.org>  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 <tobi@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <tobi@debian.org>  Fri, 09 Sep 2022 17:01:54 +0200
++
++freecad (0.20.1+dfsg1-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Tobias Frost <tobi@debian.org>  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 <tobi@debian.org>  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 <tobi@debian.org>  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 <tobi@debian.org>  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 <moeller@debian.org>  Tue, 05 Jul 2022 21:17:32 +0200
++
++freecad (0.20+dfsg1-2) unstable; urgency=medium
++
++  * Team upload.
++  * More verbose description.
++
++ -- Steffen Moeller <moeller@debian.org>  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 <moeller@debian.org>  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 <moeller@debian.org>  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 <moeller@debian.org>  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 <tobi@debian.org>  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 <gladk@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <locutusofborg@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <kkremitzki@debian.org>  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 <gladk@debian.org>  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 <locutusofborg@debian.org>  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 <locutusofborg@debian.org>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <locutusofborg@debian.org>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  Mon, 11 Feb 2019 13:59:14 -0600
++
++freecad (0.18~pre1+dfsg1-2) unstable; urgency=medium
++
++  * [4f80ffc] Undo accidental autopkgtest reversion
++
++ -- Kurt Kremitzki <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  Fri, 21 Dec 2018 08:11:47 -0600
++
++freecad (0.17+dfsg1-5) unstable; urgency=medium
++
++  * Upload to unstable
++
++ -- Kurt Kremitzki <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kurt@kwk.systems>  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 <kkremitzki@gmail.com>  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 <ginggs@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <qjb@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladk@debian.org>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <werner.wm.mayer@gmx.de>.
++              (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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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 <gladky.anton@gmail.com>  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" <hazelsct@debian.org>  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
++    <Petr.Salinger@seznam.cz> for the patch (closes: #592461).
++
++ -- Teemu Ikonen <tpikonen@gmail.com>  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 <tpikonen@gmail.com>  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 <tpikonen@gmail.com>  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" <hazelsct@debian.org>  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" <hazelsct@debian.org>  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 <tpikonen@gmail.com>  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 <tpikonen@gmail.com>  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" <hazelsct@debian.org>  Thu, 12 Nov 2009 12:02:42 -0500
++
++freecad (0.8.2237-1) unstable; urgency=low
++
++  * New Upstream release
++
++ -- Teemu Ikonen <tpikonen@gmail.com>  Thu, 16 Jul 2009 18:37:41 +0200
++
++freecad (0.7.1658-1) UNRELEASED; urgency=low
++
++  * New upstream release
++
++ -- Teemu Ikonen <tpikonen@gmail.com>  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 <tpikonen@gmail.com>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <tpikonen@gmail.com>  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 <wmayer@users.sourceforge.net>  Thu, 22 May 2008 15:34:34 +0200
++
++freecad (0.7.1344-1ubuntu1) UNRELEASED; urgency=low
++
++  * New debian package for Feisty
++
++ -- Werner Mayer <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  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 <wmayer@users.sourceforge.net>  Fri, 04 Jan 2008 13:50:37 +0200
++
++freecad (0.7.645-1) UNRELEASED; urgency=low
++
++  * Qt4 port started
++
++ -- Werner Mayer <wmayer@users.sourceforge.net>  Tue, 24 Jul 2007 13:04:37 +0200
++
++freecad (0.6.472-1) UNRELEASED; urgency=low
++
++  * Initial Release
++
++ -- Werner Mayer <wmayer@users.sourceforge.net>  Tue, 26 Sep 2006 16:55:15 +0200
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c1ca8b366041f1eefdc3b1623aa6fadc1782c808
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++src/Tools/generateBase/*.pyc
++src/Tools/generateTemplates/*.pyc
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5580e68e8f9d0e3901fcc9be6659a9e745c0b7d6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,182 @@@
++Source: freecad
++Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
++Uploaders: Sebastian Kuzminsky <seb@highlab.com>,
++           Kurt Kremitzki <kkremitzki@debian.org>
++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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..00a253221be30bc4cff33a6b116707c63382472f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,255 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: FreeCAD
++Upstream-Contact: Werner Mayer <wmayer@users.sourceforge.net>
++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 <juergen.riegel@web.de>,
++  Werner Mayer <wmayer@users.sourceforge.net>
++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 <rene.nyffenegger@adp-gmbh.ch>
++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 <heiko.jakob@gediegos.de>
++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 <tam@cs.lth.se>
++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 <Joachim.Zettler@gmx.de>
++License: LGPL-2+
++
++Files: src/Mod/Raytracing/App/resources/*
++Copyright: 2005 Georg Wiora <georg.wiora@quarkbox.de>,
++ Juergen Riegel <juergen.riegel@web.de>
++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 <http://www.gnu.org/licenses/>.
++ .
++ 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'.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7adc8caa1a0fca09923a7ff364051f9e5348301c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0ec45a47b2c4e2f26fc6bac57bd1a49f9ac68b4e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6be917a733c4f8ead233f0e7ca0cd459674ecf16
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4586a8594e5ce65d84e230a8cf2e673daa9a560c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/freecad.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..967b9f96d7d8d493e32b29b05fd63de7f383deba
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4021f31f237ed1fe4b602635be118572ae49a6e6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a2f531caf3fd1df4490bd8029d8b3c5d7e39d6d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fb351ce4628703481861258f745eaccd795ad685
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <n>    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<whatever>\fP and
++.\" \fI<whatever>\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 <salman@smoha.org>.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2f72fb078b7c605c1da18a18a3dcc42fef9f8ec0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++src/Mod/Ship/resources/examples/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a0f6b01799906889d275bce07dd1c2f67603ad6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..335619997efc57dea57d73977f14f26fa9e1820c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# FreeCAD is transitioning to a virtual package
++package-relation-with-self
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6d512d3672e682b3e1f15465a7428572636ead32
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++[DEFAULT]
++pristine-tar = True
++sign-tags = true
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a345d618c2b8677a7d63d44088bd681b4bccd78c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/freecad-python3/lib/*.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c393f499e09504050d862f028a75ff3747856431
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# False positive for pcre3
++embedded-library
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..56afcbc4aa8a0c8d4375af7d6c35e7ae1cd8dc23
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/share/freecad/share/pixmaps/freecad.xpm
++usr/share/freecad/include/gtest/*
++usr/share/freecad/include/gmock/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..86ffb1316d9997a20670760f8887afd7107f5f28
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++Description: Fix build failure with Python 3.8
++ Patches from Gianfranco and Ubuntu.
++Author: Tobias Frost <tobi@debian.org>
++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):
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dcff18fa653343f4229f52c90804fdd2e2e3a418
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <TopoDS_Shape.hxx>
++ 
+++#include <Standard_Version.hxx>
+++
++ /*
++  * 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<TopoDS_Shape>{}(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 <MeshVS_EntityType.hxx>
++ #endif
++-#ifndef _Standard_Address_HeaderFile
++-#include <Standard_Address.hxx>
++-#endif
++ #ifndef _TColStd_HArray1OfInteger_HeaderFile
++ #include <TColStd_HArray1OfInteger.hxx>
++ #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 <Standard_Version.hxx>
++ #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 <NCollection_DefineSequence.hxx>
++ #if OCC_VERSION_HEX >= 0x060703
++ #include <NCollection_IncAllocator.hxx>
++ #include <NCollection_Sequence.hxx>
+++#else
+++#include <NCollection_DefineSequence.hxx>
++ #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 <Standard_Version.hxx>
+++#if OCC_VERSION_HEX >= 0x060703
+++#include <NCollection_Sequence.hxx>
+++#else
++ #include <NCollection_DefineSequence.hxx>
+++#endif
++ 
++ class SMDS_MeshElement;
++ 
++ typedef const SMDS_MeshElement* SMDS_MeshElementPtr;
+++#define DEFINE_SEQUENCE(_ClassName_, _BaseCollection_, TheItemType)            \
+++typedef NCollection_Sequence<TheItemType > _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 <Standard_Version.hxx>
+++
++ 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<Standard_Integer>{}(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<Standard_Integer>{}(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<gp_Pnt,SMDS_MeshNode*,Hasher> 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 <Bnd_Box.hxx>
++ #include <GeomAPI_ProjectPointOnSurf.hxx>
++ #include <Geom_Surface.hxx>
++-#include <NCollection_DefineArray2.hxx>
++ #include <Precision.hxx>
++ #include <Standard_Real.hxx>
++ #include <TColStd_SequenceOfInteger.hxx>
++--- a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp
+++++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp
++@@ -28,7 +28,6 @@
++ 
++ # include <SMESH_Mesh.hxx>
++ # include <SMESHDS_Mesh.hxx>
++-# include <Standard_math.hxx>
++ #endif
++ 
++ #include <Base/Console.h>
++--- a/src/Mod/Import/App/ImportOCAF.cpp
+++++ b/src/Mod/Import/App/ImportOCAF.cpp
++@@ -148,7 +148,11 @@
++     std::vector<App::DocumentObject *> localValue;
++ 
++     if (aShapeTool->GetShape(label,aShape)) {
+++#if OCC_VERSION_HEX >= 0x070800
+++        hash = std::hash<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<Standard_Integer, Quantity_ColorRGBA>::const_iterator jt;
+++#if OCC_VERSION_HEX >= 0x070800
+++    jt = myColorMap.find(std::hash<TopoDS_Shape> {}(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<Standard_Integer, std::string>::const_iterator jt;
+++#if OCC_VERSION_HEX >= 0x070800
+++        jt = myNameMap.find(std::hash<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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<TopoDS_Shape> {}(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 <unordered_map>
++ #include <vector>
++ 
++-#include <TDF_LabelMapHasher.hxx>
++ #include <TDocStd_Document.hxx>
++ #include <TopoDS_Shape.hxx>
++ #include <XCAFDoc_ColorTool.hxx>
++@@ -42,6 +41,7 @@
++ #include "ImportOCAF.h"
++ #include "ExportOCAF.h"
++ 
+++#include <Standard_Version.hxx>
++ 
++ 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<TopoDS_Shape> {}(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<TDF_Label> {}(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 <Mod/Mesh/App/Mesh.h>\r
++ #include <Mod/MeshPart/MeshPartGlobal.h>\r
++ \r
+++#include <Standard_Version.hxx>\r
++ \r
++ namespace MeshCore\r
++ {\r
++@@ -63,8 +64,13 @@
++   template<class T>\r
++     struct TopoDSLess {\r
++     bool operator()(const T& x, const T& y) const {\r
++-      return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1);\r
++-    }\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++            std::hash<T> hasher;\r
+++            return hasher(x) < hasher(y);\r
+++#else\r
+++            return x.HashCode(INT_MAX - 1) < y.HashCode(INT_MAX - 1);\r
+++#endif\r
+++     }\r
++   };\r
++ \r
++   using result_type = std::map<TopoDS_Edge, std::vector<FaceSplitEdge>,TopoDSLess<TopoDS_Edge> >;\r
++--- 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\r
++                 // of the associated view provider. If no GUI is up an exception is thrown\r
++                 // and cleared immediately\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++                std::hash<TopoDS_Solid> hasher;\r
+++                std::map<int, Quantity_Color>::iterator it = hash_col.find(hasher(aSolid));\r
+++#else\r
++                 std::map<int, Quantity_Color>::iterator it = hash_col.find(aSolid.HashCode(INT_MAX));\r
+++#endif\r
++                 if (it != hash_col.end()) {\r
++                     try {\r
++                         Py::Object obj(pcFeature->getPyObject(), true);\r
++--- a/src/Mod/Part/App/TopoShapePyImp.cpp
+++++ b/src/Mod/Part/App/TopoShapePyImp.cpp
++@@ -1304,7 +1304,11 @@
++         TopTools_ListIteratorOfListOfShape it(ancestors);\r
++         for (; it.More(); it.Next()) {\r
++             // make sure to avoid duplicates\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++            const size_t code = std::hash<TopoDS_Shape>{}(static_cast<TopoDS_Shape>(it.Value()));\r
+++#else\r
++             Standard_Integer code = it.Value().HashCode(INT_MAX);\r
+++#endif\r
++             if (hashes.find(code) == hashes.end()) {\r
++                 list.append(shape2pyshape(it.Value()));\r
++                 hashes.insert(code);\r
++@@ -1919,7 +1923,11 @@
++     if (!PyArg_ParseTuple(args, "|i",&upper))\r
++         return nullptr;\r
++ \r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++    int hc = std::hash<TopoDS_Shape>{}(getTopoShapePtr()->getShape());\r
+++#else\r
++     int hc = getTopoShapePtr()->getShape().HashCode(upper);\r
+++#endif\r
++     return Py_BuildValue("i", hc);\r
++ }\r
++ \r
++--- a/src/Mod/Part/Gui/AppPartGui.cpp
+++++ b/src/Mod/Part/Gui/AppPartGui.cpp
++@@ -24,7 +24,6 @@
++ \r
++ #include "PreCompiled.h"\r
++ #ifndef _PreComp_\r
++-# include <Standard_math.hxx>\r
++ #endif\r
++ \r
++ #include <Base/Console.h>\r
++--- a/src/Mod/Part/Gui/Command.cpp
+++++ b/src/Mod/Part/Gui/Command.cpp
++@@ -26,7 +26,6 @@
++ # include <QFileInfo>\r
++ # include <QPointer>\r
++ # include <QString>\r
++-# include <Standard_math.hxx>\r
++ # include <Standard_Version.hxx>\r
++ # include <TopExp_Explorer.hxx>\r
++ # include <TopoDS_Shape.hxx>\r
++--- a/src/Mod/Part/Gui/CommandSimple.cpp
+++++ b/src/Mod/Part/Gui/CommandSimple.cpp
++@@ -23,7 +23,6 @@
++ \r
++ #include "PreCompiled.h"\r
++ #ifndef _PreComp_\r
++-# include <Standard_math.hxx>\r
++ # include <QInputDialog>\r
++ #endif\r
++ \r
++--- a/src/Mod/Part/Gui/CrossSections.cpp
+++++ b/src/Mod/Part/Gui/CrossSections.cpp
++@@ -28,7 +28,6 @@
++ # include <QKeyEvent>\r
++ \r
++ # include <BRep_Builder.hxx>\r
++-# include <Standard_math.hxx>\r
++ # include <TopoDS.hxx>\r
++ # include <TopoDS_Compound.hxx>\r
++ \r
++--- a/src/Mod/Part/Gui/ViewProvider2DObject.cpp
+++++ b/src/Mod/Part/Gui/ViewProvider2DObject.cpp
++@@ -25,7 +25,6 @@
++ #ifndef _PreComp_\r
++ # include <cfloat>\r
++ \r
++-# include <Standard_math.hxx>\r
++ \r
++ # include <Inventor/nodes/SoAnnotation.h>\r
++ # include <Inventor/nodes/SoBaseColor.h>\r
++--- a/src/Mod/Part/Gui/ViewProviderExt.cpp
+++++ b/src/Mod/Part/Gui/ViewProviderExt.cpp
++@@ -987,7 +987,11 @@
++ \r
++             TopExp_Explorer xp;\r
++             for (xp.Init(faceMap(i),TopAbs_EDGE);xp.More();xp.Next())\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++                faceEdges.insert(std::hash<TopoDS_Shape>{}(xp.Current()));\r
+++#else\r
++                 faceEdges.insert(xp.Current().HashCode(INT_MAX));\r
+++#endif\r
++             numFaces++;\r
++         }\r
++ \r
++@@ -1015,7 +1019,11 @@
++             // So, we have to store the hashes of the edges associated to a face.\r
++             // If the hash of a given edge is not in this list we know it's really\r
++             // a free edge.\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++            int hash = std::hash<TopoDS_Shape>{}(aEdge);\r
+++#else\r
++             int hash = aEdge.HashCode(INT_MAX);\r
+++#endif\r
++             if (faceEdges.find(hash) == faceEdges.end()) {\r
++                 Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc);\r
++                 if (!aPoly.IsNull()) {\r
++@@ -1214,7 +1222,11 @@
++             TopLoc_Location aLoc;\r
++ \r
++             // handling of the free edge that are not associated to a face\r
+++#if OCC_VERSION_HEX >= 0x070800\r
+++            int hash = std::hash<TopoDS_Shape>{}(aEdge);\r
+++#else\r
++             int hash = aEdge.HashCode(INT_MAX);\r
+++#endif\r
++             if (faceEdges.find(hash) == faceEdges.end()) {\r
++                 Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc);\r
++                 if (!aPoly.IsNull()) {\r
++--- a/src/Mod/Part/Gui/ViewProviderExt.h
+++++ b/src/Mod/Part/Gui/ViewProviderExt.h
++@@ -24,7 +24,6 @@
++ #define PARTGUI_VIEWPROVIDERPARTEXT_H\r
++ \r
++ #include <map>\r
++-#include <Standard_math.hxx>\r
++ \r
++ #include <App/PropertyUnits.h>\r
++ #include <Gui/ViewProviderGeometryObject.h>\r
++--- a/src/Mod/Part/Gui/ViewProviderMirror.cpp
+++++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp
++@@ -27,7 +27,6 @@
++ # include <QMenu>\r
++ # include <QTimer>\r
++ \r
++-# include <Standard_math.hxx>\r
++ # include <TopExp.hxx>\r
++ # include <TopTools_IndexedMapOfShape.hxx>\r
++ \r
++--- a/src/Mod/Part/Gui/ViewProviderPython.cpp
+++++ b/src/Mod/Part/Gui/ViewProviderPython.cpp
++@@ -22,7 +22,6 @@
++ \r
++ #include "PreCompiled.h"\r
++ \r
++-#include <Standard_math.hxx>\r
++ #ifndef _PreComp_\r
++ # include <Inventor/nodes/SoSeparator.h>\r
++ #endif\r
++--- a/src/Mod/Part/Gui/ViewProviderReference.h
+++++ b/src/Mod/Part/Gui/ViewProviderReference.h
++@@ -24,7 +24,6 @@
++ #ifndef PARTGUI_ViewProviderPartReference_H\r
++ #define PARTGUI_ViewProviderPartReference_H\r
++ \r
++-#include <Standard_math.hxx>\r
++ #include <Standard_Boolean.hxx>\r
++ #include <TopoDS_Shape.hxx>\r
++ #include <Gui/ViewProviderGeometryObject.h>\r
++--- a/src/Mod/Path/App/Voronoi.cpp
+++++ b/src/Mod/Path/App/Voronoi.cpp
++@@ -22,7 +22,8 @@
++ 
++ #include "PreCompiled.h"
++ #ifndef _PreComp_
++-# include <Standard_math.hxx>
+++#define _USE_MATH_DEFINES
+++# include <math.h>
++ #endif
++ 
++ #include <Base/Vector3D.h>
++--- a/src/Mod/Path/Gui/PreCompiled.h
+++++ b/src/Mod/Path/Gui/PreCompiled.h
++@@ -38,8 +38,6 @@
++ # define PathGuiExport
++ #endif
++ 
++-#include <Standard_math.hxx>
++-
++ #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\r
++ #endif\r
++ \r
++-#include <Standard_math.hxx>\r
++-\r
++ #ifdef _MSC_VER\r
++ # pragma warning(disable : 4005)\r
++ # pragma warning(disable : 4273)\r
++--- a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp
+++++ b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp
++@@ -23,7 +23,6 @@
++ #include "PreCompiled.h"
++ 
++ #ifndef _PreComp_
++-#include <Standard_math.hxx>
++ /// Qt Include Files
++ #include <Inventor/sensors/SoSensor.h>
++ #include <QApplication>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..09d4cb52bd8c183efdc60add431ead01c189c557
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..981e8c1049cb5398ef5fcec06aff46311b2b0abf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++Description: Fixes GCC8 FTBFS due to included copy of SMESH.
++Author: Kurt Kremitzki <kkremitzki@debian.org>
++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<typename T> bool operator () (const T* e1, const T* e2) const
+++  { return static_cast<const SMDS_MeshElement*>(e1)->GetID() < static_cast<const SMDS_MeshElement*>(e2)->GetID(); }
++ };
++ 
++ #endif
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..871938d611e2096ff70a487e3f0ba174a310d532
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,545 @@@
++Description: fix compilation on Armel due to coincident variables in 
++ sys/ucontext.h (R2, R3, R4). Thanks to Paul Brook <paul@codesourcery.com>
++ http://lists.alioth.debian.org/pipermail/debian-science-maintainers/2011-October/009876.html
++Author: Anton Gladky <gladk@debian.org>
++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 <gp_Dir.hxx>      //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 <X11/Xlib.h>
++-//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.x<Q.x ? P.x : Q.x, P.y<Q.y ? P.y : Q.y, P.z<Q.z ? P.z : Q.z);} //Pt de xyz Min
++-inline R3 Max(R3 P, R3 Q) 
++-{return R3(P.x>Q.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.x<Q.x ? P.x : Q.x, P.y<Q.y ? P.y : Q.y, P.z<Q.z ? P.z : Q.z);} //Pt de xyz Min
+++inline R_3 Max(R_3 P, R_3 Q)
+++{return R_3(P.x>Q.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<const SMDS_MeshNode*>& 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)
++ {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c862c2d5ae13a8964bc9e6fa0a95e579f219fd3a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <gladk@debian.org>
++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 <iterator>
++ using namespace std;
++ 
++-#ifndef WIN32
++-#if !(defined(__MACH__) && defined(__APPLE__))
++-#include <sys/sysinfo.h>
++-#endif
++-#include <sys/wait.h>
++-#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;
++ }
++ 
++ ///////////////////////////////////////////////////////////////////////////////
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..95fc747535f0d16c48fbafcfd7d9f864dd9b02cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <haavard_aasen@yahoo.no>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..922aa9607df4c5049c6cd3365124e4375ec2f995
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Description: Do not include binary examples excluded via d/copyright
++Author: Anton Gladky <gladk@debian.org>
++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()
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c335ccf74ae4e0b33a5c5d6b82e5a8181d20b325
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++Description: exclude ply from build-sources, use packaged version
++Author: Anton Gladky <gladk@debian.org>, Sebastian Hoogen <sebastian@hoogen.de>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..557083819186074b79461d86100c625d38d092cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Description: Don't include extra license file in package
++Author: Kurt Kremitzki <kkremitzki@debian.org>
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d5bbd82f327ebed00dd02e5e43566a6c89e5a38d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <tobi@debian.org>
++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(
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fe034a4a44e3dfd13bb837b8ab6d92516b2bf43c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Description: Do not cmake add_subdirectory on removed directory.
++ Avoids a FTBFS.
++Author: Tobias Frost <tobi@debian.org>
++Forwarded: not-needed, Debian specific.
++Last-Update: 2023-12-09 <YYYY-MM-DD, last update of the meta-information, optional>
++---
++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)
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80c1584376a9798f816d904a07f9288adbde225d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++0xxx: Grabbed from upstream development.
++1xxx: Possibly relevant for upstream adoption.
++2xxx: Only relevant for official Debian release.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..583b6520921b97b76a6447e969223e0c4d9a3786
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..55b11485edbb5701c1ce2f302a71fc229bd4057d
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..33c3a640d2a84306b6a8b5640692ac3481739e65
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a81dcfa2da2cadb2b882e1cf70e970ded281444
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..756af77679d1b169fb3fbef19f008c6286416729
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++# The following file is an icon from the Tango Desktop Project, licensed under\r
++# public domain\r
++# https://commons.wikimedia.org/wiki/File:Edit-cut.svg\r
++freecad source: license-problem-cc-by-nc-sa src/Gui/Icons/edit-cut.svg\r
++freecad source: license-problem-cc-by-nc-sa src/Mod/TechDraw/Gui/Resources/icons/MRTE/edit-cut.svg\r
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2afd894fda75dc80c57ad96f28912cdb2d26d749
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++Tests: freecadtest
++Depends: freecad, xvfb, xauth
++Restrictions: allow-stderr
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..33f3b373e03f79456babf0765aa4d12727ab61ed
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++#!/bin/dash
++# autopkgtest check
++# (C) 2014 Anton Gladky <gladk@debian.org>
++
++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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b05bd57b15e8b6f5808625275569f47c780b7e49
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a26af4286463edbaa30a13599b317099b247f2a1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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.*).*(?<!_pre)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))