summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl-gentoo@posteo.net>2021-10-17 21:55:29 +0200
committerSam James <sam@gentoo.org>2021-11-02 10:04:37 +0000
commit6499c130f97644defd3b71d86c4af3b3b5c96c2a (patch)
tree5bb08b310b33c7e0b9586cfbfe6822dbb6177ac4 /media-gfx
parentmedia-libs/freeimage: restrict dependency on openexr (diff)
downloadgentoo-6499c130f97644defd3b71d86c4af3b3b5c96c2a.tar.gz
gentoo-6499c130f97644defd3b71d86c4af3b3b5c96c2a.tar.bz2
gentoo-6499c130f97644defd3b71d86c4af3b3b5c96c2a.zip
media-gfx/freecad: install freecad-thumbnailer
Can be used by file-managers to show previews for FreeCAD's .fcstd files. Additional changes: - bump to EAPI 8 - cleanup inherit statement - patch to build with boost-1.77.0 - soften sci-libs/pcl dependency. pcl-1.12 supports vtk-9, so there's no longer any need to use live ebuild - clean optfeature statments from packages which are installed anyway or controlled by USE flags - use C++17 Suggested-by: Michael Perlov <perlovka@gmail.com> Bug: https://github.com/waebbl/waebbl-gentoo/issues/341 Closes: https://bugs.gentoo.org/821160 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/freecad/files/freecad-9999-Add-memory-header-for-std-shared_ptr.patch31
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild24
2 files changed, 43 insertions, 12 deletions
diff --git a/media-gfx/freecad/files/freecad-9999-Add-memory-header-for-std-shared_ptr.patch b/media-gfx/freecad/files/freecad-9999-Add-memory-header-for-std-shared_ptr.patch
new file mode 100644
index 000000000000..81a8f22d8937
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-9999-Add-memory-header-for-std-shared_ptr.patch
@@ -0,0 +1,31 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sat, 16 Oct 2021 17:02:19 +0200
+Subject: [PATCH] Add memory header for std::shared_ptr
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ src/App/Metadata.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/App/Metadata.h b/src/App/Metadata.h
+index de8be3ea8e..2c5fd8f417 100644
+--- a/src/App/Metadata.h
++++ b/src/App/Metadata.h
+@@ -30,6 +30,7 @@
+ #include <string>
+ #include <vector>
+ #include <map>
++#include <memory>
+
+ #include <xercesc/dom/DOM.hpp>
+ #include <xercesc/parsers/XercesDOMParser.hpp>
+@@ -296,4 +297,4 @@ namespace App {
+
+ }
+
+-#endif
+\ No newline at end of file
++#endif
+--
+2.33.1
+
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index 8c0caca6adc6..cef63f28477e 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{8,9} )
-inherit check-reqs cmake desktop eapi8-dosym optfeature python-single-r1 xdg
+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"
@@ -81,7 +81,7 @@ RDEPEND="
)
fem? ( sci-libs/vtk:=[boost,python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
openscad? ( media-gfx/openscad )
- pcl? ( ~sci-libs/pcl-${PV}:=[opengl,openni2(+),qt5(+),vtk(+)] )
+ pcl? ( sci-libs/pcl:=[opengl,openni2(+),qt5(+),vtk(+)] )
$(python_gen_cond_dep '
dev-libs/boost:=[python,threads(+),${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
@@ -120,6 +120,7 @@ REQUIRED_USE="
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}-Add-memory-header-for-std-shared_ptr.patch
)
DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
@@ -168,7 +169,7 @@ src_configure() {
-DBUILD_COMPLETE=OFF # deprecated
-DBUILD_DRAFT=ON
-DBUILD_DRAWING=ON
- -DBUILD_ENABLE_CXX_STD:STRING="C++14" # needed for >=boost-1.75.0
+ -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
-DBUILD_FEM=$(usex fem)
-DBUILD_FEM_NETGEN=OFF
-DBUILD_FLAT_MESH=ON
@@ -224,14 +225,14 @@ src_configure() {
-DFREECAD_USE_QT_FILEDIALOG=ON
-DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
-
# 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}
+
-DOCCT_CMAKE_FALLBACK=ON # don't use occt-config which isn't included in opencascade for Gentoo
)
@@ -289,11 +290,13 @@ src_test() {
src_install() {
cmake_src_install
+ dobin src/Tools/freecad-thumbnailer
+
if ! use headless; then
- dosym8 -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
+ 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
- dosym8 -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
+ 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
@@ -326,14 +329,11 @@ pkg_postinst() {
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 "numerical computations with Python" dev-python/numpy
optfeature "BLAS library" sci-libs/openblas
optfeature "statistical computation with Python" dev-python/pandas
- optfeature "usage of Point Clouds" sci-libs/pcl
optfeature "scientific computation with Python" dev-python/scipy
optfeature "symbolic math with Python" dev-python/sympy
optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "function plotting with Python" dev-python/matplotlib
optfeature "dependency graphs" media-gfx/graphviz
optfeature "PBR Rendering" media-gfx/povray
optfeature_header "Import / Export"