Gimp/build/linux/snap
Bruno Lopes 0e5b3f3523
build/linux: Don't shasum .snap on releases
Like the .msix, the package is sent directly to the store so
there is no use of sharums on releases.
2025-10-09 10:11:20 -03:00
..
patches build/linux: Port 3P binaries plugins support from Snapcrafters 2025-10-06 12:46:09 -03:00
1_build-deps-snapcraft.sh build/linux: Restore comment of '--destructive-mode'/host mode on Snap script 2025-08-12 16:07:16 -03:00
2_build-gimp-snapcraft.sh build/linux: Make Snap on GNOME runners (not on Launchpad) 2025-08-11 22:13:23 -03:00
3_dist-gimp-snapcraft.sh build/linux: Don't shasum .snap on releases 2025-10-09 10:11:20 -03:00
README.md build: Document the importance of double-check on Partner Center and Snapcraft 2025-10-07 17:00:56 -03:00
snapcraft.yaml build/linux: Port 3P binaries plugins support from Snapcrafters 2025-10-06 12:46:09 -03:00

GIMP Snap HowTo

Stable and Development releases

The Snap Store hosts our stable and development point releases: https://snapcraft.io/gimp

Base rule to update the "GNU Image Manipulation Program" entry:

  • Regularly, a .snap will be generated at each tagged commit. In the process, it will be auto submitted to Snap Store. (Any case, please double-check on Snapcraft if everything is done.)

Maintaining the packages

  • Similarly to our Flatpak, GIMP Snap uses a GNOME runtime, which contains a base of libraries, some of which are dependencies of GIMP. The runtime version is determined by the base: snap version in snapcraft.yaml. It is recommended to update that key value following Ubuntu release cycle. (Don't forget to notify the 3P plugins developers on https://forum.snapcraft.io/c/snapcrafters and/or https://discourse.ubuntu.com/c/project/app-center)

  • Other GIMP dependencies which are not available in the GNOME runtime snap should be listed in build-packages: and/or stage-packages: keys if gimp-meson-log.tar artifact shows as necessary. You can take a look at the deps-debian job from the in .gitlab-ci.yml as reference.

  • On the other hand, if we increased the base version in particular (so as consequence the GNOME runtime too), some packages may no longer be necessary and can be removed from our manifest.

    You can find the installed dependencies by running:

ls "$(echo /snap/gnome*-sdk/current/usr/lib/$(gcc -print-multiarch)/pkgconfig)"

Versioning the snap

Aside from (un)commenting and bumping babl and gegl source-tag and setting the version of gimp, we:

  • For a nightly build, set "devel" on "grade" and use "experimental" on build-id at gimp part "meson-parameters".

  • For a new development series, set "stable" on "grade" and use "preview" on build-id at gimp part "meson-parameters".

  • For a new stable series, set "stable" on "grade" and use "latest" on build-id at gimp part "meson-parameters".