gimp: update 3.0.8 -> 3.2.0

- remove a backport patch
- rework the fix for host systems that dont provide iso-codes
- update mypaint-brushes dependency to 2.x

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk 2026-03-17 17:56:53 +01:00 committed by Khem Raj
parent e8ba93418e
commit 2184766a34
No known key found for this signature in database
GPG Key ID: BB053355919D3314
5 changed files with 58 additions and 94 deletions

View File

@ -1,51 +0,0 @@
From 8862f36fcec74152afeee2a99c0e04b84b6cf5b3 Mon Sep 17 00:00:00 2001
From: Bruno Lopes <brunvonlope@outlook.com>
Date: Sun, 25 Jan 2026 11:11:48 -0300
Subject: [PATCH] meson: Fix libunwind header detection on non-macOS platforms
Closes: #15750
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/1aa51ca0637db88a4ea958d03fa6692e6ac0289b]
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
---
meson.build | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/meson.build b/meson.build
index 2192968..cfa1f71 100644
--- a/meson.build
+++ b/meson.build
@@ -731,11 +731,14 @@ conf.set('HAVE_LIBBACKTRACE', libbacktrace.found())
## Check for libunwind
# In most platforms, unw_*() functions are in the libunwind library.
# In macOS, it is on libSystem (there we only need the SDK header).
-libunwind = ( get_option('libunwind')
- ? dependency('libunwind', version: '>=1.1.0', required: false)
- : no_dep
-)
-have_unwind = libunwind.found() or cc.has_header('libunwind.h', required: false)
+libunwind = no_dep
+if get_option('libunwind')
+ libunwind = dependency('libunwind', version: '>=1.1.0', required: false)
+ libunwind_h = platform_osx ? cc.has_header('libunwind.h', required: false) : false
+ have_unwind = libunwind.found() or libunwind_h
+else
+ have_unwind = false
+endif
conf.set('HAVE_LIBUNWIND', have_unwind ? 1 : false)
## Check for backtrace() API
@@ -758,11 +761,11 @@ if platform_windows
elif platform_linux
if not have_execinfo_h
dashboard_backtrace='no (missing: execinfo.h)'
- elif not libbacktrace.found() and not libunwind.found()
+ elif not libbacktrace.found() and not have_unwind
dashboard_backtrace='rough (missing: libbacktrace and libunwind)'
elif not libbacktrace.found()
dashboard_backtrace='partially detailed (missing: libbacktrace)'
- elif not libunwind.found()
+ elif not have_unwind
dashboard_backtrace='partially detailed (missing: libunwind)'
else
dashboard_backtrace='detailed'

View File

@ -1,35 +0,0 @@
From 8ccd12d6ec3330e9646ae9db6fd491226d516dc3 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Fri, 28 Mar 2025 01:33:00 +0100
Subject: [PATCH] meson.build: require iso-codes-native
This fixes:
FAILED: app/widgets/gimplanguagestore-data.h
/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gimp/3.0.2/build/tools/gen-languages
gimp_language_store_parser_init: 0.006277 seconds
ERROR: parse_iso_codes: error parsing '/usr/share/xml/iso-codes/iso_639_3.xml': No such file or directory
Upstream-Status: Denied [https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/2185]
Upstream argues that iso-codes locale (.mo files) are required on the target
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index efbc2d8175..fd050f4d3c 100644
--- a/meson.build
+++ b/meson.build
@@ -1135,7 +1135,7 @@ endif
################################################################################
# ISO codes
-isocodes = dependency('iso-codes', required: false)
+isocodes = dependency('iso-codes', required: false, native: true)
if isocodes.found()
isocodes_prefix = isocodes.get_variable(pkgconfig: 'prefix')
isocodes_location = isocodes_prefix / 'share' / 'xml' / 'iso-codes'
--
2.49.0

View File

