diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-configure-Keep-first-line-of-compiler-version-string.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-configure-Keep-first-line-of-compiler-version-string.patch deleted file mode 100644 index 618b4cc7a7..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-configure-Keep-first-line-of-compiler-version-string.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 5711ccfab40e304ced7f5be39a4083e3fcecff91 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 24 May 2023 22:22:41 -0700 -Subject: [PATCH] configure: Keep first line of compiler version string - -Full output of cc -v may contain additional information which could -contain build path information, which is unnessasary - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/926] -Signed-off-by: Khem Raj ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c25415d..68707a0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -599,7 +599,7 @@ fi - for CC_VERSION_OPT in $CC_VERSION_OPTS; do - # We run $CC, and escape and format its output, in a single step, - # since some shells expand escape sequences in "echo" arguments. -- CC_VERSION="`$CC $CC_VERSION_OPT 2>&1 | sed -e 's/\\\\/\\\\\\\\\\\\\\\\/g;s/^/\\\\t/;s/$/\\\\n/' | tr -d '\n'`" -+ CC_VERSION="`$CC $CC_VERSION_OPT 2>&1 | head -1 | sed -e 's/\\\\/\\\\\\\\\\\\\\\\/g;s/^/\\\\t/;s/$/\\\\n/' | tr -d '\n'`" - if test $? -eq 0; then - break - fi --- -2.40.1 - diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-file-tiff-load-fix-mismatching-variable-type.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-file-tiff-load-fix-mismatching-variable-type.patch deleted file mode 100644 index 13b3dda144..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-file-tiff-load-fix-mismatching-variable-type.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a2458f1528e5733574bb26ff5452b1329116e6db Mon Sep 17 00:00:00 2001 -From: Simon Budig -Date: Sat, 20 May 2023 18:40:41 +0200 -Subject: [PATCH] file-tiff-load: fix mismatching variable type - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/a2458f1528e5733574bb26ff5452b1329116e6db] -Signed-off-by: Khem Raj ---- - plug-ins/file-tiff/file-tiff-load.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/plug-ins/file-tiff/file-tiff-load.c -+++ b/plug-ins/file-tiff/file-tiff-load.c -@@ -1301,8 +1301,8 @@ load_image (GFile *file, - - /* any resolution info in the file? */ - { -- gfloat xres = 72.0; -- gfloat yres = 72.0; -+ gdouble xres = 72.0; -+ gdouble yres = 72.0; - gushort read_unit; - GimpUnit unit = GIMP_UNIT_PIXEL; /* invalid unit */ - diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-gimp-cross-compile-fix-for-bz2.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-gimp-cross-compile-fix-for-bz2.patch new file mode 100644 index 0000000000..721225c8b3 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0001-gimp-cross-compile-fix-for-bz2.patch @@ -0,0 +1,30 @@ +From a7e40e19d17404cf5ec4135fc1becd5a90f5e1e1 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Wed, 25 Dec 2024 07:27:04 +0100 +Subject: [PATCH] gimp: cross-compile fix for bz2 + +autotools bzip2 build does not create pkgconfig files so looking for the dependency fails. + +Signed-off-by: Markus Volk + +Upstream-Status: Inappropriate [can probably be removed once bzip2 is built with meson or cmake] +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 4e48f8c64c..d5dce47015 100644 +--- a/meson.build ++++ b/meson.build +@@ -765,7 +765,7 @@ zlib = dependency('zlib') + MIMEtypes += 'image/x-psp' + + # Compiler-provided headers can't be found in crossroads environment +-if not meson.is_cross_build() ++if true + bz2 = cc.find_library('bz2') + else + bz2 = dependency('bzip2') +-- +2.47.1 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-gimptool-allow-default-CC-override.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-gimptool-allow-default-CC-override.patch deleted file mode 100644 index b04a16cec7..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-gimptool-allow-default-CC-override.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 7e5b986cb7797a6535fe2471b9a5fb7c00821f51 Mon Sep 17 00:00:00 2001 -From: Yoann Congal -Date: Sun, 13 Oct 2024 01:00:10 +0200 -Subject: [PATCH] gimptool: allow default CC override - -From: Yoann Congal - -In OE, CC contains sysroot path. Storing CC in binary then leads to -non-reproducibility. - -This commit add a new configure option "--with-default-cc='cmd'" for -force the CC stored in gimptool to a reproducible value. - -Upstream-Status: Inappropriate [does not apply on master (upstream has moved to meson)] -Signed-off-by: Yoann Congal ---- - app-tools/Makefile.am | 2 +- - configure.ac | 13 +++++++++++++ - tools/Makefile.am | 2 +- - tools/gimptool.c | 2 +- - 4 files changed, 16 insertions(+), 3 deletions(-) - -diff --git a/app-tools/Makefile.am b/app-tools/Makefile.am -index a7cd4ce..81a3a00 100644 ---- a/app-tools/Makefile.am -+++ b/app-tools/Makefile.am -@@ -67,7 +67,7 @@ AM_CPPFLAGS = \ - -DMANDIR=\""$(mandir)"\" \ - -DGIMPPLUGINDIR=\""$(gimpplugindir)"\" \ - -DGIMPDATADIR=\""$(gimpdatadir)"\" \ -- -DCC=\""$(CC)"\" \ -+ -DDEFAULT_CC=\""@DEFAULT_CC@"\" \ - -DGIMPDIR=\""$(gimpdir)"\" \ - -DGIMP_PLUGIN_VERSION=\""$(GIMP_PLUGIN_VERSION)"\" \ - -I$(top_srcdir) \ -diff --git a/configure.ac b/configure.ac -index a88b7cc..d90b6db 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2457,6 +2457,19 @@ fi - AM_CONDITIONAL(DESKTOP_DATADIR, test "x$with_desktop_dir" != xno) - AC_SUBST(DESKTOP_DATADIR) - -+###################### -+# Determine default CC -+###################### -+ -+AC_ARG_WITH(default-cc, [ --with-default-cc="cmd" default CC to print in gimptool (default=CC)]) -+ -+if test "x$with_default_cc" != x; then -+ DEFAULT_CC=$with_default_cc -+else -+ DEFAULT_CC=CC -+fi -+ -+AC_SUBST(DEFAULT_CC) - - ##################### - # Check for XML tools -diff --git a/tools/Makefile.am b/tools/Makefile.am -index 420b9b1..ccabde8 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -87,7 +87,7 @@ AM_CPPFLAGS = \ - -DMANDIR=\""$(mandir)"\" \ - -DGIMPPLUGINDIR=\""$(gimpplugindir)"\" \ - -DGIMPDATADIR=\""$(gimpdatadir)"\" \ -- -DCC=\""$(CC)"\" \ -+ -DDEFAULT_CC=\""@DEFAULT_CC@"\" \ - -DGIMPDIR=\""$(gimpdir)"\" \ - -DGIMP_PLUGIN_VERSION=\""$(GIMP_PLUGIN_VERSION)"\" \ - -I$(top_srcdir) \ -diff --git a/tools/gimptool.c b/tools/gimptool.c -index 21fc043..bbf3fa5 100644 ---- a/tools/gimptool.c -+++ b/tools/gimptool.c -@@ -280,7 +280,7 @@ find_out_env_flags (void) - else if (msvc_syntax) - env_cc = "cl -MD"; - else -- env_cc = CC; -+ env_cc = DEFAULT_CC; - - if (g_ascii_strncasecmp (env_cc, "cl", 2) == 0 && - g_ascii_strncasecmp (env_cc, "clang", 5) != 0) diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch deleted file mode 100644 index cec0055284..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c720df90dfe3a3e92e34bfb36a04cc792064a501 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 24 May 2023 22:39:02 -0700 -Subject: [PATCH] libtool: Do not add build time library paths to - LD_LIBRARY_PATH - -This does not serve much purpose on cross builds as it will add build -time paths which are only useful when trying to run these tools from -build area but when they are cross built this is not possible to run -them like this. - -Upstream-Status: Inappropriate [Cross-compile specific] - -Signed-off-by: Khem Raj ---- - ltmain.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ltmain.sh b/ltmain.sh -index 134902c..068d74a 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -5748,7 +5748,7 @@ func_exec_program () - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var -- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" -+ $shlibpath_var=\"$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed --- -2.40.1 - diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-dont-check-for-lgi.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-dont-check-for-lgi.patch new file mode 100644 index 0000000000..63a9159a43 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-dont-check-for-lgi.patch @@ -0,0 +1,35 @@ +From e56a6330f1e29e489601ea3e7cb31bfd2ebb787a Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Thu, 27 Mar 2025 21:02:22 +0100 +Subject: [PATCH] meson.build: dont check for lgi + +Checking if host can run lgi is pointless for cross-compile +Set to be always true because we ensure to install lgi via PACKAGECONFIG + +Signed-off-by: Markus Volk + +Upstream-Status: Inappropriate [oe-specific] +--- + meson.build | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index c91e8fc97d..efbc2d8175 100644 +--- a/meson.build ++++ b/meson.build +@@ -1235,11 +1235,7 @@ if have_lua + endif + + if is_supported_lua +- have_lua_lgi = run_command(lua, '-e', +- ''' +- local lgi = require 'lgi' +- ''', +- check: false).returncode() == 0 ++ have_lua_lgi = true + endif + + if have_lua_lgi +-- +2.49.0 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch new file mode 100644 index 0000000000..ffb8ef29df --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch @@ -0,0 +1,35 @@ +From 8ccd12d6ec3330e9646ae9db6fd491226d516dc3 Mon Sep 17 00:00:00 2001 +From: Markus Volk +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 +--- + 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 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-metadata-shut-up-a-weird-warning.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-metadata-shut-up-a-weird-warning.patch deleted file mode 100644 index 4f04ac8250..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-metadata-shut-up-a-weird-warning.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 51311f913d9f417d121f59b83d560c7b4b853d1c Mon Sep 17 00:00:00 2001 -From: Simon Budig -Date: Sat, 20 May 2023 22:25:40 +0200 -Subject: [PATCH] metadata: shut up a weird warning - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/51311f913d9f417d121f59b83d560c7b4b853d1c] -Signed-off-by: Khem Raj ---- - plug-ins/metadata/metadata-editor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/plug-ins/metadata/metadata-editor.c -+++ b/plug-ins/metadata/metadata-editor.c -@@ -2140,7 +2140,7 @@ metadata_dialog_editor_set_metadata (GEx - } - else - { -- if (! g_strv_contains (values, equiv_values[evi])) -+ if (! g_strv_contains ((const gchar * const *) values, equiv_values[evi])) - { - gchar *tmpvalue; - diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-reproducibility-fix.patch b/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-reproducibility-fix.patch new file mode 100644 index 0000000000..532715d588 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-reproducibility-fix.patch @@ -0,0 +1,56 @@ +From bf19c5687703769e406a8086036d4ed6421c33cb Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 13 Jan 2025 10:04:33 +0100 +Subject: [PATCH] meson.build: reproducibility fix + +Signed-off-by: Markus Volk + +Upstream-Status: Inappropriate [oe-specific] +--- + meson.build | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/meson.build b/meson.build +index 97cd621780..e47180db87 100644 +--- a/meson.build ++++ b/meson.build +@@ -1599,23 +1599,23 @@ conf.set('HAVE_FUNC_ATTRIBUTE_DESTRUCTOR', + conf.set_quoted('CC', cc.get_id()) + + cc_version='' +-if cc.get_id() == 'gcc' or cc.get_id() == 'clang' +- cc_cmd = run_command(cc, '-v', check: false) ++#if cc.get_id() == 'gcc' or cc.get_id() == 'clang' ++# cc_cmd = run_command(cc, '-v', check: false) + # Note: the call might actually fail when using ccache. + # See: https://github.com/mesonbuild/meson/issues/6174 +- if cc_cmd.returncode() == 0 +- cc_version = cc_cmd.stdout() + cc_cmd.stderr() +- endif +-else ++# if cc_cmd.returncode() == 0 ++# cc_version = cc_cmd.stdout() + cc_cmd.stderr() ++# endif ++#else + # Various compilers have various options. Try most common ones. This + # list of options comes from autotools checks. +- foreach arg : [ '--version', '-v', '-V', '-qversion' ] +- cc_cmd = run_command(cc, arg, check: false) +- if cc_cmd.returncode() == 0 +- cc_version = cc_cmd.stdout() +- endif +- endforeach +-endif ++# foreach arg : [ '--version', '-v', '-V', '-qversion' ] ++# cc_cmd = run_command(cc, arg, check: false) ++# if cc_cmd.returncode() == 0 ++# cc_version = cc_cmd.stdout() ++# endif ++# endforeach ++#endif + if cc_version == '' + # We didn't manage to get a meaningful verbose version from the + # compiler. Just save its name and version. +-- +2.47.1 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp_2.10.38.bb b/meta-gnome/recipes-gimp/gimp/gimp_2.10.38.bb deleted file mode 100644 index 0272e05e96..0000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp_2.10.38.bb +++ /dev/null @@ -1,101 +0,0 @@ -SUMMARY = "The GIMP is the GNU Image Manipulation Program" -HOMEPAGE = "http://www.gimp.org" -SECTION = "x11/graphics" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" - -DEPENDS = " \ - alsa-lib \ - atk \ - cairo \ - fontconfig \ - freetype \ - gdk-pixbuf-native \ - intltool-native \ - libxslt-native \ - gegl-native \ - dbus-glib \ - gtk+ \ - babl \ - gegl \ - libmypaint \ - mypaint-brushes-1.0 \ - gexiv2 \ - jpeg \ - libmng \ - libpng \ - libexif \ - tiff \ - lcms \ - poppler \ - poppler-data \ - jasper \ - bzip2 \ - libgudev \ - libmng \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \ -" -DEPENDS:append:libc-musl = " libexecinfo" - -GNOMEBASEBUILDCLASS = "autotools" -inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SHPV = "${@gnome_verdir("${PV}")}" - -SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2 \ - file://0001-configure-Keep-first-line-of-compiler-version-string.patch \ - file://0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch \ - file://0001-file-tiff-load-fix-mismatching-variable-type.patch \ - file://0001-metadata-shut-up-a-weird-warning.patch \ - file://0001-gimptool-allow-default-CC-override.patch \ - " -SRC_URI[sha256sum] = "50a845eec11c8831fe8661707950f5b8446e35f30edfb9acf98f85c1133f856e" - -EXTRA_OECONF = "--disable-python \ - --without-webkit \ - --disable-check-update \ - --without-wmf" - -EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '32', ' --disable-vector-icons', '', d)}" - -do_configure:append() { - find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - -do_compile:prepend() { - # Let native babl/gegl find their plugins - export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'` - export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'` -} - -FILES:${PN} += "${datadir}/metainfo" - -RDEPENDS:${PN} += "mypaint-brushes-1.0" - - -# gimptool - -# gimptool needs a CC definition, use current CC without sysroot -python __anonymous() { - import shlex - CC_WITHOUT_SYSROOT = shlex.join(filter(lambda x: not x.startswith("--sysroot="), shlex.split(d.getVar("CC")))) - d.setVar("CC_WITHOUT_SYSROOT", CC_WITHOUT_SYSROOT) -} -EXTRA_OECONF += "--with-default-cc='${CC_WITHOUT_SYSROOT}'" - -# Split gimptool in its own package -PACKAGE_BEFORE_PN += "${PN}-gimptool" -FILES:${PN}-gimptool += "${bindir}/gimptool-2.0" - -# gimptool depends on gimp .pc file being installed and tools to build the plugin. -RDEPENDS:${PN}-gimptool += "${PN}-dev packagegroup-core-buildessential" -INSANE_SKIP:${PN}-gimptool += "dev-deps" - - -CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" -CVE_STATUS[CVE-2009-0581] = "cpe-incorrect: The current version (2.10.38) is not affected." -CVE_STATUS[CVE-2009-0723] = "cpe-incorrect: The current version (2.10.38) is not affected." -CVE_STATUS[CVE-2009-0733] = "cpe-incorrect: The current version (2.10.38) is not affected." diff --git a/meta-gnome/recipes-gimp/gimp/gimp_3.0.2.bb b/meta-gnome/recipes-gimp/gimp/gimp_3.0.2.bb new file mode 100644 index 0000000000..2018ea04c4 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp_3.0.2.bb @@ -0,0 +1,132 @@ +SUMMARY = "The GIMP is the GNU Image Manipulation Program" +HOMEPAGE = "http://www.gimp.org" +SECTION = "graphics" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" + +DEPENDS = " \ + appstream-glib \ + atk \ + babl \ + bzip2 \ + bison-native \ + cairo \ + fontconfig \ + freetype \ + gdk-pixbuf-native \ + gegl \ + gexiv2 \ + glib-2.0 \ + glib-2.0-native \ + gtk+3 \ + harfbuzz \ + iso-codes-native \ + jpeg \ + json-glib \ + lcms \ + libarchive \ + libexif \ + libmypaint \ + libpng \ + librsvg \ + librsvg-native \ + libxmu \ + libxslt-native \ + mypaint-brushes-1.0 \ + pango \ + poppler \ + poppler-data \ + python3-pygobject-native \ + tiff \ + xz \ + zlib \ +" + +DEPENDS:append:libc-musl = " libexecinfo" + +inherit meson gtk-icon-cache mime-xdg pkgconfig gettext gobject-introspection vala + +GIR_MESON_OPTION = 'can-crosscompile-gir' +VALA_MESON_OPTION = "vala" +VALA_MESON_ENABLE_FLAG = "enabled" +VALA_MESON_DISABLE_FLAG = "disabled" +GIDOCGEN_MESON_OPTION = "gi-docgen" +GIDOCGEN_MESON_ENABLE_FLAG = "enabled" +GIDOCGEN_MESON_DISABLE_FLAG = "disabled" + +SRC_URI = "https://download.gimp.org/gimp/v${@oe.utils.trim_version('${PV}', 2)}/gimp-${PV}.tar.xz" +SRC_URI += "file://0001-gimp-cross-compile-fix-for-bz2.patch" +SRC_URI += "file://0002-meson.build-reproducibility-fix.patch" +SRC_URI += "file://0001-meson.build-dont-check-for-lgi.patch" +SRC_URI += "file://0001-meson.build-require-iso-codes-native.patch" +SRC_URI[sha256sum] = "546ddc30cb2d0e79123c7fcb4d78211e1ee7a6aace91a6a0ad8cbcbf6ea571a2" + +PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" +PACKAGECONFIG[appdata-test] = "-Dappdata-test=enabled,-Dappdata-test=disabled,appstream-native" +PACKAGECONFIG[cairo-pdf] = "-Dcairo-pdf=enabled,-Dcairo-pdf=disabled" +PACKAGECONFIG[check-update] = "-Dcheck-update=yes,-Dcheck-update=no" +PACKAGECONFIG[ghostscript] = "-Dghostscript=enabled,-Dghostscript=disabled,ghostscript,ghostscript" +PACKAGECONFIG[gudev] = "-Dgudev=enabled,-Dgudev=disabled,libgudev" +PACKAGECONFIG[heif] = "-Dheif=enabled,-Dheif=disabled,libheif" +PACKAGECONFIG[javascript] = "-Djavascript=enabled,-Djavascript=disabled,,gjs" +PACKAGECONFIG[jpeg2000] = "-Djpeg2000=enabled,-Djpeg2000=disabled,jasper" +PACKAGECONFIG[jpeg-xl] = "-Djpeg-xl=enabled,-Djpeg-xl=disabled,libjxl" +PACKAGECONFIG[libunwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" +PACKAGECONFIG[libbacktrace] = "-Dlibbacktrace=true,-Dlibbacktrace=false,libbacktrace" +PACKAGECONFIG[lua] = "-Dlua=true,-Dlua=false,,luajit lua-lgi" +PACKAGECONFIG[mng] = "-Dmng=enabled,-Dmng=disabled,libmng" +PACKAGECONFIG[openmp] = "-Dopenmp=enabled,-Dopenmp=disabled,gcc-runtime" +PACKAGECONFIG[vector-icons] = "-Dvector-icons=true,-Dvector-icons=false,librsvg shared-mime-info" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" +PACKAGECONFIG[xcursor] = "-Dxcursor=enabled,-Dxcursor=disabled,libxcursor" +PACKAGECONFIG[x11] = "-Dxpm=enabled,-Dxpm=disabled,libxpm libxext libxfixes" + +PACKAGECONFIG ?= " \ + alsa \ + cairo-pdf \ + ghostscript \ + gudev \ + javascript \ + jpeg2000 \ + jpeg-xl \ + lua \ + mng \ + webp \ + ${@oe.utils.conditional('SITEINFO_BITS', '32', '', 'vector-icons', d)} \ + ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'heif', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcursor', '', d)} \ +" + +PACKAGECONFIG:remove:riscv32 = "lua" +PACKAGECONFIG:remove:riscv64 = "lua" +PACKAGECONFIG:remove:powerpc64 = "lua" +PACKAGECONFIG:remove:powerpc64le = "lua" + +EXTRA_OEMESON += " \ + -Dshmem-type=posix \ + -Dlinux-input=enabled \ + --buildtype release \ + --cross-file=${WORKDIR}/meson-${PN}.cross \ +" + +do_write_config:append() { + cat >${WORKDIR}/meson-${PN}.cross <