Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 933439 - media-gfx/freecad needs upgrade to Python 3.12 (PythonCompatUpdate)
Summary: media-gfx/freecad needs upgrade to Python 3.12 (PythonCompatUpdate)
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Paul Zander
Depends on:
Blocks: 921826
  Show dependency tree
Reported: 2024-06-02 22:11 UTC by tdr
Modified: 2024-06-22 13:22 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description tdr 2024-06-02 22:11:36 UTC
Recent change in default python to 3.12 means freecad can no longer use the default PYTHON_SINGLE_TARGET.  This required a freecad and a lot of deps to have python-3.11 target set for them.

Reproducible: Always

Steps to Reproduce:
USE="addonmgr -cloud -debug -designer fem gui idf image inspection material -netgen openscad part-design path -pcl points -python_single_target_python3_10 python_single_target_python3_12 -qt6 raytracing robot show surface techdraw -test tux" emerge -vp freecad
Actual Results:  
required to enable 3.12 single target python + 3.11 for many deps:

dev-python/appdirs python_targets_python3_11
dev-python/cairocffi python_targets_python3_11
dev-python/cffi python_targets_python3_11
dev-python/contourp python_targets_python3_11
dev-python/contourpy python_targets_python3_11
dev-python/cppy python_targets_python3_11
dev-python/cycler python_targets_python3_11
dev-python/fonttools python_targets_python3_11
dev-python/fs python_targets_python3_11
dev-python/gitdb python_targets_python3_11
dev-python/GitPython python_targets_python3_11
dev-python/kiwisolver python_targets_python3_11
dev-python/matplotlib python_targets_python3_11
dev-python/olefile python_targets_python3_11
dev-python/pillow python_targets_python3_11
dev-python/pivy python_targets_python3_11
dev-python/ply python_targets_python3_11
dev-python/pybind11 python_targets_python3_11
dev-python/pycparser python_targets_python3_11
dev-python/pyparsing python_targets_python3_11
dev-python/PyQt5 python_targets_python3_11
dev-python/PyQt5-sip python_targets_python3_11
dev-python/PyQt-builder python_targets_python3_11
dev-python/python-dateutil python_targets_python3_11
dev-python/pytz python_targets_python3_11
dev-python/sip python_targets_python3_11
dev-python/six python_targets_python3_11
dev-python/smmap python_targets_python3_11
dev-python/wxpython python_targets_python3_11
dev-python/xcffib python_targets_python3_11
media-gfx/freecad  python_single_target_python3_11
sci-libs/med python_single_target_python3_11
sys-devel/clang:15/15g1 python_single_target_python3_11

Expected Results:  
ability to use default python single target setting
Comment 1 Andrew Nowa Ammerlaan gentoo-dev 2024-06-03 06:30:11 UTC
Python 3.12 requires using qt6 since pyside2 is no longer maintained upstream and is not compatible with 3.12.

Unfortunatly there are still many issues with qt6 in 0.21.2 that need fixing. The next releasse should address most of these problems and open the door for python 3.12 compatibility.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-06-03 06:35:43 UTC
negril, could you try figure something out?
Comment 3 Larry the Git Cow gentoo-dev 2024-06-03 15:00:17 UTC
The bug has been referenced in the following commit(s):

commit 08ebd7d12caf2b39beec97a97a3f7253477b46b1
Author:     Andrew Ammerlaan <>
AuthorDate: 2024-06-03 14:50:21 +0000
Commit:     Andrew Ammerlaan <>
CommitDate: 2024-06-03 14:50:21 +0000

    media-gfx/freecad: backport various qt6 fixes
    enable py3.12 for qt6 builds
    Signed-off-by: Andrew Ammerlaan <>

 .../freecad/files/freecad-0.21.2-navcube-qt6.patch |  29 ++++
 .../freecad/files/freecad-0.21.2-py312-qt6.patch   | 186 +++++++++++++++++++++
 .../freecad/files/freecad-0.21.2-qtsvg-qt6.patch   | 148 ++++++++++++++++
 ...d-0.21.2-r2.ebuild => freecad-0.21.2-r3.ebuild} |  18 +-
 media-gfx/freecad/freecad-9999.ebuild              |   8 +-
 5 files changed, 380 insertions(+), 9 deletions(-)
Comment 4 Andrew Nowa Ammerlaan gentoo-dev 2024-06-03 15:03:41 UTC
Backported the python 3.12 fixes from upstream as an intermediate solution. But this is only effective when using qt6, and that is not quiet ready yet according to upstream. Also added two other qt6 patches that Arch is adding to their package.
Comment 5 Alexey Korepanov 2024-06-03 17:03:08 UTC
Is freecad with qt6 usable at all?

I'm asking because it is quite a task to find the right use flags, and last time I tried freecad would frequently crash anyway
Comment 6 Andrew Nowa Ammerlaan gentoo-dev 2024-06-03 17:10:29 UTC
(In reply to Alexey Korepanov from comment #5)
> Is freecad with qt6 usable at all?
> I'm asking because it is quite a task to find the right use flags, and last
> time I tried freecad would frequently crash anyway

There are a bunch of open issues on the upstream bug tracker[1], but it is mostly usable. Whether or not these issues are a problem for you really depends on your use case.

This[2] I think is the biggest one, but we do have the patch for the navcube in ::gentoo now.