@ -0,0 +1,51 @@
From 8ccd12d6ec3330e9646ae9db6fd491226d516dc3 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Fri, 28 Mar 2025 01:33:00 +0100
Subject: [PATCH] meson.build: use relative path for ISO_CODES_LOCATION
If the host system does not provide iso-codes, the build fails with the following message:
FAILED: app/widgets/gimplanguagestore-data.h
/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gimp/3.0.2/build/tools/gen-languages
gimp_language_store_parser_init: 0.006277 seconds
ERROR: parse_iso_codes: Error parsing /usr/share/xml/iso-codes/iso_639_3.xml: No such file or directory
So far, we have worked around the problem by using the “iso-codes-native” dependency, but the path
for 'isocodes_prefix' is then generated from the native pkgconfig entry, resulting in a hard-coded path to
${STAGING_DATADIR_NATIVE}, which then leaks into the binaries of gimp and gimp-console.
Instead, use iso-codes for the target and adjust the path stored in ISO_CODES_LOCATION
(which is used in tools/gen-languages.c) to a relative path so that the build system can find it.
This allows us to depend on iso-codes for the target system, while still working on host systems that
do not provide iso-codes.
It also fixes a reproducibility issue:
ERROR: gimp-3.2.0-r0 do_package_qa: QA Issue: File /usr/bin/gimp-console-3.2 in package gimp contains reference to TMPDIR [buildpaths]
ERROR: gimp-3.2.0-r0 do_package_qa: QA Issue: File /usr/bin/gimp-3.2 in package gimp contains reference to TMPDIR [buildpaths]
ERROR: gimp-3.2.0-r0 do_package_qa: Fatal QA errors were found, failing task.
ERROR: Logfile of failure stored in: /home/flk/bitbake-builds/poky/build/tmp/work/corei7-64-oe-linux/gimp/3.2.0/temp/log.do_package_qa.597065
ERROR: Task (/home/flk/bitbake-builds/poky/layers/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb:do_package_qa) failed with exit code '1'
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index efbc2d8175..fd050f4d3c 100644
--- a/meson.build
+++ b/meson.build
@@ -1184,7 +1184,7 @@
isocodes_prefix = isocodes.get_variable(pkgconfig: 'prefix')
isocodes_location = isocodes_prefix / 'share' / 'xml' / 'iso-codes'
isocodes_localedir= isocodes_prefix / 'share' / 'locale'
- conf.set_quoted('ISO_CODES_LOCATION', isocodes_location)
+ conf.set_quoted('ISO_CODES_LOCATION', '..' / 'recipe-sysroot' / 'usr' / 'share' / 'xml' / 'iso-codes')
conf.set_quoted('ISO_CODES_LOCALEDIR', isocodes_localedir)
endif
conf.set('HAVE_ISO_CODES', isocodes.found())
--
2.49.0

View File

@ -20,7 +20,7 @@ DEPENDS = " \
glib-2.0-native \
gtk+3 \
harfbuzz \
iso-codes-native \
iso-codes \
jpeg \
json-glib \
lcms \
@ -32,7 +32,7 @@ DEPENDS = " \
librsvg-native \
libxmu \
libxslt-native \
mypaint-brushes-1.0 \
mypaint-brushes \
pango \
poppler \
poppler-data \
@ -58,13 +58,12 @@ GIDOCGEN_MESON_OPTION = "gi-docgen"
GIDOCGEN_MESON_ENABLE_FLAG = "enabled"
GIDOCGEN_MESON_DISABLE_FLAG = "disabled"
SRC_URI = "https://download.gimp.org/gimp/v3.0/${BP}.tar.xz \
file://0002-meson.build-reproducibility-fix.patch \
SRC_URI = "https://download.gimp.org/gimp/v3.2/${BP}.tar.xz \
file://0001-meson.build-dont-check-for-lgi.patch \
file://0001-meson.build-require-iso-codes-native.patch \
file://0001-meson-Fix-libunwind-header-detection-on-non-macOS-pl.patch \
"
SRC_URI[sha256sum] = "feb498acc01b26827cff1ff95aa8fb82cdd6a60d7abf773cfcd19abeafca3386"
file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \
file://0003-meson.build-reproducibility-fix.patch \
"
SRC_URI[sha256sum] = "2618391416e51be3c693df9ef90e3860ed72ab3d36363ea1f196e30b75b2e083"
PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib"
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"