$ git diff --patch-with-stat --summary fd193da02967da3fc0367460f51b2e2d20262f36..2c24ee982de4a149a1b90e0384c3f9f185b5cd58
.abf.yml | 2 +-
d7228727d7a4b11909001cf8fd8977d68bd29720.patch | 28 ++++
gimp.spec | 175 +++++++------------------
3 files changed, 75 insertions(+), 130 deletions(-)
create mode 100644 d7228727d7a4b11909001cf8fd8977d68bd29720.patch
diff --git a/.abf.yml b/.abf.yml
index 08eaa2a..7782eef 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- gimp-2.10.30.tar.bz2: 2a755e1a2ceffc6e33dff41e102351272c1d1b84
+ gimp-2.10.36.tar.bz2: 0311a880373ad36056d3a9220ebe201c5d9d4699
diff --git a/d7228727d7a4b11909001cf8fd8977d68bd29720.patch b/d7228727d7a4b11909001cf8fd8977d68bd29720.patch
new file mode 100644
index 0000000..5e71a14
--- /dev/null
+++ b/d7228727d7a4b11909001cf8fd8977d68bd29720.patch
@@ -0,0 +1,28 @@
+From d7228727d7a4b11909001cf8fd8977d68bd29720 Mon Sep 17 00:00:00 2001
+From: Luca Bacci <luca.bacci982@gmail.com>
+Date: Tue, 2 Apr 2024 11:31:08 +0200
+Subject: [PATCH] QuitDialog: disconnect signal handler on dialog destroy
+
+...rather than finalize.
+
+Fixes #10785
+---
+ app/dialogs/quit-dialog.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/app/dialogs/quit-dialog.c b/app/dialogs/quit-dialog.c
+index ad9a4495f9c..3c18a09260a 100644
+--- a/app/dialogs/quit-dialog.c
++++ b/app/dialogs/quit-dialog.c
+@@ -300,7 +300,7 @@ quit_close_all_dialog_new (Gimp *gimp,
+
+ closure = g_cclosure_new (G_CALLBACK (quit_close_all_dialog_container_changed),
+ private, NULL);
+- g_object_watch_closure (G_OBJECT (private->dialog), closure);
++ g_signal_connect_swapped (private->dialog, "destroy", G_CALLBACK (g_closure_invalidate), closure);
+ g_signal_connect_closure (private->images, "add", closure, FALSE);
+ g_signal_connect_closure (private->images, "remove", closure, FALSE);
+
+--
+GitLab
+
diff --git a/gimp.spec b/gimp.spec
index 550d01b..40f6840 100644
--- a/gimp.spec
+++ b/gimp.spec
@@ -1,41 +1,41 @@
%bcond_with python
-%global __python %{__python2}
-%global optflags %{optflags} -O3
-
-%define api 2.0
-%define abi 2.10
-%define major 0
-%define libname %mklibname %{name} %{api}_%{major}
-%define libbase %mklibname gimpbase %{api} %{major}
-%define libcolor %mklibname gimpcolor %{api} %{major}
-%define libconfig %mklibname gimpconfig %{api} %{major}
-%define libmath %mklibname gimpmath %{api} %{major}
-%define libmodule %mklibname gimpmodule %{api} %{major}
-%define libthumb %mklibname gimpthumb %{api} %{major}
-%define libui %mklibname gimpui %{api} %{major}
-%define libwidgets %mklibname gimpwidgets %{api} %{major}
-%define devname %mklibname -d %{name}%{api}
+%global optflags %{optflags} -O3 -Wno-int-conversion
+
+%define api 2.0
+%define abi 2.10
+%define major 0
+%define oldlibname %mklibname %{name} %{api}_%{major}
+%define oldlibbase %mklibname gimpbase %{api} %{major}
+%define oldlibcolor %mklibname gimpcolor %{api} %{major}
+%define oldlibconfig %mklibname gimpconfig %{api} %{major}
+%define oldlibmath %mklibname gimpmath %{api} %{major}
+%define oldlibmodule %mklibname gimpmodule %{api} %{major}
+%define oldlibthumb %mklibname gimpthumb %{api} %{major}
+%define oldlibui %mklibname gimpui %{api} %{major}
+%define oldlibwidgets %mklibname gimpwidgets %{api} %{major}
+%define devname %mklibname -d %{name}%{api}
Summary: The GNU Image Manipulation Program
Name: gimp
-Epoch: 1
-Version: 2.10.30
-Release: 3
+Version: 2.10.36
+Release: 6
License: GPLv2+
Group: Graphics
-Url: http://www.gimp.org/
-Source0: http://download.gimp.org/pub/gimp/v%{abi}/gimp-%{version}.tar.bz2
+Url: https://www.gimp.org/
+Source0: https://download.gimp.org/pub/gimp/v%{abi}/gimp-%{version}.tar.bz2
#Source1: http://download.gimp.org/pub/gimp/v%%{abi}/gimp-%%{version}.tar.bz2.md5
Source13: gimp-scripting-sample.pl
Patch0: gimp-2.5.1-desktopentry.patch
# Upstream patches
Patch1: 0001-Build-with-mypaint-brushes-2.0.patch
+# Fix for crashing while exiting.
+Patch2: https://gitlab.gnome.org/GNOME/gimp/-/commit/d7228727d7a4b11909001cf8fd8977d68bd29720.patch
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libart-2.0)
BuildRequires: pkgconfig(atk) >= 2.2.0
-BuildRequires: pkgconfig(babl) >= 0.1.52
+BuildRequires: pkgconfig(babl-0.1) >= 0.1.100
BuildRequires: pkgconfig(cairo) >= 1.10.2
BuildRequires: pkgconfig(cairo-pdf) >= 1.10.2
BuildRequires: pkgconfig(dbus-glib-1) >= 0.70
@@ -67,7 +67,8 @@ BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(libxml-2.0)
-BuildRequires: lzma-devel
+BuildRequires: pkgconfig(libjxl)
+BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(libopenjp2)
BuildRequires: appstream-util
@@ -81,15 +82,16 @@ BuildRequires: imagemagick
BuildRequires: intltool
BuildRequires: perl
BuildRequires: aalib-devel
-BuildRequires: jasper-devel
-BuildRequires: libwmf-devel >= 0.2.8
+BuildRequires: pkgconfig(jasper)
+BuildRequires: pkgconfig(libwmf)
BuildRequires: pkgconfig(libmng)
-BuildRequires: tiff-devel
-BuildRequires: bzip2-devel
+BuildRequires: pkgconfig(libtiff-4)
+BuildRequires: pkgconfig(bzip2)
BuildRequires: ghostscript-devel
-BuildRequires: poppler-data-devel >= 0.4.7
+BuildRequires: pkgconfig(poppler-data)
BuildRequires: gtk-update-icon-cache
BuildRequires: x11-server-xvfb
+BuildRequires: glibc-static-devel
# mail plugin
BuildRequires: sendmail-command
# print plugin
@@ -112,7 +114,19 @@ Suggests: gimp-help-2
Requires: lib64gtk-modules2.0
Requires: lib64gail18
-%rename gimp2.6
+# No point in splitting out internal helper libraries...
+# Not using %%rename because that only obsoletes "older"
+# versions and we've dropped an Epoch.
+Obsoletes: %{oldlibname}
+Obsoletes: %{oldlibbase}
+Obsoletes: %{oldlibcolor}
+Obsoletes: %{oldlibconfig}
+Obsoletes: %{oldlibmath}
+Obsoletes: %{oldlibmodule}
+Obsoletes: %{oldlibthumb}
+Obsoletes: %{oldlibui}
+Obsoletes: %{oldlibwidgets}
+
%description
The GIMP is an image manipulation program suitable for photo retouching,
@@ -136,93 +150,14 @@ running the scripts.
Build Options:
---without python Disable pygimp (default enabled)
-
-%package -n %{libname}
-Summary: GIMP libraries
-Group: System/Libraries
-
-%description -n %{libname}
-This package contains a shared library for %{name}.
-
-%package -n %{libbase}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libbase}
-This package contains a shared library for %{name}.
-
-%package -n %{libcolor}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libcolor}
-This package contains a shared library for %{name}.
-
-%package -n %{libconfig}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libconfig}
-This package contains a shared library for %{name}.
-
-%package -n %{libmath}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libmath}
-This package contains a shared library for %{name}.
-
-%package -n %{libmodule}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libmodule}
-This package contains a shared library for %{name}.
-
-%package -n %{libthumb}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libthumb}
-This package contains a shared library for %{name}.
-
-%package -n %{libui}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libui}
-This package contains a shared library for %{name}.
-
-%package -n %{libwidgets}
-Summary: GIMP libraries
-Group: System/Libraries
-Conflicts: %{_lib}gimp2.0_0 < 1:2.8.4-2
-
-%description -n %{libwidgets}
-This package contains a shared library for %{name}.
+--with python Disable pygimp (default disabled, because it requires obsolete python 2.x)
%package -n %{devname}
Summary: GIMP plugin and extension development kit
Group: Development/GNOME and GTK+
-Requires: %{libname} = %{EVRD}
-Requires: %{libbase} = %{EVRD}
-Requires: %{libcolor} = %{EVRD}
-Requires: %{libconfig} = %{EVRD}
-Requires: %{libmath} = %{EVRD}
-Requires: %{libmodule} = %{EVRD}
-Requires: %{libthumb} = %{EVRD}
-Requires: %{libui} = %{EVRD}
-Requires: %{libwidgets} = %{EVRD}
+Requires: %{name} = %{EVRD}
Requires: pkgconfig(gegl-0.4)
-Provides: %{name}-devel = %{version}-%{release}
+Provides: %{name}-devel = %{EVRD}
%description -n %{devname}
Development libraries and header files for writing GIMP plugins and extensions.
@@ -321,32 +256,14 @@ desktop-file-install --vendor="" \
%{_mandir}/man1/gimp-*
%{_mandir}/man1/gimp.*
%{_mandir}/man5/gimp*
-
-%files -n %{libname}
%{_libdir}/libgimp-%{api}.so.%{major}*
-
-%files -n %{libbase}
%{_libdir}/libgimpbase-%{api}.so.%{major}*
-
-%files -n %{libcolor}
%{_libdir}/libgimpcolor-%{api}.so.%{major}*
-
-%files -n %{libconfig}
%{_libdir}/libgimpconfig-%{api}.so.%{major}*
-
-%files -n %{libmath}
%{_libdir}/libgimpmath-%{api}.so.%{major}*
-
-%files -n %{libmodule}
%{_libdir}/libgimpmodule-%{api}.so.%{major}*
-
-%files -n %{libthumb}
%{_libdir}/libgimpthumb-%{api}.so.%{major}*
-
-%files -n %{libui}
%{_libdir}/libgimpui-%{api}.so.%{major}*
-
-%files -n %{libwidgets}
%{_libdir}/libgimpwidgets-%{api}.so.%{major}*
%files -n %{devname}