summaryrefslogtreecommitdiff
path: root/media-gfx/freecad/freecad-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-20 17:13:51 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-20 17:13:51 +0000
commitbe675f929577458bd306c90ed78b62054197c0b1 (patch)
tree5eabf108becbac5f9628fb677b1a0eb93fab07a3 /media-gfx/freecad/freecad-9999.ebuild
parentc72af498eade96364bed882cf8ab30fc3da7d772 (diff)
gentoo auto-resync : 20:11:2023 - 17:13:50
Diffstat (limited to 'media-gfx/freecad/freecad-9999.ebuild')
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild99
1 files changed, 70 insertions, 29 deletions
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index 73fd4eaff9a1..d174541cdb9c 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit check-reqs cmake optfeature python-single-r1 xdg
@@ -26,7 +26,7 @@ fi
# examples are licensed CC-BY-SA (without note of specific version)
LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
-IUSE="debug designer +gui test"
+IUSE="debug designer +gui qt6 test"
FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
@@ -50,11 +50,16 @@ RDEPEND="
dev-libs/libfmt:=
dev-libs/libspnav[X]
dev-libs/xerces-c[icu]
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
+ !qt6? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtxml:5
+ dev-qt/qtxmlpatterns:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[concurrent,network,xml]
+ )
media-libs/freetype
media-libs/qhull:=
sci-libs/hdf5:=[fortran,zlib]
@@ -67,25 +72,42 @@ RDEPEND="
dev-libs/openssl:=
net-misc/curl
)
- fem? ( sci-libs/vtk:=[qt5,rendering] )
+ fem? (
+ !qt6? ( sci-libs/vtk:=[qt5,rendering] )
+ qt6? ( sci-libs/vtk:=[qt6,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}]
- ')
+ !qt6? (
+ designer? ( 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
+ $(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}]
+ ' python3_{10..11} )
+ )
+ qt6? (
+ designer? ( dev-qt/qttools:6[designer] )
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ dev-qt/qtsvg:6
+ dev-qt/qtwebengine:6[widgets]
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
+ dev-python/pyside6[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken6[${PYTHON_USEDEP}]
+ ' )
+ )
)
netgen? ( media-gfx/netgen[opencascade] )
openscad? ( media-gfx/openscad )
@@ -102,7 +124,7 @@ DEPEND="
>=dev-cpp/eigen-3.3.1:3
test? (
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
+ !qt6? ( dev-qt/qttest:5 )
)
"
BDEPEND="
@@ -110,7 +132,7 @@ BDEPEND="
dev-lang/swig
test? (
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
+ !qt6? ( dev-qt/qttest:5 )
)
"
@@ -132,7 +154,9 @@ REQUIRED_USE="
designer? ( gui )
inspection? ( points )
path? ( robot )
+ python_single_target_python3_12? ( gui? ( qt6 ) )
"
+# There is no py3.12 support planned for pyside2
PATCHES=(
"${FILESDIR}"/${PN}-9999-Gentoo-specific-don-t-check-vcs.patch
@@ -152,7 +176,7 @@ pkg_setup() {
src_prepare() {
# Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
+ sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
@@ -189,7 +213,6 @@ src_configure() {
-DBUILD_PART_DESIGN=$(usex part-design)
-DBUILD_PATH=$(usex path)
-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)
@@ -213,8 +236,6 @@ src_configure() {
-DFREECAD_BUILD_DEBIAN=OFF
- -DFREECAD_QT_VERSION="5"
-
-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
@@ -248,6 +269,20 @@ src_configure() {
)
fi
+ if use qt6; then
+ mycmakeargs+=(
+ -DFREECAD_QT_VERSION=6
+ -DQT_DEFAULT_MAJOR_VERSION=6
+ -DBUILD_QT5=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DFREECAD_QT_VERSION=5
+ -DQT_DEFAULT_MAJOR_VERSION=5
+ -DBUILD_QT5=ON
+ )
+ fi
+
cmake_src_configure
}
@@ -274,7 +309,13 @@ src_install() {
dobin src/Tools/freecad-thumbnailer
if use gui; then
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
+ newbin - freecad <<- _EOF_
+ #!/bin/sh
+ # https://github.com/coin3d/coin/issues/451
+ : \${QT_QPA_PLATFORM:=xcb}
+ export QT_QPA_PLATFORM
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD
+ _EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd