$ git diff --patch-with-stat --summary 2c24ee982de4a149a1b90e0384c3f9f185b5cd58..52fa70d1616e6982c67b9989cb2aec89467ae460
.abf.yml | 2 +-
d7228727d7a4b11909001cf8fd8977d68bd29720.patch | 28 -----
gimp.spec | 161 ++++++++++---------------
3 files changed, 67 insertions(+), 124 deletions(-)
delete mode 100644 d7228727d7a4b11909001cf8fd8977d68bd29720.patch
diff --git a/.abf.yml b/.abf.yml
index 7782eef..26232d3 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- gimp-2.10.36.tar.bz2: 0311a880373ad36056d3a9220ebe201c5d9d4699
+ gimp-3.0.0.tar.xz: 4f898b91a6df47c858588841374af110ed6f7695
diff --git a/d7228727d7a4b11909001cf8fd8977d68bd29720.patch b/d7228727d7a4b11909001cf8fd8977d68bd29720.patch
deleted file mode 100644
index 5e71a14..0000000
--- a/d7228727d7a4b11909001cf8fd8977d68bd29720.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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 40f6840..eea1367 100644
--- a/gimp.spec
+++ b/gimp.spec
@@ -1,9 +1,9 @@
-%bcond_with python
%global optflags %{optflags} -O3 -Wno-int-conversion
-%define api 2.0
-%define abi 2.10
+%define api 3.0
+%define abi 3.0
%define major 0
+%define minor 3
%define oldlibname %mklibname %{name} %{api}_%{major}
%define oldlibbase %mklibname gimpbase %{api} %{major}
%define oldlibcolor %mklibname gimpcolor %{api} %{major}
@@ -17,27 +17,26 @@
Summary: The GNU Image Manipulation Program
Name: gimp
-Version: 2.10.36
-Release: 6
+Version: 3.0.0
+Release: 1
License: GPLv2+
Group: Graphics
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
+Source0: https://download.gimp.org/pub/gimp/v%{abi}/gimp-%{version}.tar.xz
Source13: gimp-scripting-sample.pl
-Patch0: gimp-2.5.1-desktopentry.patch
+#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
+#Patch1: 0001-Build-with-mypaint-brushes-2.0.patch
BuildRequires: pkgconfig(alsa)
+BuildRequires: pkgconfig(appstream-glib)
BuildRequires: pkgconfig(libart-2.0)
BuildRequires: pkgconfig(atk) >= 2.2.0
BuildRequires: pkgconfig(babl-0.1) >= 0.1.100
BuildRequires: pkgconfig(cairo) >= 1.10.2
BuildRequires: pkgconfig(cairo-pdf) >= 1.10.2
+BuildRequires: pkgconfig(cfitsio)
BuildRequires: pkgconfig(dbus-glib-1) >= 0.70
BuildRequires: pkgconfig(fontconfig) >= 2.2.0
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.24.1
@@ -46,8 +45,9 @@ BuildRequires: pkgconfig(gexiv2) >= 0.10.6
BuildRequires: pkgconfig(gio-2.0) >= 2.30.2
BuildRequires: pkgconfig(glib-2.0) >= 2.30.2
BuildRequires: pkgconfig(gmodule-no-export-2.0)
-BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.10
+BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gudev-1.0) >= 167
+BuildRequires: pkgconfig(harfbuzz-gobject)
BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(libavif)
BuildRequires: pkgconfig(lcms2) >= 2.2
@@ -72,12 +72,14 @@ BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(libopenjp2)
BuildRequires: appstream-util
+BuildRequires: dbus-daemon
BuildRequires: desktop-file-utils
BuildRequires: iso-codes
BuildRequires: gegl
BuildRequires: glib-networking
+BuildRequires: gi-docgen
+BuildRequires: gjs
BuildRequires: gtk-doc
-BuildRequires: gtk+2.0
BuildRequires: imagemagick
BuildRequires: intltool
BuildRequires: perl
@@ -92,27 +94,31 @@ BuildRequires: pkgconfig(poppler-data)
BuildRequires: gtk-update-icon-cache
BuildRequires: x11-server-xvfb
BuildRequires: glibc-static-devel
+BuildRequires: pkgconfig(vapigen)
# mail plugin
BuildRequires: sendmail-command
+BuildRequires: xdg-utils
# print plugin
#BuildRequires: libgimpprint-devel >= 4.2.0
# python plugin
-%if %{with python}
-BuildRequires: pkgconfig(pygtk-2.0)
-BuildRequires: pkgconfig(python2)
+BuildRequires: pkgconfig(pygobject-3.0)
+BuildRequires: python-gi
+BuildRequires: pkgconfig(python)
#BuildRequires: pkgconfig(pycairo)
-%endif
# Require gegl, otherwise GIMP crashes on some operations
# (at least on cage transformation)
Requires: gegl
+Requires: %{_lib}gegl-gir0.4
Requires: xdg-utils
# Graphviz is now required or GIMP refuse to start due error:
# GIMP requires the GEGL operation "gegl:itrospect".
Requires: graphviz
-Suggests: gimp-help-2
-
-Requires: lib64gtk-modules2.0
-Requires: lib64gail18
+Requires: gjs
+Requires: hicolor-icon-theme
+#Requires: lib64gail18
+# Python requires:
+Requires: python-gi
+Requires: python-gobject3
# No point in splitting out internal helper libraries...
# Not using %%rename because that only obsoletes "older"
@@ -149,9 +155,6 @@ inclined. Alternatively, choose fonts which exist on your system before
running the scripts.
-Build Options:
---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+
@@ -162,69 +165,29 @@ Provides: %{name}-devel = %{EVRD}
%description -n %{devname}
Development libraries and header files for writing GIMP plugins and extensions.
-%package python
-Summary: GIMP python extension
-Group: Graphics
-Requires: pygtk2.0
-
-%description python
-This package contains the python modules for GIMP, which act as a
-wrapper to libgimp allowing the writing of plug-ins for Gimp.
-This is similar to script-fu, except that you can use the full set
-of Python extension modules from the plug-in, and you write plug-in
-in python instead of in scheme.
-
%prep
-%autosetup -p1
-autoupdate
-autoreconf -fiv
-
+%autosetup -n %{name}-%{version} -p1
%build
-%configure \
- --enable-default-binary=yes \
- --enable-gimp-console \
- --enable-mp=yes \
-%if %{with python}
- --enable-python=yes \
-%else
- --enable-python=no \
-%endif
- --enable-gtk-doc=yes \
- --with-pdbgen \
- --with-print \
- --with-aa \
- --with-linux-input \
- --without-webkit \
- --with-libmng \
- --with-libxpm \
- --with-alsa \
- --with-cairo-pdf \
- --with-bug-report-url=https://issues.openmandriva.org
+sed -i 's!mypaint-brushes-1.0!mypaint-brushes-2.0!' meson.build
+%meson \
+ -Dcheck-update=no \
+ -Djpeg-xl=enabled \
+ -Dilbm=disabled \
+ -Dappdata-test=disabled \
+ -Dheif=disabled \
+ -Dbug-report-url="https://issues.openmandriva.org"
-%make_build
+%meson_build
%install
-%make_install
-
-# workaround broken help system
-HELP_DIR=%{buildroot}%{_datadir}/gimp/%api/help/C
-[[ -d $HELP_DIR ]] || mkdir -p $HELP_DIR
-HELP_IDX=$HELP_DIR/introduction.html
-echo -e '<HTML><HEAD><TITLE>GIMP Base Library</HEAD>\n<BODY><UL>' > $HELP_IDX
-
-/bin/ls %{buildroot}%{_datadir}/gtk-doc/html/*/index.html | sed -e "s@%{buildroot}@@g" >> $HELP_IDX
-perl -pi -e 's!(.*/html/)([^/]*)(/index.html)!<LI><A HREF="\1\2\3">\2</A>!g' $HELP_IDX
-
-echo '</UL></BODY></HTML>' >> $HELP_IDX
+%meson_install
%find_lang gimp20 --all-name
-%if %{with python}
-chmod 755 %{buildroot}%{_libdir}/gimp/%{api}/plug-ins/*/*.py
-mkdir -p %{buildroot}%{_libdir}/python%{py_ver}/site-packages
-echo %{_libdir}/gimp/%{api}/python > %{buildroot}%{_libdir}/python%{py_ver}/site-packages/gimp.pth
-echo %{_libdir}/gimp/%{api}/plug-ins >> %{buildroot}%{_libdir}/python%{py_ver}/site-packages/gimp.pth
-%endif
+#chmod 755 %{buildroot}%{_libdir}/gimp/%{abi_version}/plug-ins/*/*.py
+#mkdir -p %{buildroot}%{_libdir}/python%{python3_version}/site-packages
+#echo %{_libdir}/gimp/%{abi_version}/extensions > %{buildroot}%{_libdir}/python%{python3_version}/site-packages/gimp.pth
+#echo %{_libdir}/gimp/%{abi_version}/plug-ins >> %{buildroot}%{_libdir}/python%{python3_version}/site-packages/gimp.pth
desktop-file-install --vendor="" \
--add-category="X-MandrivaLinux-CrossDesktop" \
@@ -236,23 +199,37 @@ desktop-file-install --vendor="" \
%config(noreplace) %{_sysconfdir}/gimp
%{_bindir}/gimp
%{_bindir}/gimp-%{abi}
+%{_bindir}/gimp-%{minor}
%{_bindir}/gimp-console
%{_bindir}/gimp-console-%{abi}
+%{_bindir}/gimp-console-%{minor}
+%{_bindir}/gimp-script-fu-interpreter-%{abi}
+%{_bindir}/gimp-test-clipboard
%{_bindir}/gimp-test-clipboard-%{api}
-%{_libexecdir}/gimp-debug-tool-2.0
+%{_bindir}/gimp-test-clipboard-%{minor}
+%{_bindir}/gimptool
+%{_libexecdir}/gimp-debug-tool*
%dir %{_libdir}/gimp/%{api}
%dir %{_libdir}/gimp/%{api}/environ
%{_libdir}/gimp/%{api}/interpreters
-%{_libdir}/gimp/%{api}/environ/default.env
%{_libdir}/gimp/%{api}/modules
%{_libdir}/gimp/%{api}/plug-ins
-%if %{with python}
-%exclude %{_libdir}/gimp/%{api}/plug-ins/*/*.py
-%endif
+%{_libdir}/gimp/%{api}/environ/python.env
+%{_libdir}/gimp/%{api}/environ/default.env
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-c
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-c.c
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-gjs.js
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-py3.py
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/goat-exercise-vala.vala
+%{_libdir}/gimp/%{api}/extensions/org.gimp.extension.goat-exercises/org.gimp.extension.goat-exercises.metainfo.xml
+%{_libdir}/girepository-1.0/
+%{_libdir}/libgimp-scriptfu-%{api}.so.%{major}*
%{_datadir}/applications/*
%{_datadir}/metainfo/*.xml
%{_datadir}/gimp
%{_datadir}/icons/hicolor/*/apps/gimp.png
+%{_iconsdir}/hicolor/scalable/apps/gimp.svg
%{_mandir}/man1/gimp-*
%{_mandir}/man1/gimp.*
%{_mandir}/man5/gimp*
@@ -267,19 +244,13 @@ desktop-file-install --vendor="" \
%{_libdir}/libgimpwidgets-%{api}.so.%{major}*
%files -n %{devname}
-%doc ChangeLog
-%doc %{_datadir}/gtk-doc/html/*
+%doc %{_datadir}/doc/gimp-%{api}/
%{_bindir}/gimptool-*
-%{_datadir}/aclocal/*.m4
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
+%{_datadir}/gir-1.0/Gimp-%{api}.gir
+%{_datadir}/gir-1.0/GimpUi-%{api}.gir
+%{_datadir}/vala/vapi/
%{_mandir}/man1/gimptool-*
-
-%if %{with python}
-%files python
-%{_libdir}/gimp/%{api}/environ/pygimp.env
-%{_libdir}/gimp/%{api}/python
-%{_libdir}/gimp/%{api}/plug-ins/*/*.py
-%{_libdir}/python%{py_ver}/site-packages/*.pth
-%endif
+%{_mandir}/man1/gimptool.1.*