From b48a42dcc887b4a617bc59bd5c26a6bc9e4e5741 Mon Sep 17 00:00:00 2001 From: Marco Dalla Tiezza Date: Mon, 10 Jun 2024 16:55:04 +0200 Subject: [PATCH] Explicit DLLs inclusion/exclusion in Nuitka, close #47 --- CHANGELOG.md | 6 ++++++ building/Linux/build_linux.sh | 16 ++++++++++++---- building/Windows/build_windows.ps1 | 14 +++++++++++--- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0638f16..753dd0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ ## [Unreleased] +### Changed +- Optimized final package size (reduced by 30% to 50%) by explicitly including necessary plugins/DLLs and excluding unnecessary ones with Nuitka [#47](https://github.com/AresValley/Artemis/issues/47) + +### Fixed +- When the links/urls in the description field of a signal are clicked, they open the default browser [#46](https://github.com/AresValley/Artemis/issues/46) + ## [4.0.1] - 2024-06-9 ### Added - Database format has been changed from .csv to a proper relational DB (sqlite) which is much easier handled thanks to the native library shipped with python diff --git a/building/Linux/build_linux.sh b/building/Linux/build_linux.sh index 55bed39..7859449 100644 --- a/building/Linux/build_linux.sh +++ b/building/Linux/build_linux.sh @@ -13,13 +13,21 @@ python -m nuitka app.py \ --show-modules \ --assume-yes-for-downloads \ --enable-plugin=pyside6 \ - --force-stderr-spec="{TEMP}/artemis.err.log" \ - --force-stdout-spec="{TEMP}/artemis.out.log" \ - --include-qt-plugins=sensible,styles,qml,multimedia \ + --noinclude-dlls=Qt6Charts* \ + --noinclude-dlls=Qt6Quick3D* \ + --noinclude-dlls=Qt6Sensors* \ + --noinclude-dlls=Qt6Test* \ + --noinclude-dlls=Qt6WebEngine* \ + --include-qt-plugins=sensible \ + --include-qt-plugins=styles \ + --include-qt-plugins=qml \ + --include-qt-plugins=multimedia \ --include-data-files=./artemis/resources.py=./artemis/resources.py \ --include-data-files=./config/qtquickcontrols2.conf=./config/qtquickcontrols2.conf \ --include-data-files=./building/Linux/create_shortcut.sh=./create_shortcut.sh \ - --include-data-files=./images/artemis_icon.svg=./images/artemis_icon.svg + --include-data-files=./images/artemis_icon.svg=./images/artemis_icon.svg \ + --force-stderr-spec="{TEMP}/artemis.err.log" \ + --force-stdout-spec="{TEMP}/artemis.out.log" chmod 755 ./app.dist/app.bin diff --git a/building/Windows/build_windows.ps1 b/building/Windows/build_windows.ps1 index 6068337..5ec2717 100644 --- a/building/Windows/build_windows.ps1 +++ b/building/Windows/build_windows.ps1 @@ -12,11 +12,19 @@ python -m nuitka app.py ` --assume-yes-for-downloads ` --windows-console-mode=disable ` --enable-plugin=pyside6 ` - --force-stderr-spec="{TEMP}\artemis.err.log" ` - --force-stdout-spec="{TEMP}\artemis.out.log" ` - --include-qt-plugins=sensible,styles,qml,multimedia ` + --noinclude-dlls="Qt6Charts*" ` + --noinclude-dlls="Qt6Quick3D*" ` + --noinclude-dlls="Qt6Sensors*" ` + --noinclude-dlls="Qt6Test*" ` + --noinclude-dlls="Qt6WebEngine*" ` + --include-qt-plugins=sensible ` + --include-qt-plugins=styles ` + --include-qt-plugins=qml ` + --include-qt-plugins=multimedia ` --include-data-files=.\artemis\resources.py=.\artemis\resources.py ` --include-data-files=.\config\qtquickcontrols2.conf=.\config\qtquickcontrols2.conf ` + --force-stderr-spec="{TEMP}\artemis.err.log" ` + --force-stdout-spec="{TEMP}\artemis.out.log" ` --windows-company-name=Aresvalley.com ` --windows-product-name=Artemis ` --windows-file-version=4.0.1 `