diff options
4 files changed, 22 insertions, 15 deletions
diff --git a/sources/pyside-tools/deploy_lib/default.spec b/sources/pyside-tools/deploy_lib/default.spec index a4c2315a0..0760758d8 100644 --- a/sources/pyside-tools/deploy_lib/default.spec +++ b/sources/pyside-tools/deploy_lib/default.spec @@ -25,7 +25,7 @@ icon = python_path = # python packages to install -packages = Nuitka==2.4.8 +packages = Nuitka==2.5.1 # buildozer: for deploying Android application android_packages = buildozer==1.5.0,cython==0.29.33 diff --git a/sources/pyside-tools/deploy_lib/nuitka_helper.py b/sources/pyside-tools/deploy_lib/nuitka_helper.py index 4b59bed73..6ccc97da3 100644 --- a/sources/pyside-tools/deploy_lib/nuitka_helper.py +++ b/sources/pyside-tools/deploy_lib/nuitka_helper.py @@ -166,6 +166,13 @@ class Nuitka: if qt_plugins: # sort qt_plugins so that the result is definitive when testing qt_plugins.sort() + # remove the following plugins from the qt_plugins list as Nuitka only checks + # for plugins within PySide6/Qt/plugins folder, and the following plugins + # are not present in the PySide6/Qt/plugins folder + if "accessiblebridge" in qt_plugins: + qt_plugins.remove("accessiblebridge") + if "platforms/darwin" in qt_plugins: + qt_plugins.remove("platforms/darwin") qt_plugins_str = ",".join(qt_plugins) command.append(f"--include-qt-plugins={qt_plugins_str}") diff --git a/sources/pyside6/doc/deployment/deployment-pyside6-deploy.rst b/sources/pyside6/doc/deployment/deployment-pyside6-deploy.rst index cb31d8005..534d07072 100644 --- a/sources/pyside6/doc/deployment/deployment-pyside6-deploy.rst +++ b/sources/pyside6/doc/deployment/deployment-pyside6-deploy.rst @@ -10,7 +10,7 @@ compiles your Python code to C code, and links with libpython to produce the fin The final executable produced has a ``.exe`` suffix on Windows, ``.bin`` on Linux and ``.app`` on macOS. -.. note:: The default version of Nuitka used with the tool is version ``2.4.8``. This can be +.. note:: The default version of Nuitka used with the tool is version ``2.5.1``. This can be updated to a newer version by updating your ``pysidedeploy.spec`` file. .. _how_pysidedeploy: diff --git a/sources/pyside6/tests/tools/pyside6-deploy/test_pyside6_deploy.py b/sources/pyside6/tests/tools/pyside6-deploy/test_pyside6_deploy.py index 20d06d239..6d957a20e 100644 --- a/sources/pyside6/tests/tools/pyside6-deploy/test_pyside6_deploy.py +++ b/sources/pyside6/tests/tools/pyside6-deploy/test_pyside6_deploy.py @@ -101,11 +101,11 @@ class TestPySide6DeployWidgets(DeployTestBase): self.deployment_files = self.temp_example_widgets / "deployment" # All the plugins included. This is different from plugins_nuitka, because Nuitka bundles # some plugins by default - self.all_plugins = ["accessiblebridge", "egldeviceintegrations", "generic", "iconengines", + self.all_plugins = ["egldeviceintegrations", "generic", "iconengines", "imageformats", "platforminputcontexts", "platforms", - "platforms/darwin", "platformthemes", "styles", "xcbglintegrations"] + "platformthemes", "styles", "xcbglintegrations"] # Plugins that needs to be passed to Nuitka - plugins_nuitka = ("accessiblebridge,platforminputcontexts,platforms/darwin") + plugins_nuitka = ("platforminputcontexts") self.expected_run_cmd = ( f"{sys.executable} -m nuitka {str(self.main_file)} --follow-imports" f" --enable-plugin=pyside6 --output-dir={str(self.deployment_files)} --quiet" @@ -152,7 +152,7 @@ class TestPySide6DeployWidgets(DeployTestBase): self.assertTrue(config_obj.get_value("app", "project_dir").endswith("tetrix")) self.assertEqual(config_obj.get_value("app", "exec_directory"), ".") self.assertEqual(config_obj.get_value("python", "packages"), - "Nuitka==2.4.8") + "Nuitka==2.5.1") self.assertEqual(config_obj.get_value("qt", "qml_files"), "") equ_base = "--quiet --noinclude-qt-translations" equ_value = equ_base + " --static-libpython=no" if is_pyenv_python() else equ_base @@ -207,14 +207,14 @@ class TestPySide6DeployQml(DeployTestBase): # All the plugins included. This is different from plugins_nuitka, because Nuitka bundles # some plugins by default - self.all_plugins = ["accessiblebridge", "egldeviceintegrations", "generic", "iconengines", + self.all_plugins = ["egldeviceintegrations", "generic", "iconengines", "imageformats", "networkaccess", "networkinformation", - "platforminputcontexts", "platforms", "platforms/darwin", + "platforminputcontexts", "platforms", "platformthemes", "qmltooling", "scenegraph", "tls", "xcbglintegrations"] # Plugins that needs to be passed to Nuitka - plugins_nuitka = ("accessiblebridge,networkaccess,networkinformation,platforminputcontexts," - "platforms/darwin,qml,qmltooling,scenegraph") + plugins_nuitka = ("networkaccess,networkinformation,platforminputcontexts," + "qml,qmltooling,scenegraph") self.expected_run_cmd = ( f"{sys.executable} -m nuitka {str(self.main_file)} --follow-imports" f" --enable-plugin=pyside6 --output-dir={str(self.deployment_files)} --quiet" @@ -268,7 +268,7 @@ class TestPySide6DeployQml(DeployTestBase): self.assertTrue(config_obj.get_value("app", "project_dir").endswith("editingmodel")) self.assertEqual(config_obj.get_value("app", "exec_directory"), ".") self.assertEqual(config_obj.get_value("python", "packages"), - "Nuitka==2.4.8") + "Nuitka==2.5.1") self.assertEqual(config_obj.get_value("qt", "qml_files"), "main.qml,MovingRectangle.qml") equ_base = "--quiet --noinclude-qt-translations" equ_value = equ_base + " --static-libpython=no" if is_pyenv_python() else equ_base @@ -319,9 +319,9 @@ class TestPySide6DeployWebEngine(DeployTestBase): @patch("deploy_lib.dependency_util.QtDependencyReader.get_qt_libs_dir") def testWebEngineQuickDryRun(self, mock_sitepackages, mock_plugins): mock_sitepackages.return_value = Path(_get_qt_lib_dir()) - all_plugins = ["accessiblebridge", "egldeviceintegrations", "generic", "iconengines", + all_plugins = ["egldeviceintegrations", "generic", "iconengines", "imageformats", "networkaccess", "networkinformation", - "platforminputcontexts", "platforms", "platforms/darwin", + "platforminputcontexts", "platforms", "platformthemes", "qmltooling", "scenegraph", "tls", "xcbglintegrations"] mock_plugins.return_value = all_plugins @@ -331,8 +331,8 @@ class TestPySide6DeployWebEngine(DeployTestBase): main_file = self.temp_example_webenginequick / "quicknanobrowser.py" deployment_files = self.temp_example_webenginequick / "deployment" # Plugins that needs to be passed to Nuitka - plugins_nuitka = ("accessiblebridge,networkaccess,networkinformation,platforminputcontexts," - "platforms/darwin,qml,qmltooling,scenegraph") + plugins_nuitka = ("networkaccess,networkinformation,platforminputcontexts," + "qml,qmltooling,scenegraph") qml_files = [ "ApplicationRoot.qml", "BrowserDialog.qml", |
