Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The wheels for PyQt6 from the pypi artifactory are linked against the limited Python ABI. The CPython interpreter we compile as part of Cura is not compiled with the Py_LIMITED_ABI flag. This results on Windows that the PyQt6 module try to use the python3.dll in the system, while our CPython deps is compiled as python310.dll. To make sure that PyQt6 runs and uses our CPython library we need to compile and link PyQt6 against our Conan dependencies. This means that we also need to compile Qt6 and make sure that PyQt6 is compiled without the Py_LIMITED_ABI definition. For this to work we need to patch the pyproject.toml (using our Conan pyprojecttoolchain generator https://github.com/Ultimaker/conan-ultimaker-index/blob/CURA-8831_pyqt6_recipe/recipes/pyprojecttoolchain/conanfile.py ) and patch the SIP definition files to replace all `use_limited_api=True` arguments with `use_limited_api=True`. Furthermore, we need enable at the very least the `qtdeclarative` module for Qml support. Adding the PyQt6/6.3.1 as a Conan dependency to Cura and Uranium and removing the PyQt6* requirements from the requirement.txt except: PyQt6-sip will solve the following GH issue Fixes Ultimaker/Cura#12773 Fixes Ultimaker/Cura#12745 Fixes Ultimaker/Cura#13047 Mind you we're still missing some PyQt6 modules atm so Cura will start up and doesn't complain about missing dll's anymore but at the time it doesn't render text yet. This is probably because harfbuzz and glib are disabled. These are currently disabled because of some issues with the Conan recipe for automake and autoconf when using msys2. See conan-io/conan-center-index#9048 and conan-io/conan-center-index#10028 A possible workaround for that is to modify the Qt6 dependency which uses automake and autoconf, remove those as dependencies when compiling on Windows and adding the option for: `msys2:packages=base-devel,binutils,gcc,autoconf,automake` Contributes to CURA-8831
- Loading branch information