diff options
| author | Markus Volk <f_l_k@t-online.de> | 2026-04-20 09:36:50 +0200 |
|---|---|---|
| committer | Khem Raj <khem.raj@oss.qualcomm.com> | 2026-04-20 07:35:36 -0700 |
| commit | 799eb058e2fafe13aaa83db37fa3417dd891d460 (patch) | |
| tree | d3c39f2c0cc7904d753dc1b9f8c007c8f9437826 | |
| parent | 4152a234263ca827db7bd293c9d3cf018daf1184 (diff) | |
| download | meta-openembedded-799eb058e2fafe13aaa83db37fa3417dd891d460.tar.gz | |
gimp: update 3.2.0 -> 3.2.4
- add patches to fix compilation
- add runtime dependency for python3-pycairo
Overview of Changes from GIMP 3.2.2 to GIMP 3.2.4
=================================================
Core:
- The "edit-fill-*" actions will now behave accordingly on specific
cases. E.g. it will skip layers which can't be filled (content-lock
layers and link layers) and it will fill the expected way
non-rasterized text and vector layers.
- Images opened through command lines are not considered stray images
anymore on exit when run without a GUI (scripts, etc.).
- We improved the support of the process temporary folder, so that we
can avoid clashes when several users run GIMP on a same computer.
Furthermore the temporary folder is now deleted at startup (unless
it is not empty, which it should be).
- XCF opened as layers will now always create new layers named as in
the source XCF, even if the source XCF had only a single layer.
- The "layers-resize" now only works on raster layers.
- The "Layers to Image Size" and "Resize Layer to Selection" actions
will only work on raster layers too.
Tool
- Text tool:
* When editing text, prioritize our global actions when a
shortcut matches, before sending the hit keys to the IME (Input
Method Engine). Otherwise some IME may consume our keys and block
custom shortcuts (e.g. Alt+key events are often used to trigger
special characters on macOS or Windows and may block core
actions).
* Prevent font size jumping to 0 when using shortcuts on selected
text.
- Selection tools: when moving a floating layer or selection,
temporarily disable the marching ants outline. Among other reasons,
it improves performance.
- Select by Color tool: optimized processing when working in Intersect
mode.
- Crop tool: non-raster layers are not rasterized anymore.
- Text tool: on-canvas GUI is now properly positioned when rotating
the canvas.
Plug-Ins:
- Improve import of: APNG, PAA, PNG, DDS, PSP, PNM, PSD, JIF, PVR
texture, TIM, XWD, SFW, ORA.
- Improved PDF export.
- file-compressor: improved error messaging.
- New Windows WIA scanner plug-in, replacing the now deprecated TWAIN
scanner plug-in (which is not shipped in our Windows packages
anymore as it depends on dropped 32-bit Windows platform).
- Script-Fu: several deprecated functions now cleaned out from
scripts.
- Filmstrip: the created image will now have the dirty flag set.
API:
- libgimp/PDB:
* libgimp/PDB functions gimp_context_set_line_width_unit() and
gimp_vector_layer_set_stroke_width_unit() now accept pixel as input unit.
* Improved error handling in gimp_temp_file().
* New function: gimp_resources_loaded()
- libgimp:
* A function gimp_env_exit() was added, but same as gimp_env_init(),
it is not declared in public headers and should never be used by
plug-ins. It is considered private.
* gimp_quit() function is deprecated.
- PDB:
* (gimp-quit) procedure (without libgimp wrapper) is deprecated.
Translations:
- New Lao translation.
Build:
- Many build warnings are being cleaned out.
- New jobs are being set up with -Werror progressively as we weed out
existing build warnings.
- The issue bot will now run and create reports when specific jobs
fail.
- New rules to generate Markdown versions of our man pages for the
website.
Overview of Changes from GIMP 3.2.0 to GIMP 3.2.2
=================================================
Core:
- We removed support for a separate folder for loading 32-bit binaries
on 64-bit Windows. This was being used for core plug-ins for the
TWAIN plug-in only.
- Various fixes related to the new non-destructive layer types, or to
non-destructive layer effects.
- More robust handling of Procreate and SwatchBooker palettes.
- Fix scaling paths when importing SVG as paths.
- We now support reading the documentation being installed in the user
config directory in the `help/` subdirectory.
- Histogram dialog: the unique color count feature now takes into
account any selection.
Graphical User Interface:
- Theme fixes.
- Various text fixed for better localization.
- Display the "Tab" shortcut for the "Hide Docks" action, even though
it is not a real global shortcut (it only works on the canvas).
- Metadata Rotation import dialog: you can now click the preview for
Original and Rotated images in the Metadata Rotation Import Dialog,
and have it open the image rotated as shown in the preview.
Plug-Ins:
- Tile: carry over the source image's profile to the newly created
image.
- Improve support of: FITS, TIM, PAA, ICNS, PVR, SFW, JIF, PSP, PSD
Translations:
- Serbian Cyrillic now has upstream support in InnoSetup (in their
"Unofficial" list still, which means it is less verified). Our
installer now has Serbian Cyrillic localization too.
Build:
- NM environment variable is now used in priority for the `nm` tool
used for the build. This check is stored from configure-time
environment.
- Windows x86 32-bit pipeline has now been decommissioned from our CI.
This implies that 32-bit builds won't be available anymore in our
Windows installer, just as was already the case on the Windows Store.
- Meson build:
* New boolean option -Dtwain-unmaintained: this puts our TWAIN
plug-in behind a disabled-by-default flag, because this plug-in
only made sense in 32-bit. The next step will be to replace it by
a WIA plug-in.
* Option -Dwin32-32bits-dll-folder removed.
- GIMP can now be built fully without patches on macOS. The in-house
macOS build is slowly moving to become our main CI for this OS and
for making the release DMGs.
- Snap: enable MIDI (Alsa) support.
- AppImage: enable "Send by email".
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
| -rw-r--r-- | meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch | 47 | ||||
| -rw-r--r-- | meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch | 33 | ||||
| -rw-r--r-- | meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb (renamed from meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb) | 7 |
3 files changed, 85 insertions, 2 deletions
diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch new file mode 100644 index 0000000000..4eb6f9553d --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | From d00c3c9fb8267f53cf730b8441a7d7f904af5215 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Markus Volk <f_l_k@t-online.de> | ||
| 3 | Date: Mon, 20 Apr 2026 09:14:50 +0200 | ||
| 4 | Subject: [PATCH] meson.build: dont check for python3-pygobject gexiv2 support | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | We only provide support for gexiv2 in python3-pygobject for the target, but | ||
| 10 | unfortunately this feature is being requested for the native version, which | ||
| 11 | would require gexiv2-native to be compilable — something I consider quite | ||
| 12 | hard to achieve and maybe also not desirable at all. | ||
| 13 | |||
| 14 | Remove the test for this feature, since we know that our target provides it. | ||
| 15 | |||
| 16 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [oe-specific] | ||
| 19 | --- | ||
| 20 | meson.build | 4 ++-- | ||
| 21 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/meson.build b/meson.build | ||
| 24 | index 4f6f8ce9a4..4509cd2c39 100644 | ||
| 25 | --- a/meson.build | ||
| 26 | +++ b/meson.build | ||
| 27 | @@ -1224,7 +1224,7 @@ foreach py : py_candidates | ||
| 28 | '''except (ImportError):''', | ||
| 29 | ''' sys.exit(1)''']), | ||
| 30 | check: false).returncode() == 0 | ||
| 31 | - if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) and pygobject_gexiv2_found | ||
| 32 | + if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) | ||
| 33 | break | ||
| 34 | endif | ||
| 35 | endif | ||
| 36 | @@ -1235,7 +1235,7 @@ if not python.found() or not python.language_version().version_compare(python3_m | ||
| 37 | endif | ||
| 38 | message('Found Python @0@'.format(python.language_version())) | ||
| 39 | |||
| 40 | -if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) or not pygobject_gexiv2_found | ||
| 41 | +if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) | ||
| 42 | error('No suitable PyGObject (with GExiv2 submodule) found. Minimum supported version: @0@'.format(pygobject_minver)) | ||
| 43 | endif | ||
| 44 | message('Found PyGObject: @0@'.format(pygobject_found.stdout().strip())) | ||
| 45 | -- | ||
| 46 | 2.53.0 | ||
| 47 | |||
diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch new file mode 100644 index 0000000000..91e7f92336 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 47948d14777438ca5e8619a1f9293db28af88305 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Markus Volk <f_l_k@t-online.de> | ||
| 3 | Date: Mon, 20 Apr 2026 09:24:38 +0200 | ||
| 4 | Subject: [PATCH] docs/meson.build: disable gimprc man build | ||
| 5 | |||
| 6 | This would require a native variant of gimp-console | ||
| 7 | |||
| 8 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [oe-specific] | ||
| 11 | --- | ||
| 12 | docs/meson.build | 4 ++-- | ||
| 13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/docs/meson.build b/docs/meson.build | ||
| 16 | index 70b57b52ef..d36e47dbb5 100644 | ||
| 17 | --- a/docs/meson.build | ||
| 18 | +++ b/docs/meson.build | ||
| 19 | @@ -16,9 +16,9 @@ gimprc_man = custom_target('gimprc-' + gimp_app_version + '.5', | ||
| 20 | command: [ gimp_exe, '--no-interface', | ||
| 21 | '--dump-gimprc-manpage' ], | ||
| 22 | capture: true, | ||
| 23 | - build_by_default: true, | ||
| 24 | + build_by_default: false, | ||
| 25 | env: gimp_run_env, | ||
| 26 | - install: true, | ||
| 27 | + install: false, | ||
| 28 | install_dir: get_option('mandir') / 'man5') | ||
| 29 | |||
| 30 | gimptool_man = configure_file(input : 'gimptool.1.in', | ||
| 31 | -- | ||
| 32 | 2.53.0 | ||
| 33 | |||
diff --git a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb index 1b092eb7e5..82c68346eb 100644 --- a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb +++ b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb | |||
| @@ -37,6 +37,7 @@ DEPENDS = " \ | |||
| 37 | poppler \ | 37 | poppler \ |
| 38 | poppler-data \ | 38 | poppler-data \ |
| 39 | python3-pygobject-native \ | 39 | python3-pygobject-native \ |
| 40 | python3-pycairo-native \ | ||
| 40 | tiff \ | 41 | tiff \ |
| 41 | xz \ | 42 | xz \ |
| 42 | zlib \ | 43 | zlib \ |
| @@ -62,8 +63,10 @@ SRC_URI = "https://download.gimp.org/gimp/v3.2/${BP}.tar.xz \ | |||
| 62 | file://0001-meson.build-dont-check-for-lgi.patch \ | 63 | file://0001-meson.build-dont-check-for-lgi.patch \ |
| 63 | file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \ | 64 | file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \ |
| 64 | file://0003-meson.build-reproducibility-fix.patch \ | 65 | file://0003-meson.build-reproducibility-fix.patch \ |
| 66 | file://0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch \ | ||
| 67 | file://0005-docs-meson.build-disable-gimprc-man-build.patch \ | ||
| 65 | " | 68 | " |
| 66 | SRC_URI[sha256sum] = "2618391416e51be3c693df9ef90e3860ed72ab3d36363ea1f196e30b75b2e083" | 69 | SRC_URI[sha256sum] = "7312bc53e9c6d2d0056ca7b93f1c6b98707946dd934f714c21b8746ecb601588" |
| 67 | 70 | ||
| 68 | PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" | 71 | PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" |
| 69 | PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" | 72 | PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" |
| @@ -132,7 +135,7 @@ do_install:prepend() { | |||
| 132 | 135 | ||
| 133 | FILES:${PN} += "${datadir}/metainfo" | 136 | FILES:${PN} += "${datadir}/metainfo" |
| 134 | 137 | ||
| 135 | RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject" | 138 | RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject python3-pycairo" |
| 136 | 139 | ||
| 137 | CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" | 140 | CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" |
| 138 | CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS" | 141 | CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS" |
