gitlab-ci, meson, app, build/windows, devel-docs: Add Microsoft Store support
Surpasses !588 (closed)
Closes: #1145 (closed), #8867 (closed), #10187 (closed), #10368 (closed), #10380 (closed), #10448 (closed), #10607 (closed)
Adds native Microsoft Store bundling to our jobs via our Windows runner, with appropriate files to it. This job do almost everything needed to have GIMP in MSIX published to MS Store.
The main advantages of this Store version over the "traditional" one are: 1) insanely fast installation (4-6x faster than Inno); 2) easier to maintain (just one, not splitted, human readable PS1 script) and; 3) finally, auto update (no more issues of not updated GIMP versions? let's dream!).
This is a different implementation of the previous MR in two main aspects: 1) most of the build is made automatically without GUI, as suggested in !588 (comment 1397678); and 2) no new launchers are created, as suggested here !588 (comment 1850911).
The whole process, in short, is like this:
TODO:
-
Install Windows SDK in runner: !1158 (comment 1923961) -
Change PS1 Execution Policy: Not needed -
Determine MSYS2 user in PS: Not needed -
Fix Python plug-in interpreter: !1154 (comment 1923979) -
Support 3P plug-ins (via VFS): !1154 (comment 1919751) -
Disable non-store update check: !1154 (comment 1922076) -
Put publisher ID in manifest: !1154 (comment 1921527) -
Auto change version in manifest using meson.build_build-*/config.h -
Remove awful plated icon: !1154 (comment 1919870) -
Create fileicon and plugins SVG version: !1154 (comment 1922301) -
Update devel-docs and developer repo: Infrastructure/gimp-web-devel!46 (merged) -
Generate .pdb debug symbols (to native crash debugging): !1154 (comment 1919872)
Pseudo-Limitations:
-
Third party Plug-ins should use modification packages
Limitations:
-
32-bit arch (and even the 32-bit TWAIN for x64) willn't be supported. The explanation is at the first commit.