gimp/build/windows/store
Bruno 9ab481647c
build/windows: Port building scripts to use Windows native shell
From now, Windows contributors can use the default shell provided by the OS
(which is PS since Windows build 10.0.14971.0), like Linux and macOS users do.
We still use MSYS2 but not the POSIX shell. This change adds these features:

'1_build-deps-msys2.sh' is now '1_build-deps-msys2.ps1'
- Faster clonning by using 'git-scm' (the MSYS2 one had performance problems)
- Easier to use non-MSYS2 binaries, not only 'git-scm' but also official meson,
  deps from vckpg etc. This is a needed step towards the future use of MSVC.

'2_build-gimp-msys2.sh' is now '2_build-gimp-msys2.ps1'
- By default, vanilla builds (normally triggered on PS) will create a bundle,
  dropping the need of 'gimp.cmd' (that adressed .typelib and .interp limits),
  which is inline with other (Cmake-based) projects like Darktable and Inkscape.
  This change is important because even Windows devs more experienced than me
  get confused with the relocatibility stuff, which is the default on Windows.

'2_bundle-gimp-uni_base.sh'
- As a result of the change above, bundling code was changed to be a bit faster.
  It still is, however, painfully slow, since meson doesn't have a 'install()'
  function like Cmake to prepend targets in Ninja's 'install_manifest.txt'.

Since we are not using a POSIX shell (nor 'mintty') anymore:
- GIMP can be built from every path easily with R. Click "Open Terminal", with
  IDE integrations etc, without needing to manual tweak MSYS2 .ini files etc.
  We could tweak MSYS2 to get the features above but not top-tier integration.
- Developers can be more aware of Windows native vars, paths etc, and avoid bugs
  Some build files were improved to support the 'Windows way of doing things'.
- No need to close and reopen terminal anymore after running 'pacman -Suy'!

---

REGRESSION: Vala plug-ins are temporarely gone due to 'vapigen' bugs, a small
regression since this is a gnomeish language but I will investigate how to fix.
2024-10-26 22:26:48 -03:00
..
3_dist-gimp-winsdk.ps1 build/windows: Port building scripts to use Windows native shell 2024-10-26 22:26:48 -03:00
AppxManifest.xml build/windows: Add pseudo REVISION support to MSIX dist script 2024-08-17 14:49:53 -03:00
README.md build/windows: Add (optional) WACK phase to MSIX script 2024-10-13 15:40:39 +00:00
pseudo-gimp.pfx build/windows: Add MS Store dist script 2024-04-21 18:12:38 -03:00

README.md

GIMP MSIX HowTo

Development releases

The MS Store/Partner Center hosts our development point releases: https://partner.microsoft.com/dashboard/products/9NZVDVP54JMR/overview

Base rule to update the "GIMP (Preview)" entry:

  • Regularly, a .msixupload will be generated at each tagged commit. It also can be with a custom pipeline valuating GIMP_CI_MS_STORE to MSIXUPLOAD_${REVISION}

Maintaining the MSIX

  1. The link above will open 'Partner Center', the frontend to submit .msixupload

  2. With your Microsoft Entra ID account (@*onmicrosoft.com), log-in as costumary

  3. Clicking on the "Start update" button will make possible to change some things. Only 'Packages' and 'Store listings' sections are needed. On 'Packages' you will add the generated .msixupload and on 'Store listings' the brief changelog.

If the .msix* starts to be refused to certification or to signing, run build\windows\store\3_dist-gimp-winsdk.ps1 WACK locally to see if it still complies with the latest Windows policies. Make sure to update WinSDK.

Versioning the MSIX