build/windows: Debloat 'lib/python3.11' bundling

After running almost all the py plug-ins, I noticed that few py modules and
pkgs are used to justify the need of a slightly faster build time with .pyc.
In the actual bloated status (with all .pyc), lib/python* is about 260 MB big.
With the bare minimum .pyc after the tests above, python*/ is less than 90.

So, let's purge the .pyc at bundling time (I'm not reinventing the wheel,
Krita do this too), which reduces the .zip bundles (so the Inno and MSIX
installs) in 170MB, the Installer .exe in 45MB and MSIX download in 60MB.

---

Let's also disable any .pyc generation, since GIMP installed with Inno in the
system-wide (aka admin) mode or installed with MSIX both doesn't handle well:
py plug-ins work but have CLI errors, unlike Inno user-mode and .zip bundle.
This commit is contained in:
Bruno 2024-06-22 16:37:14 -03:00
parent 47edc69c6d
commit 16dc7b4047
3 changed files with 2 additions and 2 deletions

View File

@ -157,6 +157,7 @@ if [ "$CI_JOB_NAME" != 'gimp-win-x64-cross' ]; then
bundle "$MSYS_PREFIX" bin/python*.exe
bundle "$MSYS_PREFIX" lib/python*/
clean "$GIMP_DISTRIB" lib/python*/*.pyc
else
# Just to ensure there is no introspected files that will output annoying warnings
# This is needed because meson.build files can have flaws

View File

@ -476,8 +476,6 @@ Root: HKA; Subkey: "Software\GIMP {#GIMP_APP_VERSION}\Capabilities\FileAssociati
Type: files; Name: "{app}\uninst\uninst.inf"
Type: files; Name: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters\lua.interp"
Type: files; Name: "{app}\lib\gimp\{#GIMP_API_VERSION}\environ\pygimp.env"
;need to clean out all the generated .pyc files
Type: filesandordirs; Name: "{app}\Python\*"
[Code]

View File

@ -1 +1,2 @@
__COMPAT_LAYER=HIGHDPIAWARE
PYTHONDONTWRITEBYTECODE=1