From 5dd6700031ac5cb102aa3fee2bfee540f395a0d9 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Wed, 23 Oct 2024 17:08:15 +0200 Subject: [PATCH] Refactor binaries filtering and update dependencies Introduce a mechanism to filter blacklisted binaries from the build configuration and update the conandata.yml with a new blacklist section. Additionally, remove unnecessary dependencies from requirements.txt, particularly entries for PyQt6-NetworkAuth and related packages. Contribute to CURA-12229 --- conandata.yml | 7 +++++++ conanfile.py | 6 +++++- requirements.txt | 10 ---------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/conandata.yml b/conandata.yml index fa0305261c..b3a71a4b50 100644 --- a/conandata.yml +++ b/conandata.yml @@ -124,6 +124,13 @@ pyinstaller: Windows: "./icons/Cura.ico" Macos: "./icons/cura.icns" Linux: "./icons/cura-128.png" + blacklist: + - "libassimp.so" + - "PyQt6/Qt6/qml/QtQuick3D" # directory + - "libqtquick3deffectplugin.so" + - "libqtquick3dphysicshelpersplugin.so" + - "libqtquick3dparticleeffectsplugin.so" + - "etc......." pycharm_targets: - jinja_path: .run_templates/pycharm_cura_run.run.xml.jinja module_name: Cura diff --git a/conanfile.py b/conanfile.py index 999cca3362..be515c876d 100644 --- a/conanfile.py +++ b/conanfile.py @@ -281,13 +281,17 @@ class CuraConan(ConanFile): version = self.conf.get("user.cura:version", default = self.version, check_type = str) cura_version = Version(version) + # filter all binary files in binaries on the blacklist + blacklist = pyinstaller_metadata["blacklist"] + filtered_binaries = [b for b in binaries if b not in blacklist] + with open(os.path.join(location, "UltiMaker-Cura.spec"), "w") as f: f.write(pyinstaller.render( name = str(self.options.display_name).replace(" ", "-"), display_name = self._app_name, entrypoint = entrypoint_location, datas = datas, - binaries = binaries, + binaries = filtered_binaries, venv_script_path = str(self._script_dir), hiddenimports = pyinstaller_metadata["hiddenimports"], collect_all = pyinstaller_metadata["collect_all"], diff --git a/requirements.txt b/requirements.txt index 344a0156d8..83da635cd2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,16 +31,6 @@ PyQt6-Qt6==6.6.0 \ --hash=sha256:8cb30d64a4d32465ea1686bc827cbe452225fb387c4873356b0fa7b9ae63534f \ --hash=sha256:a151f34712cd645111e89cb30b02e5fb69c9dcc3603ab3c03a561e874bd7cbcf \ --hash=sha256:e5483ae04bf107411c7469f1be9f9e2eb9840303e788b3ac524fe30af90d45f4 -PyQt6-NetworkAuth==6.6.0 \ - --hash=sha256:7b90b81792fe53105287c8cbb5e4b22bc44a482268ffb7d3e33f852807f86182 \ - --hash=sha256:c7e2335159aa795e2fe6fb069ccce6308672ab80f26c50fab57caf957371cbb5 \ - --hash=sha256:cdfc0bfaea16a9e09f075bdafefb996aa9fdec392052ba4fb3cbac233c1958fb \ - --hash=sha256:f60ff9a62f5129dc2a9d4c495fb47f9a03e4dfb666b50fb7d61f46e89bf7b6a2 -PyQt6-NetworkAuth-Qt6==6.6.0 \ - --hash=sha256:481d9093e1fb1ac6843d8beabcd359cc34b74b9a2cbb3e2b68d96bd3f178d4e0 \ - --hash=sha256:4cc48fd375730a0ba5fbed9d64abb2914f587377560a78a63aff893f9e276a45 \ - --hash=sha256:5006deabf55304d4a3e0b3c954f93e5835546b11e789d14653a2493d12d3a063 \ - --hash=sha256:bcd56bfc892fec961c51eba3c0bf32ba8317a762d9e254d3830569611ed569d6 certifi==2023.5.7; \ --hash=sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716