- Update to 3.0.0~RC3

https://www.gimp.org/news/2025/02/10/gimp-3-0-RC3-released/
- drop upstream patches:
  33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
  gdb.patch

OBS-URL: https://build.opensuse.org/package/show/graphics/gimp?expand=0&rev=82
This commit is contained in:
Marcus Meissner 2025-02-10 17:02:52 +00:00 committed by Git OBS Bridge
parent f274f67151
commit aa6909d823
6 changed files with 18 additions and 124 deletions

View File

@ -1,54 +0,0 @@
From 33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Tue, 7 Jan 2025 12:34:20 +0100
Subject: [PATCH] Issue #12640: crash on font not found.
pango_context_load_font() can return NULL.
---
app/text/gimpfont.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/app/text/gimpfont.c b/app/text/gimpfont.c
index 0db776164b..b8559bfe47 100644
--- a/app/text/gimpfont.c
+++ b/app/text/gimpfont.c
@@ -285,10 +285,13 @@ gimp_font_deserialize_create (GType type,
context = pango_font_map_create_context (fontmap);
pfd = pango_font_description_from_string (font_name);
fc_font = PANGO_FC_FONT (pango_context_load_font (context, pfd));
- fc_pattern = pango_fc_font_get_pattern (fc_font);
- FcPatternGetString (fc_pattern, FC_FULLNAME, 0, (FcChar8 **) &fullname);
- FcPatternGetString (fc_pattern, FC_FILE, 0, (FcChar8 **) &file_path);
- FcPatternGetString (fc_pattern, FC_POSTSCRIPT_NAME, 0, (FcChar8 **) &psname);
+ if (fc_font != NULL)
+ {
+ fc_pattern = pango_fc_font_get_pattern (fc_font);
+ FcPatternGetString (fc_pattern, FC_FULLNAME, 0, (FcChar8 **) &fullname);
+ FcPatternGetString (fc_pattern, FC_FILE, 0, (FcChar8 **) &file_path);
+ FcPatternGetString (fc_pattern, FC_POSTSCRIPT_NAME, 0, (FcChar8 **) &psname);
+ }
}
/* If a font's pfd matches a font's pfd or the pfd matches name+style then done.
* Otherwise, use the pfd to retrieve a font file name & psname & fullname, and match with that
@@ -302,7 +305,8 @@ gimp_font_deserialize_create (GType type,
!g_strcmp0 (font->fullname, font_name) ||
!g_strcmp0 (font->family_style_concat, font_name))
break;
- else if (!g_strcmp0 (font->file_path, file_path) &&
+ else if (fc_font != NULL &&
+ !g_strcmp0 (font->file_path, file_path) &&
(!g_strcmp0 (font->psname, psname) || !g_strcmp0 (font->fullname, fullname)))
possible_match = font;
@@ -321,7 +325,7 @@ gimp_font_deserialize_create (GType type,
{
g_object_unref (fontmap);
g_object_unref (context);
- g_object_unref (fc_font);
+ g_clear_object (&fc_font);
g_free (font_name);
}
--
GitLab

View File

@ -1,61 +0,0 @@
commit 7694b1dc04c253a8b1c14740a1ef20f13114cd34
Author: Jehan <jehan@girinstud.io>
Date: Mon Jan 6 21:09:37 2025 +0100
Issue #12640: run in-build GIMP binary through a debugger when gdb is available.
It is not in fact a fix for #12640, only an improvement to our build
script, wrapping our calls to GIMP executables and outputting a
backtrace on a crash. This way, when people report issues during one of
the relevant calls, we may be able to diagnose.
It won't be useful for other types of failures (when the process doesn't
crash, but e.g. the script is wrong or other non-fatal bugs in GIMP).
diff --git a/meson.build b/meson.build
index e1b7450805..6c155a9bf4 100644
--- a/meson.build
+++ b/meson.build
@@ -1951,7 +1951,8 @@ subdir('app-tools')
# tool.
gimp_run_env=environment()
-gimp_run_env.set('GIMP_GLOBAL_BUILD_ROOT', meson.global_build_root())
+gimp_run_env.set('GIMP_GLOBAL_BUILD_ROOT', meson.global_build_root())
+gimp_run_env.set('GIMP_GLOBAL_SOURCE_ROOT', meson.global_source_root())
if meson.can_run_host_binaries() and have_gobject_introspection
if enable_console_bin
diff --git a/tools/debug-in-build-gimp.py b/tools/debug-in-build-gimp.py
new file mode 100644
index 0000000000..7225a7c4e4
--- /dev/null
+++ b/tools/debug-in-build-gimp.py
@@ -0,0 +1,8 @@
+def my_signal_handler (event):
+ if (isinstance(event, gdb.SignalEvent)):
+ gdb.write("Eeeeeeeeeeeek: in-build GIMP crashed!\n")
+ gdb.execute('info threads')
+ gdb.execute("thread apply all backtrace full")
+
+gdb.events.stop.connect(my_signal_handler)
+gdb.execute("run")
diff --git a/tools/in-build-gimp.sh b/tools/in-build-gimp.sh
index b1254e7e98..913fd19c80 100755
--- a/tools/in-build-gimp.sh
+++ b/tools/in-build-gimp.sh
@@ -24,7 +24,13 @@ if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then
unset IFS
fi
-cat /dev/stdin | $GIMP_SELF_IN_BUILD "$@"
+if command -v gdb; then
+ echo RUNNING: cat /dev/stdin "|" gdb --batch -x "$GIMP_GLOBAL_SOURCE_ROOT/tools/debug-in-build-gimp.py" --args $GIMP_SELF_IN_BUILD "$@"
+ cat /dev/stdin | gdb --return-child-result --batch -x "$GIMP_GLOBAL_SOURCE_ROOT/tools/debug-in-build-gimp.py" --args $GIMP_SELF_IN_BUILD "$@"
+else
+ echo RUNNING: cat /dev/stdin "|" $GIMP_SELF_IN_BUILD "$@"
+ cat /dev/stdin | $GIMP_SELF_IN_BUILD "$@"
+fi
if [ -n "$GIMP_TEMP_UPDATE_RPATH" ]; then
export IFS=":"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4d2f96df180ce5543f8b2b35707b9bf11459f00f726ca73da2f406d686d9db7
size 26980968

3
gimp-3.0.0-RC3.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61fb527cf22d093a3f3501884796ababd3c30dd7f0e354dbdc041bef0f7e38ec
size 27043600

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Mon Feb 10 16:35:33 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.0.0~RC3
https://www.gimp.org/news/2025/02/10/gimp-3-0-RC3-released/
- drop upstream patches:
33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
gdb.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Feb 5 08:39:04 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com> Wed Feb 5 08:39:04 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@ -46,10 +46,10 @@
%define freetype2_version 2.1.7 %define freetype2_version 2.1.7
%define exiv2_version 0.27.4 %define exiv2_version 0.27.4
%define gdk_pixbuf_version 2.30.8 %define gdk_pixbuf_version 2.30.8
%define gegl_version 0.4.52 %define gegl_version 0.4.54
%define gexiv2_version 0.14.0 %define gexiv2_version 0.14.0
%define glib_version 2.70.0 %define glib_version 2.70.0
%define gtk3_version 3.24.0 %define gtk3_version 3.24.48
%define gudev_version 167 %define gudev_version 167
%define harfbuzz_version 2.8.2 %define harfbuzz_version 2.8.2
%define lcms2_version 2.8 %define lcms2_version 2.8
@ -71,6 +71,7 @@
%define libvala_version 0.40.0 %define libvala_version 0.40.0
%define libtiff_version 4.0.0 %define libtiff_version 4.0.0
%define libjxl_version 0.7.0 %define libjxl_version 0.7.0
%define json_glib_version 1.2.6
# seems lua 5.3 is the latest supported version # seems lua 5.3 is the latest supported version
%global lua_lgi lua53-lgi %global lua_lgi lua53-lgi
@ -88,9 +89,9 @@
%define pkg_name gimp %define pkg_name gimp
Name: gimp Name: gimp
Version: 3.0.0~RC2 Version: 3.0.0~RC3
Release: 0 Release: 0
%global pkg_version 3.0.0-RC2 %global pkg_version 3.0.0-RC3
Summary: The GNU Image Manipulation Program Summary: The GNU Image Manipulation Program
License: GPL-3.0-or-later License: GPL-3.0-or-later
Group: Productivity/Graphics/Bitmap Editors Group: Productivity/Graphics/Bitmap Editors
@ -103,8 +104,6 @@ Source2: openSUSE.gpl
Patch1: gimp-2.99.19-cm-system-monitor-profile-by-default.patch Patch1: gimp-2.99.19-cm-system-monitor-profile-by-default.patch
Patch2: gimp-2.99.19-external-help-browser.patch Patch2: gimp-2.99.19-external-help-browser.patch
Patch3: gimp-2.99.19-no-phone-home-default.patch Patch3: gimp-2.99.19-no-phone-home-default.patch
Patch4: 33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
Patch5: gdb.patch
%if %{with debug_in_build_gimp} %if %{with debug_in_build_gimp}
BuildRequires: gdb BuildRequires: gdb
%endif %endif
@ -170,6 +169,7 @@ BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version}
BuildRequires: pkgconfig(gudev-1.0) >= %{gudev_version} BuildRequires: pkgconfig(gudev-1.0) >= %{gudev_version}
BuildRequires: pkgconfig(harfbuzz) >= %{harfbuzz_version} BuildRequires: pkgconfig(harfbuzz) >= %{harfbuzz_version}
BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(json-glib-1.0) >= %{json_glib_version}
BuildRequires: pkgconfig(lcms2) >= %{lcms2_version} BuildRequires: pkgconfig(lcms2) >= %{lcms2_version}
BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libexif) >= %{libexif_version} BuildRequires: pkgconfig(libexif) >= %{libexif_version}