summaryrefslogtreecommitdiff
path: root/media-gfx/freecad/freecad-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/freecad/freecad-9999.ebuild')
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild70
1 files changed, 45 insertions, 25 deletions
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index ba5840c6b720..a006497fe1bd 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit check-reqs cmake optfeature python-single-r1 xdg
@@ -28,7 +28,7 @@ LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
IUSE="debug designer +gui test"
-FREECAD_EXPERIMENTAL_MODULES="cloud pcl"
+FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
openscad part-design path points raytracing robot show surface
techdraw tux"
@@ -46,47 +46,54 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
dev-libs/OpenNI2[opengl(+)]
+ dev-libs/boost:=
+ dev-libs/libfmt:=
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
+ dev-qt/qtxmlpatterns:5
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:=[json,vtk(+)]
+ >=sci-libs/med-4.0.0-r1
+ sci-libs/opencascade:=[json,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}] )
+ fem? ( sci-libs/vtk:=[qt5,rendering] )
+ gui? (
+ dev-qt/designer:5
+ dev-qt/qtgui: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
+ >=media-libs/coin-4.0.0
+ virtual/glu
+ virtual/opengl
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
+ dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2[${PYTHON_USEDEP}]
+ ')
+ )
+ netgen? ( media-gfx/netgen[opencascade] )
openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2(+),qt5(+),vtk(+)] )
+ pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
$(python_gen_cond_dep '
- dev-libs/boost:=[python,${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,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
fem? ( dev-python/ply[${PYTHON_USEDEP}] )
')
@@ -94,10 +101,18 @@ RDEPEND="
DEPEND="
${RDEPEND}
>=dev-cpp/eigen-3.3.1:3
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
BDEPEND="
app-text/dos2unix
dev-lang/swig
+ test? (
+ $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ dev-qt/qttest:5
+ )
"
# To get required dependencies:
@@ -115,6 +130,7 @@ BDEPEND="
# test suite when compiled with a minimal set of USE flags.
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
+ designer? ( gui )
inspection? ( points )
path? ( robot )
"
@@ -122,9 +138,10 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
"${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
+ "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
)
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
+DOCS=( CODE_OF_CONDUCT.md README.md )
CHECKREQS_DISK_BUILD="2G"
@@ -155,7 +172,7 @@ src_configure() {
-DBUILD_DRAWING=ON
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
-DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=OFF
+ -DBUILD_FEM_NETGEN=$(usex netgen)
-DBUILD_FLAT_MESH=ON
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
-DBUILD_FREETYPE=ON # automagic dep
@@ -263,6 +280,9 @@ src_install() {
fi
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
+ rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
+ use test && rm -r "${ED}"/usr/include/${PN}/{gmock,gtest} || die
+
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
@@ -275,7 +295,7 @@ pkg_postinst() {
einfo "AddonManager."
# ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl)
+ # ifc++, ifcopenshell, 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"