diff options
Diffstat (limited to 'media-gfx/freecad')
8 files changed, 0 insertions, 524 deletions
diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest index 02d737572cc2..23eb9682d4ed 100644 --- a/media-gfx/freecad/Manifest +++ b/media-gfx/freecad/Manifest @@ -1,3 +1,2 @@ DIST freecad-0.19.2-0005-Make-smesh-compile-with-vtk9.patch.xz 5368 BLAKE2B 69bafefd049effe3c31719bb2c23d32e8ba7ad58235c58ac8279ba6c036feaf1b97d5751cf2d68896e7489803103b2d0f92f76e61b3ccc97ef05a95b337ca5c2 SHA512 66585cc13fb3b0b026cf9dbd761c8ba1c1fe4d4f7db2e144ddd97706e02ccd78f4a43ac7cd93ddcae6e73933bf41d4cbd4d94bcdff8804b81378a6d946c7b070 -DIST freecad-0.19.2.tar.gz 296987961 BLAKE2B 3c21359c71f7ac5a49cc4b4be437dfce02f2af73dfc526a3955547718ee41c461fc787d029a9a77374d58516d7c56fec6982fe6d38ab17fbc30c0a94929136bf SHA512 420f00e696725cbd31c936c47b6ac226d866a17c7b7683ad381b8dd5edaffc7dfb1a3c4238c08e8b4fd34ef0c08d7c244cb7797012e596df1ce0a4f6e3be6b72 DIST freecad-0.19.4.tar.gz 296990652 BLAKE2B 6b252198616f7731144d000307a7f186eb2b24e07b85e008d0aae0f60a732fef5598c06c5c66b70fa44114f05afbc7d81b15c71bbb147bc2e458ea90cc81ee45 SHA512 58e5e6bb4ed40ce7f3a0b653cdb0371208189b9ca266f1c29a8f9077c4e56861b3925f695718fba34781254220f8a8919a2e2a501d43573b2c733f8b21c12c1f diff --git a/media-gfx/freecad/files/freecad-0.19.2-0001-Backport-of-0004809-Security-vulnerability-in-DWG-im.patch b/media-gfx/freecad/files/freecad-0.19.2-0001-Backport-of-0004809-Security-vulnerability-in-DWG-im.patch deleted file mode 100644 index 2df44ff66ac8..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0001-Backport-of-0004809-Security-vulnerability-in-DWG-im.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 4006e62860c73f0943e71c7da478256a7337941d Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Mon, 31 Jan 2022 08:12:35 +0100 -Subject: [PATCH 1/2] Backport of 0004809: Security vulnerability in DWG import - when using ODA file converter - -Original patch commit id 1742d7ff82af1653253c4a4183c262c9af3b26d6 by -wmayer <wmayer@users.sourceforge.net>. - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- a/src/Mod/Draft/importDWG.py -+++ b/src/Mod/Draft/importDWG.py -@@ -44,8 +44,6 @@ https://knowledge.autodesk.com/support/autocad/downloads/ - # * * - # *************************************************************************** - --# TODO: use subprocess.popen() instead of subprocess.call() -- - import six - import FreeCAD - from FreeCAD import Console as FCC -@@ -217,15 +215,10 @@ def convertToDxf(dwgfilename): - indir = os.path.dirname(dwgfilename) - outdir = tempfile.mkdtemp() - basename = os.path.basename(dwgfilename) -- cmdline = ('"%s" "%s" "%s" "ACAD2000" "DXF" "0" "1" "%s"' -- % (teigha, indir, outdir, basename)) -- FCC.PrintMessage(translate("ImportDWG", "Converting: ") -- + cmdline + "\n") -- if six.PY2: -- if isinstance(cmdline, six.text_type): -- encoding = sys.getfilesystemencoding() -- cmdline = cmdline.encode(encoding) -- subprocess.call(cmdline, shell=True) # os.system(cmdline) -+ cmdline = [teigha, indir, outdir, "ACAD2000", "DXF", "0", "1", basename] -+ FCC.PrintMessage(translate("draft", "Converting:") + " " + str(cmdline) + "\n") -+ proc = subprocess.Popen(cmdline) -+ proc.communicate() - result = outdir + os.sep + os.path.splitext(basename)[0] + ".dxf" - if os.path.exists(result): - FCC.PrintMessage(translate("ImportDWG", -@@ -270,10 +263,9 @@ def convertToDwg(dxffilename, dwgfilename): - indir = os.path.dirname(dxffilename) - outdir = os.path.dirname(dwgfilename) - basename = os.path.basename(dxffilename) -- cmdline = ('"%s" "%s" "%s" "ACAD2000" "DWG" "0" "1" "%s"' -- % (teigha, indir, outdir, basename)) -- FCC.PrintMessage(translate("ImportDWG", "Converting: ") -- + cmdline + "\n") -- subprocess.call(cmdline, shell=True) # os.system(cmdline) -+ cmdline = [teigha, indir, outdir, "ACAD2000", "DWG", "0", "1", basename] -+ FCC.PrintMessage(translate("draft", "Converting:") + " " + str(cmdline) + "\n") -+ proc = subprocess.Popen(cmdline) -+ proc.communicate() - return dwgfilename - return None --- -2.35.0 - diff --git a/media-gfx/freecad/files/freecad-0.19.2-0001-fix-failing-test-workbench-testcase.patch b/media-gfx/freecad/files/freecad-0.19.2-0001-fix-failing-test-workbench-testcase.patch deleted file mode 100644 index 58107fb544d1..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0001-fix-failing-test-workbench-testcase.patch +++ /dev/null @@ -1,26 +0,0 @@ -From dc04c745ea1e7dc277ab06fab69a2b91fbf543c5 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Sun, 25 Apr 2021 23:02:39 +0200 -Subject: [PATCH] fix failing test workbench testcase - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- - src/Mod/Test/Document.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Mod/Test/Document.py b/src/Mod/Test/Document.py -index e41375c..fd5eb15 100644 ---- a/src/Mod/Test/Document.py -+++ b/src/Mod/Test/Document.py -@@ -1307,7 +1307,7 @@ class DocumentFileIncludeCases(unittest.TestCase): - # copy file from L5 which is in the same directory
- L7 = doc2.addObject("App::DocumentObjectFileIncluded","FileObject3")
- L7.File = (L5.File,"Copy.txt")
-- self.failUnless(os.path.exists(L5.File))
-+ self.failUnless(os.path.exists(L7.File))
- FreeCAD.closeDocument("Doc2")
-
-
--- -2.31.1 - diff --git a/media-gfx/freecad/files/freecad-0.19.2-0002-Backport-of-Use-run-instead-of-Popen-to-avoid-need-f.patch b/media-gfx/freecad/files/freecad-0.19.2-0002-Backport-of-Use-run-instead-of-Popen-to-avoid-need-f.patch deleted file mode 100644 index 9b043bd34563..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0002-Backport-of-Use-run-instead-of-Popen-to-avoid-need-f.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 937d8ca9bf4c50f8a7dc0fbcf9e6ac23b0fbe033 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Mon, 31 Jan 2022 08:17:24 +0100 -Subject: [PATCH 2/2] Backport of Use run() instead of Popen() to avoid need - for communicate - -Original patch commit id a65dbc6f8296562a12407a36f4931a80bbb628b7 by -sliptonic <shopinthewoods@gmail.com> - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- a/src/Mod/Path/PathScripts/PathSanity.py -+++ b/src/Mod/Path/PathScripts/PathSanity.py -@@ -412,8 +412,7 @@ class CommandPathSanity: - FreeCAD.Console.PrintMessage('asciidoc file written to {}\n'.format(reportraw)) - - try: -- result = os.system('asciidoctor {} -o {}'.format(reportraw, -- reporthtml)) -+ result = subprocess.run(["asciidoctor", reportraw, "-o", reporthtml]) - if str(result) == "32512": - msg = "asciidoctor not found. html cannot be generated." - QtGui.QMessageBox.information(None, "Path Sanity", msg) --- -2.35.0 - diff --git a/media-gfx/freecad/files/freecad-0.19.2-0002-fix-femtest-failure-with-yaml-load.patch b/media-gfx/freecad/files/freecad-0.19.2-0002-fix-femtest-failure-with-yaml-load.patch deleted file mode 100644 index 17da18c2b12c..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0002-fix-femtest-failure-with-yaml-load.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a8314fdc56bb39f5af85e1678a03d613bfb9ee03 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Mon, 26 Apr 2021 19:32:54 +0200 -Subject: [PATCH] fix femtest failure with yaml load - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- - src/Mod/Fem/feminout/importYamlJsonMesh.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Mod/Fem/feminout/importYamlJsonMesh.py b/src/Mod/Fem/feminout/importYamlJsonMesh.py -index 9886248..aff83a5 100644 ---- a/src/Mod/Fem/feminout/importYamlJsonMesh.py -+++ b/src/Mod/Fem/feminout/importYamlJsonMesh.py -@@ -162,7 +162,7 @@ def read( - or fileExtension.lower() == ".yml" - ) and has_yaml: - fp = pyopen(fileString, "rt") -- raw_mesh_data = yaml.load(fp) -+ raw_mesh_data = yaml.load(fp, Loader=yaml.SafeLoader) - fp.close() - else: - Console.PrintError( --- -2.31.1 - diff --git a/media-gfx/freecad/files/freecad-0.19.2-0003-fix-test-when-built-without-GUI.patch b/media-gfx/freecad/files/freecad-0.19.2-0003-fix-test-when-built-without-GUI.patch deleted file mode 100644 index 33892ade6d5a..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0003-fix-test-when-built-without-GUI.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d7ea5a0f20888a2ddae3eb48e508e9067662cdc7 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Wed, 28 Apr 2021 08:57:53 +0200 -Subject: [PATCH] fix test when built without GUI - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- - src/Mod/Arch/ArchRoof.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Mod/Arch/ArchRoof.py b/src/Mod/Arch/ArchRoof.py -index 99130d0..e2c2955 100644 ---- a/src/Mod/Arch/ArchRoof.py -+++ b/src/Mod/Arch/ArchRoof.py -@@ -22,7 +22,6 @@ - import math - - import ArchComponent --import Arch_rc - import Draft - import DraftGeomUtils - import DraftVecUtils -@@ -32,6 +31,7 @@ import Part - from FreeCAD import Vector - - if FreeCAD.GuiUp: -+ import Arch_rc - import FreeCADGui - from PySide import QtCore, QtGui - from DraftTools import translate --- -2.31.1 - diff --git a/media-gfx/freecad/files/freecad-0.19.2-0007-fix-build-failure-with-opencascade-7.5.2.patch b/media-gfx/freecad/files/freecad-0.19.2-0007-fix-build-failure-with-opencascade-7.5.2.patch deleted file mode 100644 index 46c69326129a..000000000000 --- a/media-gfx/freecad/files/freecad-0.19.2-0007-fix-build-failure-with-opencascade-7.5.2.patch +++ /dev/null @@ -1,30 +0,0 @@ -From bbbaf3e27d39767ba0b3de998b9d8d5fd42a681f Mon Sep 17 00:00:00 2001 -From: Bernd Waibel <waebbl-gentoo@posteo.net> -Date: Sun, 20 Jun 2021 16:24:04 +0200 -Subject: [PATCH] fix build failure with opencascade-7.5.2 - -For patch, see -https://forum.freecadweb.org/viewtopic.php?f=4&t=58090&sid=07aca55f0513162234c40bc4bd6e4044#p503286 - -Upstream issue at https://tracker.dev.opencascade.org/view.php?id=32328 - -Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> ---- - src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp -index a268fce..3def142 100644 ---- a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp -+++ b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp -@@ -27,6 +27,7 @@ - # include <Standard_Failure.hxx> - #endif - -+#include <TopoDS_Edge.hxx> - #include "ShapeUpgrade/UnifySameDomainPy.h" - #include "ShapeUpgrade/UnifySameDomainPy.cpp" - #include "TopoShapePy.h" --- -2.32.0 - diff --git a/media-gfx/freecad/freecad-0.19.2-r7.ebuild b/media-gfx/freecad/freecad-0.19.2-r7.ebuild deleted file mode 100644 index aa2041fd5f01..000000000000 --- a/media-gfx/freecad/freecad-0.19.2-r7.ebuild +++ /dev/null @@ -1,324 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8,9} ) - -inherit check-reqs cmake optfeature python-single-r1 xdg - -DESCRIPTION="QT based Computer Aided Design application" -HOMEPAGE="https://www.freecadweb.org/ https://github.com/FreeCAD/FreeCAD" - -MY_PN=FreeCAD - -if [[ ${PV} = *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" - S="${WORKDIR}/freecad-${PV}" -else - MY_PV=$(ver_cut 1-2) - MY_PV=$(ver_rs 1 '_' ${MY_PV}) - SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz - https://raw.githubusercontent.com/waebbl/waebbl-gentoo/master/patches/${P}-0005-Make-smesh-compile-with-vtk9.patch.xz" - KEYWORDS="~amd64" - S="${WORKDIR}/FreeCAD-${PV}" -fi - -# code is licensed LGPL-2 -# examples are licensed CC-BY-SA (without note of specific version) -LICENSE="LGPL-2 CC-BY-SA-4.0" -SLOT="0" -IUSE="debug headless pcl test" -RESTRICT="!test? ( test )" - -FREECAD_EXPERIMENTAL_MODULES="cloud plot ship" -FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material - openscad part-design path points raytracing robot show surface - techdraw tux" - -for module in ${FREECAD_STABLE_MODULES}; do - IUSE="${IUSE} +${module}" -done -for module in ${FREECAD_EXPERIMENTAL_MODULES}; do - IUSE="${IUSE} ${module}" -done -unset module - -RDEPEND=" - ${PYTHON_DEPS} - dev-libs/OpenNI2[opengl(+)] - dev-libs/libspnav[X] - dev-libs/xerces-c[icu] - dev-qt/designer:5 - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwebengine:5[widgets] - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - dev-qt/qtxml:5 - >=media-libs/coin-4.0.0 - media-libs/freetype - media-libs/qhull:= - sci-libs/flann[openmp] - sci-libs/hdf5:=[fortran,zlib] - >=sci-libs/med-4.0.0-r1[python,${PYTHON_SINGLE_USEDEP}] - <sci-libs/opencascade-7.6.0:=[vtk(+)] - sci-libs/orocos_kdl:= - sys-libs/zlib - virtual/glu - virtual/libusb:1 - virtual/opengl - cloud? ( - dev-libs/openssl:= - net-misc/curl - ) - fem? ( sci-libs/vtk:=[boost(+),python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] ) - openscad? ( media-gfx/openscad ) - pcl? ( >=sci-libs/pcl-1.8.1:=[opengl,openni2(+),qt5(+),vtk(+)] ) - $(python_gen_cond_dep ' - dev-libs/boost:=[python,threads(+),${PYTHON_USEDEP}] - dev-python/matplotlib[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - dev-python/pyside2[gui,svg,${PYTHON_USEDEP}] - dev-python/shiboken2[${PYTHON_USEDEP}] - addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] ) - fem? ( dev-python/ply[${PYTHON_USEDEP}] ) - ') -" -DEPEND=" - ${RDEPEND} - >=dev-cpp/eigen-3.3.1:3 -" -BDEPEND="dev-lang/swig" - -# To get required dependencies: -# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' -# We set the following requirements by default: -# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. -# -# Additionally, we auto-enable mesh_part, flat_mesh and smesh -# Fem actually needs smesh, but as long as we don't have a smesh package, we enable -# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't -# reflected by the REQUIRES_MODS macro, but at -# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. -# -# The increase in auto-enabled workbenches is due to their need in parts of the -# test suite when compiled with a minimal set of USE flags. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - inspection? ( points ) - path? ( robot ) - ship? ( image plot ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.19_pre20201231-0003-Gentoo-specific-don-t-check-vcs.patch - "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch - "${FILESDIR}"/${P}-0001-fix-failing-test-workbench-testcase.patch - "${FILESDIR}"/${P}-0002-fix-femtest-failure-with-yaml-load.patch - "${FILESDIR}"/${P}-0003-fix-test-when-built-without-GUI.patch - "${WORKDIR}"/${P}-0005-Make-smesh-compile-with-vtk9.patch - "${FILESDIR}"/${P}-0006-add-boost-serialization-to-find_package.patch - "${FILESDIR}"/${P}-0007-fix-build-failure-with-opencascade-7.5.2.patch - "${FILESDIR}"/${P}-0001-Backport-of-0004809-Security-vulnerability-in-DWG-im.patch - "${FILESDIR}"/${P}-0002-Backport-of-Use-run-instead-of-Popen-to-avoid-need-f.patch -) - -DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md ) - -CHECKREQS_DISK_BUILD="2G" - -pkg_setup() { - check-reqs_pkg_setup - python-single-r1_pkg_setup - [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, plesae run eselect opencascade" -} - -src_prepare() { - # the upstream provided file doesn't find the coin doc tag file, - # but cmake ships a working one, so we use this. - rm "${S}/cMake/FindCoin3D.cmake" || die - - # Fix desktop file - sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=ON - -DBUILD_ASSEMBLY=OFF # deprecated - -DBUILD_CLOUD=$(usex cloud) - -DBUILD_COMPLETE=OFF # deprecated - -DBUILD_DRAFT=ON - -DBUILD_DRAWING=ON - -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0 - -DBUILD_FEM=$(usex fem) - -DBUILD_FEM_NETGEN=OFF - -DBUILD_FLAT_MESH=ON - -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory - -DBUILD_FREETYPE=ON # automagic dep - -DBUILD_GUI=$(usex !headless) - -DBUILD_IDF=$(usex idf) - -DBUILD_IMAGE=$(usex image) - -DBUILD_IMPORT=ON # import module for various file formats - -DBUILD_INSPECTION=$(usex inspection) - -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there - -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=ON - -DBUILD_MESH_PART=ON - -DBUILD_OPENSCAD=$(usex openscad) - -DBUILD_PART=ON - -DBUILD_PART_DESIGN=$(usex part-design) - -DBUILD_PATH=$(usex path) - -DBUILD_PLOT=$(usex plot) # conflicts with possible external workbench - -DBUILD_POINTS=$(usex points) - -DBUILD_QT5=ON # OFF means to use Qt4 - -DBUILD_RAYTRACING=$(usex raytracing) - -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox - -DBUILD_ROBOT=$(usex robot) - -DBUILD_SHIP=$(usex ship) # conflicts with possible external workbench - -DBUILD_SHOW=$(usex show) - -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=ON - -DBUILD_SPREADSHEET=ON - -DBUILD_START=ON - -DBUILD_SURFACE=$(usex surface) - -DBUILD_TECHDRAW=$(usex techdraw) - -DBUILD_TEST=ON # always build test workbench for run-time testing - -DBUILD_TUX=$(usex tux) - -DBUILD_VR=OFF - -DBUILD_WEB=ON # needed by start workspace - -DBUILD_WITH_CONDA=OFF - - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} - - -DFREECAD_BUILD_DEBIAN=OFF - - -DFREECAD_USE_EXTERNAL_KDL=ON - -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo - -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree - -DFREECAD_USE_FREETYPE=ON - -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" - -DFREECAD_USE_PCL=$(usex pcl) - -DFREECAD_USE_PYBIND11=ON - -DFREECAD_USE_QT_FILEDIALOG=ON - -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine" - - # install python modules to site-packages' dir. True only for the main package, - # sub-packages will still be installed inside /usr/lib64/freecad - -DINSTALL_TO_SITEPACKAGES=ON - - # Use the version of shiboken2 that matches the selected python version - -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" - -DPython3_EXECUTABLE=${PYTHON} - ) - - if use debug; then - mycmakeargs+=( - -DBUILD_SANDBOX=ON - -DBUILD_TEMPLATE=ON - ) - else - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=OFF - ) - fi - - cmake_src_configure -} - -# We use the FreeCADCmd binary instead of the FreeCAD binary here -# for two reasons: -# 1. It works out of the box with USE=headless as well, not needing a guard -# 2. We don't need virtualx.eclass and it's dependencies -# The exported environment variables are needed, so freecad does know -# where to save it's temporary files, and where to look and write it's -# configuration. Without those, there are sandbox violation, when it -# tries to create /var/lib/portage/home/.FreeCAD directory. -src_test() { - pushd "${BUILD_DIR}" > /dev/null || die - export FREECAD_USER_HOME="${HOME}" - export FREECAD_USER_DATA="${T}" - export FREECAD_USER_TEMP="${T}" - nonfatal ./bin/FreeCADCmd --run-test 0 - popd > /dev/null || die -} - -src_install() { - cmake_src_install - - dobin src/Tools/freecad-thumbnailer - - if ! use headless; then - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad - mv "${ED}"/usr/$(get_libdir)/freecad/share/* "${ED}"/usr/share || die "failed to move shared ressources" - fi - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd - - python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ - # compile main package in python site-packages as well - python_optimize -} - -pkg_postinst() { - xdg_pkg_postinst - - if use plot; then - einfo "Note: You are enabling the 'plot' USE flag." - einfo "This conflicts with the plot workbench that can be loaded" - einfo "via the addon manager! You can only install one of those." - fi - - if use ship; then - einfo "Note: You are enabling the 'ship' USE flag." - einfo "This conflicts with the ship workbench that can be loaded" - einfo "via the addon manager! You can only install one of those." - fi - - einfo "You can load a lot of additional workbenches using the integrated" - einfo "AddonManager." - - # ToDo: check opencv, pysolar (::science), elmerfem (::science) - # ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl) - einfo "There are a lot of additional tools, for which FreeCAD has builtin" - einfo "support. Some of them are available in Gentoo. Take a look at" - einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD" - optfeature_header "Computational utilities" - optfeature "BLAS library" sci-libs/openblas - optfeature "Statistical computation with Python" dev-python/pandas - optfeature "Use scientific computation with Python" dev-python/scipy - optfeature "Use symbolic math with Python" dev-python/sympy - optfeature_header "Imaging, Plotting and Rendering utilities" - optfeature "Dependency graphs" media-gfx/graphviz - optfeature "PBR Rendering" media-gfx/povray - optfeature_header "Import / Export" - optfeature "Interact with git repositories" dev-python/GitPython - optfeature "Work with COLLADA documents" dev-python/pycollada - optfeature "YAML importer and emitter" dev-python/pyyaml - optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg - optfeature "Importing and exporting geospatial data formats" sci-libs/gdal - optfeature "Working with projection data" sci-libs/proj - optfeature_header "Meshing and FEM" - optfeature "FEM mesh generator" sci-libs/gmsh - optfeature "Triangulating meshes" sci-libs/gts - optfeature "Visualization" sci-visualization/paraview -} - -pkg_postrm() { - xdg_pkg_postrm -} |