Accepting request 1237665 from graphics

- drop buildrequires for the font. really not needed.

- scm scripts seems to also require the typelib for gimp. move the
  typelib to the main package including the requires for the
  babl/gegl typelibs

- Added 33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch 
  This properly fixes that gimp doesnt crash if it doesnt find any
  fonts. 
- guard the gdb buildrequires in a bcond debug_in_build_gimp so we
  can easily reenable it for future issues
- replace bitstream-vera-fonts with google-noto-sans-fonts
  The actual font it looks for is "Warsaw Gothic" but according to
  https://gitlab.gnome.org/GNOME/gimp/-/issues/12640#note_2312400
  it should not really need it during the build

- Sync spec file with master package
  - add libbacktrace-devel for better backtrace support
  - add BR for bitstream-vera-fonts so that at least some fonts
    are available for the splash screen. this fixes the build
    crash.
- cleanup lua BR as the lua plugin is experimental and shouldnt be
  enabled.

- Add gdb.patch and gdb BR to debug
  https://gitlab.gnome.org/GNOME/gimp/-/issues/12640

- Import some useful patches from Fedora 
  gimp-2.99.19-cm-system-monitor-profile-by-default.patch
  gimp-2.99.19-external-help-browser.patch

OBS-URL: https://build.opensuse.org/request/show/1237665
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gimp?expand=0&rev=146
This commit is contained in:
Ana Guerrero 2025-01-16 17:30:54 +00:00 committed by Git OBS Bridge
commit c7c6e68960
10 changed files with 593 additions and 208 deletions

View File

@ -0,0 +1,54 @@
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,26 +0,0 @@
diff -ru orig/plug-ins/file-tiff/file-tiff-load.c mod/plug-ins/file-tiff/file-tiff-load.c
--- orig/plug-ins/file-tiff/file-tiff-load.c 2024-05-03 02:33:35.000000000 +0200
+++ mod/plug-ins/file-tiff/file-tiff-load.c 2024-05-21 13:18:49.443359344 +0200
@@ -1301,8 +1301,8 @@
/* 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 -ru orig/plug-ins/metadata/metadata-editor.c mod/plug-ins/metadata/metadata-editor.c
--- orig/plug-ins/metadata/metadata-editor.c 2024-05-03 02:33:35.000000000 +0200
+++ mod/plug-ins/metadata/metadata-editor.c 2024-05-21 13:20:13.900525624 +0200
@@ -2140,7 +2140,7 @@
}
else
{
- if (! g_strv_contains (values, equiv_values[evi]))
+ if (! g_strv_contains ((const gchar * const*)values, equiv_values[evi]))
{
gchar *tmpvalue;

61
gdb.patch Normal file
View File

@ -0,0 +1,61 @@
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:50a845eec11c8831fe8661707950f5b8446e35f30edfb9acf98f85c1133f856e
size 31698453

View File

@ -0,0 +1,25 @@
diff -up gimp-2.99.18/etc/gimprc.in.cm-system-monitor-profile-by-default gimp-2.99.18/etc/gimprc.in
--- gimp-2.99.18/etc/gimprc.in.cm-system-monitor-profile-by-default 2024-02-17 18:01:20.000000000 +0100
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:39:06.468575598 +0200
@@ -316,9 +316,9 @@
# Defines the color management behavior. This is a parameter list.
#
-# (color-management
+(color-management
# (mode display)
-# (display-profile-from-gdk no)
+ (display-profile-from-gdk no)
# (display-rendering-intent relative-colorimetric)
# (display-use-black-point-compensation yes)
# (display-optimize yes)
@@ -326,7 +326,8 @@
# (simulation-use-black-point-compensation no)
# (simulation-optimize yes)
# (simulation-gamut-check no)
-# (out-of-gamut-color (color-rgb 1 0 1)))
+# (out-of-gamut-color (color-rgb 1 0 1))
+)
# Keep a permanent record of all opened and saved files in the Recent
# Documents list. Possible values are yes and no.

View File

@ -0,0 +1,12 @@
diff -up gimp-2.99.18/etc/gimprc.in.external-help-browser gimp-2.99.18/etc/gimprc.in
--- gimp-2.99.18/etc/gimprc.in.external-help-browser 2024-05-07 14:41:40.660506520 +0200
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:46:04.028680986 +0200
@@ -828,7 +828,7 @@
# Sets the browser used by the help system. Possible values are gimp and
# web-browser.
#
-# (help-browser gimp)
+(help-browser web-browser)
# The maximum number of actions saved in history. This is an integer value.
#

View File

@ -0,0 +1,12 @@
diff -up gimp-2.99.18/etc/gimprc.in.no-phone-home-default gimp-2.99.18/etc/gimprc.in
--- gimp-2.99.18/etc/gimprc.in.no-phone-home-default 2024-05-07 14:40:02.746185394 +0200
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:40:49.353862228 +0200
@@ -399,7 +399,7 @@
# Check for availability of GIMP updates through background internet queries.
# Possible values are yes and no.
#
-# (check-updates yes)
+(check-updates no)
# Timestamp of the last update check. This is an integer value.
#

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

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

View File

@ -1,3 +1,62 @@
-------------------------------------------------------------------
Mon Jan 13 15:00:01 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- drop buildrequires for the font. really not needed.
-------------------------------------------------------------------
Tue Jan 7 12:40:20 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- scm scripts seems to also require the typelib for gimp. move the
typelib to the main package including the requires for the
babl/gegl typelibs
-------------------------------------------------------------------
Tue Jan 7 12:12:25 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Added 33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
This properly fixes that gimp doesnt crash if it doesnt find any
fonts.
- guard the gdb buildrequires in a bcond debug_in_build_gimp so we
can easily reenable it for future issues
- replace bitstream-vera-fonts with google-noto-sans-fonts
The actual font it looks for is "Warsaw Gothic" but according to
https://gitlab.gnome.org/GNOME/gimp/-/issues/12640#note_2312400
it should not really need it during the build
-------------------------------------------------------------------
Tue Jan 7 00:24:53 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Sync spec file with master package
- add libbacktrace-devel for better backtrace support
- add BR for bitstream-vera-fonts so that at least some fonts
are available for the splash screen. this fixes the build
crash.
- cleanup lua BR as the lua plugin is experimental and shouldnt be
enabled.
-------------------------------------------------------------------
Tue Jan 7 00:24:21 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Add gdb.patch and gdb BR to debug
https://gitlab.gnome.org/GNOME/gimp/-/issues/12640
-------------------------------------------------------------------
Sat Dec 28 01:22:53 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Import some useful patches from Fedora
gimp-2.99.19-cm-system-monitor-profile-by-default.patch
gimp-2.99.19-external-help-browser.patch
gimp-2.99.19-no-phone-home-default.patch
- Add BuildRequires for the python runtime requires to see if it
fixes the problem with the splash screen
-------------------------------------------------------------------
Sat Dec 28 00:49:04 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.0.0~RC2
https://www.gimp.org/news/2024/12/27/gimp-3-0-RC2-released/
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Nov 28 14:47:18 UTC 2024 - Dirk Stoecker <opensuse@dstoecker.de> Thu Nov 28 14:47:18 UTC 2024 - Dirk Stoecker <opensuse@dstoecker.de>
@ -15,6 +74,20 @@ Mon Nov 11 15:16:56 UTC 2024 - Lubos Kocman <lubos.kocman@suse.com>
CVE-2022-32990 CVE-2023-44441 CVE-2023-44442 CVE-2022-32990 CVE-2023-44441 CVE-2023-44442
CVE-2023-44443 CVE-2023-44444 CVE-2023-44443 CVE-2023-44444
bsc#1201192 bsc#1217160 bsc#1217161 bsc#1217162 bsc#1217163 bsc#1201192 bsc#1217160 bsc#1217161 bsc#1217162 bsc#1217163
-------------------------------------------------------------------
Wed Nov 6 22:22:39 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to 3.0.0~RC1
https://www.gimp.org/news/2024/11/06/gimp-3-0-RC1-released/#downloading-gimp-30-rc1
For all the details see the gimp blog and the
/usr/share/doc/packages/gimp/NEWS
This version drops the python 2 support in favor of python3
support.
- drop 11892f1d83ffc465346dab7e2e8c6e790f555a64.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Oct 18 08:15:54 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org> Fri Oct 18 08:15:54 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
@ -22,6 +95,22 @@ Fri Oct 18 08:15:54 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
/usr/bin/gtk-update-icon-cache is present during build, as /usr/bin/gtk-update-icon-cache is present during build, as
configure checks for it. configure checks for it.
-------------------------------------------------------------------
Thu Aug 29 09:44:28 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.99.18
This is the version before the release candidate for gimp 3.0.
https://www.gimp.org/news/2024/02/21/gimp-2-99-18-released/
For all the details see the gimp blog and the
/usr/share/doc/packages/gimp/NEWS
This version drops the python 2 support in favor of python3
support.
- Add 11892f1d83ffc465346dab7e2e8c6e790f555a64.patch
install missing header
- drop fix-gcc14-build.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 21 08:45:44 UTC 2024 - Paolo Stivanin <info@paolostivanin.com> Tue May 21 08:45:44 UTC 2024 - Paolo Stivanin <info@paolostivanin.com>

516
gimp.spec
View File

@ -1,7 +1,7 @@
# #
# spec file for package gimp # spec file for package gimp
# #
# Copyright (c) 2021 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -14,127 +14,220 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
%if %{undefined requires_eq}
%define requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
%global abiver 4 %endif
%global apiver 2.0 %define requires_file() %( readlink -f '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' -f | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
%global gegl_version 0.4.38
%if 0%{?suse_version} >= 1550 %if 0%{?suse_version} >= 1550
%bcond_without libheif %bcond_without libheif
%else %else
%bcond_with libheif %bcond_with libheif
%endif %endif
# --without-jpegxl on SLES 15 SP6 # --without-jpegxl on SLES 15 SP6
%if 0%{?sle_version} && 0%{?sle_version} < 160000 %if 0%{?sle_version} && 0%{?sle_version} < 160000
%bcond_with libjpegxl %bcond_with libjpegxl
%else %else
%bcond_without libjpegxl %bcond_without libjpegxl
%endif %endif
%bcond_with debug_in_build_gimp
%define alsa_version 1.0.0
%define appstream_glib_version 0.7.7
%define atk_version 2.4.0
%define babl_version 0.1.110
%define cairo_version 1.14.0
%define cairo_pdf_version 1.14.0
%define dbus_glib_version 0.70
%define gdk_pixbuf_version 2.30.8
%define fontconfig_version 2.12.4
%define freetype2_version 2.1.7
%define exiv2_version 0.27.4
%define gdk_pixbuf_version 2.30.8
%define gegl_version 0.4.52
%define gexiv2_version 0.14.0
%define glib_version 2.70.0
%define gtk3_version 3.24.0
%define gudev_version 167
%define harfbuzz_version 2.8.2
%define lcms2_version 2.8
%define libexif_version 0.6.15
%define libheif_version 1.15.1
%define liblzma_version 5.0.0
%define libmypaint_version 1.4.0
%define libopenjp2_version 2.1.0
%define libpng_version 1.6.25
%define librsvg_version 2.40.6
%define libunwind_version 1.1.0
%define libwebp_version 0.6.0
%define mypaint_brushes_version 1.3.0
%define OpenEXR_version 1.6.1
%define pango_version 1.50.0
%define poppler_data_version 0.4.9
%define poppler_glib_version 0.69.0
%define vapigen_version 0.40.0
%define libvala_version 0.40.0
%define webkit2gtk_version 2.20.3
%define libtiff_version 4.0.0
%define libjxl_version 0.7.0
# seems lua 5.3 is the latest supported version
%global lua_lgi lua53-lgi
%global abiver 5
%global apiver 3.0
%if 0%{?sle_version} %if 0%{?sle_version}
%bcond_with python_plugin %bcond_with python_plugin
%else %else
%bcond_without python_plugin %bcond_without python_plugin
%endif %endif
%define pkg_name gimp
Name: gimp Name: gimp
Version: 2.10.38 Version: 3.0.0~RC2
Release: 0 Release: 0
%global pkg_version 3.0.0-RC2
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
URL: https://www.gimp.org/ URL: https://www.gimp.org/
Source: https://download.gimp.org/pub/gimp/v2.10/%{name}-%{version}.tar.bz2 Source: https://download.gimp.org/pub/gimp/v3.0/%{pkg_name}-%{pkg_version}.tar.xz
Source1: macros.gimp Source1: macros.gimp
# openSUSE palette file # openSUSE palette file
Source2: openSUSE.gpl Source2: openSUSE.gpl
# PATCH-FIX-UPSTREAM fix-gcc14-build.patch bsc#1223892 # imported from fedora
Patch0: fix-gcc14-build.patch Patch1: gimp-2.99.19-cm-system-monitor-profile-by-default.patch
Patch2: gimp-2.99.19-external-help-browser.patch
Patch3: gimp-2.99.19-no-phone-home-default.patch
Patch4: 33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
Patch5: gdb.patch
%if %{with debug_in_build_gimp}
BuildRequires: gdb
%endif
%if %{with python_plugin}
BuildRequires: python3 >= 3.6.0
BuildRequires: python3-gobject
%endif
BuildRequires: AppStream
BuildRequires: python3-gi-docgen
BuildRequires: meson
# meson looks for it
BuildRequires: cmake
BuildRequires: aalib-devel BuildRequires: aalib-devel
BuildRequires: alsa-devel >= 1.0.0 BuildRequires: flex
BuildRequires: bison
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: fontconfig-devel >= 2.12.4
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdk-pixbuf-loader-rsvg
# For some odd reason build needs gegl executable. # For some odd reason build needs gegl executable.
BuildRequires: gegl >= %{gegl_version} BuildRequires: gegl >= %{gegl_version}
BuildRequires: ghostscript-devel
# Explicitly needed, otherwise ghostscript-mini is used during the # Explicitly needed, otherwise ghostscript-mini is used during the
# build, and it's not enough for gimp. # build, and it's not enough for gimp.
BuildRequires: ghostscript-devel
BuildRequires: ghostscript-library BuildRequires: ghostscript-library
BuildRequires: glib-networking BuildRequires: glib-networking
BuildRequires: gtk-doc
BuildRequires: intltool >= 0.40.1 BuildRequires: intltool >= 0.40.1
BuildRequires: libtiff-devel
BuildRequires: libwmf-devel >= 0.2.8 BuildRequires: libwmf-devel >= 0.2.8
BuildRequires: libxslt-tools %if %{with gimp_lua}
%if %{with libjpegxl} BuildRequires: %{lua_lgi}
BuildRequires: libjxl-devel >= 0.7.0
%endif %endif
BuildRequires: pkgconfig BuildRequires: pkgconfig
%if %{with python_plugin} %if 0%{?suse_version}
BuildRequires: python-gtk-devel >= 2.10.4 BuildRequires: gdk-pixbuf-loader-rsvg
BuildRequires: libxslt-tools
BuildRequires: translation-update-upstream
BuildRequires: update-desktop-files
%endif %endif
%if 0%{?suse_version} >= 1600 %if 0%{?suse_version} >= 1600
BuildRequires: /usr/bin/gtk-update-icon-cache BuildRequires: /usr/bin/gtk-update-icon-cache
%endif %endif
BuildRequires: update-desktop-files BuildRequires: xdg-utils
BuildRequires: pkgconfig(atk) >= 2.2.0 BuildRequires: libbacktrace-devel
BuildRequires: (pkgconfig(babl) or pkgconfig(babl-0.1)) BuildRequires: pkgconfig(cfitsio)
BuildRequires: pkgconfig(libjxl) >= %{libjxl_version}
BuildRequires: pkgconfig(OpenEXR) >= %{OpenEXR_version}
BuildRequires: pkgconfig(alsa) >= %{alsa_version}
BuildRequires: pkgconfig(appstream-glib) >= %{appstream_glib_version}
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(babl-0.1) >= %{babl_version}
BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(cairo) >= 1.12.2 BuildRequires: pkgconfig(cairo) >= %{cairo_version}
BuildRequires: pkgconfig(cairo-pdf) >= 1.12.2 BuildRequires: pkgconfig(cairo-pdf) >= %{cairo_pdf_version}
BuildRequires: pkgconfig(dbus-glib-1) >= 0.70 BuildRequires: pkgconfig(dbus-glib-1) >= %{dbus_glib_version}
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8 BuildRequires: pkgconfig(fontconfig) >= %{fontconfig_version}
BuildRequires: pkgconfig(freetype2) >= %{freetype2_version}
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
BuildRequires: pkgconfig(gegl-0.4) >= %{gegl_version} BuildRequires: pkgconfig(gegl-0.4) >= %{gegl_version}
BuildRequires: pkgconfig(gexiv2) >= 0.10.6 BuildRequires: pkgconfig(gexiv2) >= %{gexiv2_version}
BuildRequires: pkgconfig(glib-2.0) >= 2.56.2 BuildRequires: pkgconfig(gjs-1.0)
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.32 BuildRequires: pkgconfig(glib-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gudev-1.0) >= 167 BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(harfbuzz) >= 0.9.19 BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version}
BuildRequires: pkgconfig(gudev-1.0) >= %{gudev_version}
BuildRequires: pkgconfig(harfbuzz) >= %{harfbuzz_version}
BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(json-glib-1.0) >= 1.2.6 BuildRequires: pkgconfig(lcms2) >= %{lcms2_version}
BuildRequires: pkgconfig(lcms2) >= 2.8 BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libexif) >= 0.6.15 BuildRequires: pkgconfig(libexif) >= %{libexif_version}
%if %{with libheif} %if %{with libheif}
BuildRequires: pkgconfig(libheif) >= 1.3.2 BuildRequires: pkgconfig(libheif) >= %{libheif_version}
%endif %endif
BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(liblzma) >= 5.0.0 BuildRequires: pkgconfig(liblzma) >= %{liblzma_version}
BuildRequires: pkgconfig(libmng) BuildRequires: pkgconfig(libmng)
BuildRequires: pkgconfig(libmypaint) >= 1.3.0 BuildRequires: pkgconfig(libmypaint) >= %{libmypaint_version}
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0 BuildRequires: pkgconfig(libopenjp2) >= %{libopenjp2_version}
BuildRequires: pkgconfig(libpng) >= 1.6.25 BuildRequires: pkgconfig(libpng) >= %{libpng_version}
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6 BuildRequires: pkgconfig(librsvg-2.0) >= %{librsvg_version}
BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libtiff-4) >= %{libtiff_version}
BuildRequires: pkgconfig(libwebp) >= 0.6.0 BuildRequires: pkgconfig(libunwind) >= %{libunwind_version}
BuildRequires: pkgconfig(xmu) BuildRequires: pkgconfig(libwebp) >= %{libwebp_version}
BuildRequires: pkgconfig(mypaint-brushes-1.0) BuildRequires: pkgconfig(mypaint-brushes-1.0) >= %{mypaint_brushes_version}
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1 BuildRequires: pkgconfig(pango) >= %{pango_version}
BuildRequires: pkgconfig(pango) >= 1.29.4 BuildRequires: pkgconfig(poppler-data) >= %{poppler_data_version}
BuildRequires: pkgconfig(poppler-data) >= 0.4.7 BuildRequires: pkgconfig(poppler-glib) >= %{poppler_glib_version}
BuildRequires: pkgconfig(poppler-glib) >= 0.44.0 BuildRequires: pkgconfig(shared-mime-info)
BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(vapigen) >= %{vapigen_version}
BuildRequires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk_version}
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
BuildRequires: xdg-utils BuildRequires: python3 >= 3.6.0
# obs does not automaticaly add this BuildRequires: python3-gobject
Requires: libglib-2_0-0 >= 2.54.2 BuildRequires: typelib-1_0-Babl-0_1 >= %{babl_version}
Requires: libgexiv2-2 >= 0.10.6 BuildRequires: typelib-1_0-Gegl-0_4 >= %{gegl_version}
Requires: libbabl-0_1-0 >= 0.1.78 %requires_eq gegl-0_4
Requires: gjs
# Explicitly declare the libgimp versions for upgrade purposes # Explicitly declare the libgimp versions for upgrade purposes
Requires: libgimp-2_0-0 = %{version} Requires: libgimp-3_0-0 = %{version}
Requires: libgimpui-2_0-0 = %{version} Requires: libgimpui-3_0-0 = %{version}
%if %{with gimp_lua}
Requires: %{lua_lgi}
%endif
Requires: shared-mime-info
Requires: xdg-utils Requires: xdg-utils
Requires: typelib-1_0-Babl-0_1 >= %{babl_version}
Requires: typelib-1_0-Gegl-0_4 >= %{gegl_version}
Recommends: %{name}-plugins-python3 = %{version}
Recommends: iso-codes Recommends: iso-codes
Suggests: AdobeICCProfiles Suggests: AdobeICCProfiles
Suggests: gimp-2.0-scanner-plugin # TODO: Suggests: gimp-2.0-scanner-plugin
Obsoletes: %{name}-help-browser Obsoletes: %{name}-help-browser
Provides: gimp-2.0 = %{version} Provides: gimp-3.0 = %{version}
Provides: gimp(abi) = %{abiver} Provides: gimp(abi) = %{abiver}
Provides: gimp(api) = %{apiver} Provides: gimp(api) = %{apiver}
%if "%{name}" != "%{pkg_name}"
Conflicts: gimp
%endif
%description %description
The GIMP is an image composition and editing program, which can be The GIMP is an image composition and editing program, which can be
@ -145,24 +238,26 @@ effects, subpixel imaging and antialiasing, and conversions, together
with multilevel undo. The GIMP offers a scripting facility, but many with multilevel undo. The GIMP offers a scripting facility, but many
of the included scripts rely on fonts that we cannot distribute. of the included scripts rely on fonts that we cannot distribute.
%package -n libgimp-2_0-0 %package -n libgimp-3_0-0
Summary: The GNU Image Manipulation Program - Libraries Summary: The GNU Image Manipulation Program - Libraries
Group: System/Libraries Group: System/Libraries
%requires_ge libbabl-0_1-0
%requires_ge libgegl-0_4-0
%description -n libgimp-2_0-0 %requires_file %{_libdir}/libbabl-0.1.so
%requires_file %{_libdir}/libgegl-0.4.so
%requires_file %{_libdir}/libgexiv2.so
%description -n libgimp-3_0-0
The GIMP is an image composition and editing program. GIMP offers The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation many tools and filters, and provides a large image manipulation
toolbox and scripting. toolbox and scripting.
This package provides GIMP libraries. This package provides GIMP libraries.
%package -n libgimpui-2_0-0 %package -n libgimpui-3_0-0
Summary: The GNU Image Manipulation Program - UI Libraries Summary: The GNU Image Manipulation Program - UI Libraries
Group: System/Libraries Group: System/Libraries
%description -n libgimpui-2_0-0 %description -n libgimpui-3_0-0
The GIMP is an image composition and editing program. GIMP offers The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation many tools and filters, and provides a large image manipulation
toolbox and scripting. toolbox and scripting.
@ -170,29 +265,39 @@ toolbox and scripting.
This package provides GIMP UI libraries. This package provides GIMP UI libraries.
%if %{with python_plugin} %if %{with python_plugin}
%package plugins-python %package plugin-python3
Summary: The GNU Image Manipulation Program - python-gtk based plugins Summary: The GNU Image Manipulation Program - python3 goject introspection plugins
Group: Productivity/Graphics/Bitmap Editors Group: Productivity/Graphics/Bitmap Editors
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: python-gtk Requires: python3 >= 3.6.0
Recommends: python-xml Requires: python3-gobject
Provides: gimp-2.0-plugins-python = %{version} Provides: gimp-3.0-plugin-python3 = %{version}-%{release}
Obsoletes: gimp-unstable-plugins-python < 2.6.0 Supplements: %{name}
# For update from <= 10.3 and SLED 10: Provides: gimp-plugins-python3 = %{version}-%{release}
Provides: %{name}:%{_libdir}/gimp/2.0/plug-ins/pyconsole.py = %{version} Obsoletes: gimp-plugins-python3 < %{version}-%{release}
%description plugin-python3
%description plugins-python
The GIMP is an image composition and editing program. GIMP offers The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation many tools and filters, and provides a large image manipulation
toolbox and scripting. toolbox and scripting.
%endif %endif
%package vala
Summary: The GNU Image Manipulation Program - Vala development files
Group: Productivity/Graphics/Bitmap Editors
Requires: %{name}-devel = %{version}
Provides: gimp-3.0-vala = %{version}-%{release}
%description vala
The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation
toolbox and scripting.
%package plugin-aa %package plugin-aa
Summary: The GNU Image Manipulation Program -- ASCII-Art output plugin Summary: The GNU Image Manipulation Program -- ASCII-Art output plugin
Group: Productivity/Graphics/Bitmap Editors Group: Productivity/Graphics/Bitmap Editors
Requires: %{name} = %{version} Requires: %{name} = %{version}
# Let's trigger automatic installation if the user already has libaa installed. # Let's trigger automatic installation if the user already has libaa installed.
Supplements: packageand(%{name}:libaa1) Supplements: (%{name} and libaa1)
Provides: gimp-3.0-plugin-aa = %{version}-%{release}
%description plugin-aa %description plugin-aa
The GIMP is an image composition and editing program. GIMP offers The GIMP is an image composition and editing program. GIMP offers
@ -202,9 +307,9 @@ toolbox and scripting.
%package devel %package devel
Summary: The GNU Image Manipulation Program Summary: The GNU Image Manipulation Program
Group: Development/Libraries/Other Group: Development/Libraries/Other
Requires: libgimp-2_0-0 = %{version} Requires: libgimp-3_0-0 = %{version}
Requires: libgimpui-2_0-0 = %{version} Requires: libgimpui-3_0-0 = %{version}
Provides: gimp-2.0-devel = %{version} Provides: gimp-3.0-devel = %{version}
Provides: gimp-doc = 2.6.4 Provides: gimp-doc = 2.6.4
Obsoletes: gimp-doc < 2.6.4 Obsoletes: gimp-doc < 2.6.4
Obsoletes: gimp-unstable-devel < 2.6.0 Obsoletes: gimp-unstable-devel < 2.6.0
@ -217,172 +322,225 @@ toolbox and scripting.
This subpackage contains libraries and header files for developing This subpackage contains libraries and header files for developing
applications that want to make use of the GIMP libraries. applications that want to make use of the GIMP libraries.
%package extension-goat-excercises
Summary: The GNU Image Manipulation Program
Group: Development/Libraries/Other
Requires: libgimpui-3_0-0 = %{version}
Requires: gimp-3.0-vala = %{version}
Requires: gimp-3.0-devel = %{version}
Requires: gimp-3.0-plugin-python3 = %{version}
%description extension-goat-excercises
The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation
toolbox and scripting.
This subpackage contains example the goat extension examples
that extend gimp.
%lang_package %lang_package
%prep %prep
%autosetup -p1 %autosetup -p1 -n %{pkg_name}-%{pkg_version}
%build
export LC_ALL=en_US.UTF-8 export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
%if 0%{?suse_version} && %{with translation_update}
translation-update-upstream
translation-update-upstream po-libgimp gimp30-libgimp
translation-update-upstream po-python gimp30-python
translation-update-upstream po-script-fu gimp30-script-fu
translation-update-upstream po-plug-ins gimp30-std-plug-ins
translation-update-upstream po-tips gimp30-tips
%endif
%meson \
-Drelocatable-bundle=platform-default \
-Denable-multiproc=true \
-Denable-console-bin=true \
-Dcheck-update=no \
-Dbug-report-url=https://bugzilla.opensuse.org/ \
-Dgi-docgen=disabled \
-Dilbm=disabled \
%if %{with with_headless_tests}
-Dheadless-tests=enabled \
%else
-Dheadless-tests=disabled \
%endif
%{nil}
# Safety check for ABI version change. # Safety check for ABI version change.
vabi=`printf "%d" $(sed -n '/#define GIMP_MODULE_ABI_VERSION/{s/.* //;p}' libgimpmodule/gimpmodule.h)` vabi=$(printf "%%d" $(sed -n '/#define GIMP_MODULE_ABI_VERSION/{s/.* //;p}' libgimpmodule/gimpmodule.h))
if test "x${vabi}" != "x%{abiver}"; then if test "x${vabi}" != "x%{abiver}"; then
: Error: Upstream ABI version is now ${vabi}, expecting %{abiver}. : Error: Upstream ABI version is now ${vabi}, expecting %{abiver}.
: Update the apiver macro and rebuild. : Update the apiver macro and rebuild.
exit 1 exit 1
fi fi
# Safety check for API version change. # Safety check for API version change.
vapi=`sed -n '/#define GIMP_API_VERSION/{s/.* //;p}' libgimpbase/gimpversion.h | sed -e 's@"@@g'` vapi=$(sed -n '/#define GIMP_API_VERSION/{s/.* //;p}' */libgimpbase/gimpversion.h | sed -e 's@"@@g')
if test "x${vapi}" != "x%{apiver}"; then if test "x${vapi}" != "x%{apiver}"; then
: Error: Upstream API version is now ${vapi}, expecting %{apiver}. : Error: Upstream API version is now ${vapi}, expecting %{apiver}.
: Update the apiver macro and rebuild. : Update the apiver macro and rebuild.
exit 1 exit 1
fi fi
%build %meson_build
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export CFLAGS="%{optflags} -fno-strict-aliasing"
%configure \
--disable-silent-rules \
--disable-static\
--without-webkit\
--with-lcms=lcms2\
%{!?with_python_plugin:--disable-python} \
--libexecdir=%{_libexecdir}\
--enable-default-binary\
--disable-check-update\
%if %{without libjpegxl}
--without-jpegxl\
%endif
--enable-mp
%make_build
%install %install
%make_install %meson_install
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/gimp/2.0/palettes
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/gimp/3.0/palettes
%if 0%{?suse_version}
%suse_update_desktop_file -N GIMP gimp %suse_update_desktop_file -N GIMP gimp
rm %{buildroot}%{_libdir}/gimp/2.0/*/*.*a %endif
%find_lang gimp20 %{?no_lang_C}
%find_lang gimp20-libgimp %{?no_lang_C} gimp20.lang touch gimp_all_parts.lang
%find_lang gimp20-python %{?no_lang_C} gimp20.lang
%find_lang gimp20-script-fu %{?no_lang_C} gimp20.lang for lang_part in gimp30 gimp30-libgimp gimp30-python gimp30-script-fu gimp30-std-plug-ins ; do
%find_lang gimp20-std-plug-ins %{?no_lang_C} gimp20.lang %find_lang ${lang_part} %{?no_lang_C} ${lang_part}.lang
cat ${lang_part}.lang >> gimp_all_parts.lang
done
echo "%%defattr(-,root,root)" >plugins.list echo "%%defattr(-,root,root)" >plugins.list
echo "%%defattr(-,root,root)" >plugins-python.list echo "%%defattr(-,root,root)" >plugins-python.list
for PLUGIN in %{buildroot}%{_libdir}/gimp/2.0/plug-ins/* ; do
if grep -qr '^#!.*python' $PLUGIN ; then for PLUGIN in %{buildroot}%{_libdir}/gimp/3.0/plug-ins/* ; do
if grep -q '^#!.*python' ${PLUGIN}/* ; then
echo "${PLUGIN#%{buildroot}}" >>plugins-python.list echo "${PLUGIN#%{buildroot}}" >>plugins-python.list
else else
echo "${PLUGIN#%{buildroot}}" >>plugins.list echo "${PLUGIN#%{buildroot}}" >>plugins.list
fi fi
done done
%if ! 0%{?suse_version}
cat gimp_all_parts.lang >> plugins.list
%endif
find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -type f -name "*.la" -delete -print
# Install the macros file: # Install the macros file:
install -d %{buildroot}%{_rpmmacrodir} install -d %{buildroot}%{_rpmmacrodir}
sed -e "s/@GIMP_APIVER@/%{apiver}/;s/@GIMP_ABIVER@/%{abiver}/" \ sed -e "s/@GIMP_APIVER@/%{apiver}/;s/@GIMP_ABIVER@/%{abiver}/" \
< $RPM_SOURCE_DIR/macros.gimp > macros.gimp < $RPM_SOURCE_DIR/macros.gimp > macros.gimp
install -m 644 -c macros.gimp \ install -m 644 -c macros.gimp \
%{buildroot}%{_rpmmacrodir}/macros.gimp %{buildroot}%{_rpmmacrodir}/macros.gimp
%fdupes %{buildroot}%{_datadir}/gtk-doc/
%fdupes %{buildroot}%{_libdir}/gimp/2.0/python/
%fdupes %{buildroot}%{_datadir}/gimp/2.0/
%post -n libgimp-2_0-0 -p /sbin/ldconfig %fdupes %{buildroot}%{_datadir}/gtk-doc/
%postun -n libgimp-2_0-0 -p /sbin/ldconfig %fdupes %{buildroot}%{_libdir}/gimp/3.0/python/
%post -n libgimpui-2_0-0 -p /sbin/ldconfig %fdupes %{buildroot}%{_datadir}/gimp/3.0/
%postun -n libgimpui-2_0-0 -p /sbin/ldconfig
%post -n libgimp-3_0-0 -p /sbin/ldconfig
%postun -n libgimp-3_0-0 -p /sbin/ldconfig
%post -n libgimpui-3_0-0 -p /sbin/ldconfig
%postun -n libgimpui-3_0-0 -p /sbin/ldconfig
%files -f plugins.list %files -f plugins.list
%license COPYING LICENSE %license COPYING LICENSE
%doc AUTHORS ChangeLog NEWS* README %doc AUTHORS NEWS* README MAINTAINERS
%{_bindir}/gimp %{_bindir}/gimp
%{_bindir}/gimp-2.* %{_bindir}/gimp-3*
%{_bindir}/gimp-console %{_bindir}/gimp-console
%{_bindir}/gimp-console-2.* %{_bindir}/gimp-console-3*
%{_bindir}/gimp-script-fu-interpreter-3.0
# should this maybe be in _libexecdir too? # should this maybe be in _libexecdir too?
%{_bindir}/gimp-test-clipboard-2.0 %{_bindir}/gimp-test-clipboard*
%{_libexecdir}/gimp-debug-tool-2.0 %{_libexecdir}/gimp-debug-tool*
%dir %{_datadir}/metainfo %dir %{_datadir}/metainfo
%{_datadir}/metainfo/gimp-data-extras.metainfo.xml
%{_datadir}/metainfo/org.gimp.GIMP.appdata.xml %{_datadir}/metainfo/org.gimp.GIMP.appdata.xml
%{_datadir}/applications/gimp.desktop %{_datadir}/applications/gimp.desktop
%{_datadir}/icons/hicolor/*/apps/*.png %{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/*/apps/*.svg
%{_datadir}/gimp/ %{_datadir}/gimp/
%{_datadir}/gimp/2.0/images/gimp-splash.png %{_libdir}/gimp/3.0/environ/default.env
%{_libdir}/gimp/2.0/environ/default.env %{_libdir}/gimp/3.0/interpreters/default.interp
%{_libdir}/gimp/2.0/interpreters/default.interp %if %{with gimp_lua}
%{_libdir}/gimp/3.0/interpreters/lua.interp
%endif
# Explicitly list modules so we don't lose one by accident # Explicitly list modules so we don't lose one by accident
%{_libdir}/gimp/2.0/modules/libcolor-selector-cmyk.so %{_libdir}/gimp/3.0/modules/libcolor-selector-cmyk.so
%{_libdir}/gimp/2.0/modules/libcolor-selector-water.so %{_libdir}/gimp/3.0/modules/libcolor-selector-water.so
%{_libdir}/gimp/2.0/modules/libcolor-selector-wheel.so %{_libdir}/gimp/3.0/modules/libcolor-selector-wheel.so
%{_libdir}/gimp/2.0/modules/libcontroller-linux-input.so %{_libdir}/gimp/3.0/modules/libcontroller-linux-input.so
%{_libdir}/gimp/2.0/modules/libcontroller-midi.so %{_libdir}/gimp/3.0/modules/libcontroller-midi.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-color-blind.so %{_libdir}/gimp/3.0/modules/libdisplay-filter-aces-rrt.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-gamma.so %{_libdir}/gimp/3.0/modules/libdisplay-filter-clip-warning.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-high-contrast.so %{_libdir}/gimp/3.0/modules/libdisplay-filter-color-blind.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-clip-warning.so %{_libdir}/gimp/3.0/modules/libdisplay-filter-gamma.so
%{_libdir}/gimp/3.0/modules/libdisplay-filter-high-contrast.so
%{_mandir}/man?/gimp.* %{_mandir}/man?/gimp.*
%{_mandir}/man?/gimp-2.* %{_mandir}/man?/gimp-3*
%{_mandir}/man?/gimp-console.* %{_mandir}/man?/gimp-console.*
%{_mandir}/man?/gimp-console-2.* %{_mandir}/man?/gimp-console-3*
%{_mandir}/man?/gimprc.* %{_mandir}/man?/gimprc.*
%{_mandir}/man?/gimprc-2.* %{_mandir}/man?/gimprc-3*
%{_mandir}/man?/gimptool-2.*
%dir %{_sysconfdir}/gimp %dir %{_sysconfdir}/gimp
%dir %{_sysconfdir}/gimp/2.0 %dir %{_sysconfdir}/gimp/3.0
%config %{_sysconfdir}/gimp/2.0/*rc %config %{_sysconfdir}/gimp/3.0/*rc
# split file-aa into own package (bnc#851509 %config %{_sysconfdir}/gimp/3.0/*css
%exclude %{_libdir}/gimp/2.0/plug-ins/file-aa # split file-aa into own package (bnc#851509)
%exclude %{_libdir}/gimp/3.0/plug-ins/file-aa
%{_libdir}/girepository-1.0/Gimp-3.0.typelib
%{_libdir}/girepository-1.0/GimpUi-3.0.typelib
%files plugin-aa %files plugin-aa
%{_libdir}/gimp/2.0/plug-ins/file-aa %{_libdir}/gimp/3.0/plug-ins/file-aa
%files -n libgimp-2_0-0 %files -n libgimp-3_0-0
%dir %{_datadir}/gimp %dir %{_datadir}/gimp
%dir %{_datadir}/gimp/2.0 %dir %{_datadir}/gimp/3.0
%dir %{_libdir}/gimp %dir %{_libdir}/gimp
%dir %{_libdir}/gimp/2.0 %dir %{_libdir}/gimp/3.0
%dir %{_libdir}/gimp/2.0/environ %dir %{_libdir}/gimp/3.0/environ
%dir %{_libdir}/gimp/2.0/interpreters %dir %{_libdir}/gimp/3.0/interpreters
%dir %{_libdir}/gimp/2.0/modules %dir %{_libdir}/gimp/3.0/modules
%dir %{_libdir}/gimp/2.0/plug-ins %dir %{_libdir}/gimp/3.0/plug-ins
%{_libdir}/libgimp-2.0.so.* %dir %{_libdir}/gimp/3.0/extensions
%{_libdir}/libgimpbase-2.0.so.* %{_libdir}/libgimp-3.0.so.*
%{_libdir}/libgimpcolor-2.0.so.* %{_libdir}/libgimpbase-3.0.so.*
%{_libdir}/libgimpconfig-2.0.so.* %{_libdir}/libgimpcolor-3.0.so.*
%{_libdir}/libgimpmath-2.0.so.* %{_libdir}/libgimpconfig-3.0.so.*
%{_libdir}/libgimpmodule-2.0.so.* %{_libdir}/libgimpmath-3.0.so.*
%{_libdir}/libgimpmodule-3.0.so.*
%{_libdir}/libgimp-scriptfu-3.0.so.*
%files -n libgimpui-2_0-0 %files -n libgimpui-3_0-0
%{_libdir}/libgimpthumb-2.0.so.* %{_libdir}/libgimpthumb-3.0.so.*
%{_libdir}/libgimpui-2.0.so.* %{_libdir}/libgimpui-3.0.so.*
%{_libdir}/libgimpwidgets-2.0.so.* %{_libdir}/libgimpwidgets-3.0.so.*
%if %{with python_plugin} %if %{with python_plugin}
%files plugins-python -f plugins-python.list %files plugin-python3 -f plugins-python.list
%{_libdir}/gimp/2.0/environ/pygimp.env %{_libdir}/gimp/3.0/environ/python.env
%{_libdir}/gimp/2.0/interpreters/pygimp.interp
%{_libdir}/gimp/2.0/python/
# FIXME: Maybe split gimp-lang and gimp-plugins-python-lang
%endif %endif
%files lang -f gimp20.lang %files vala
%{_datadir}/vala/vapi/gimp-3.0.deps
%{_datadir}/vala/vapi/gimp-3.0.vapi
%{_datadir}/vala/vapi/gimp-ui-3.0.deps
%{_datadir}/vala/vapi/gimp-ui-3.0.vapi
# FIXME: Maybe split gimp-lang and gimp-plugins-python-lang
%files lang -f gimp_all_parts.lang
%files devel %files devel
%doc README.i18n %doc README.i18n
%{_bindir}/gimptool-2.0 %{_bindir}/gimptool*
#{_mandir}/man?/gimptool-2.0%%{?ext_man} %{_includedir}/gimp-3.0/
%{_includedir}/gimp-2.0/
%{_libdir}/*.so %{_libdir}/*.so
%{_datadir}/aclocal/gimp-2.0.m4 %{_libdir}/pkgconfig/gimp-3.0.pc
%{_libdir}/pkgconfig/gimp-2.0.pc %{_libdir}/pkgconfig/gimpthumb-3.0.pc
%{_libdir}/pkgconfig/gimpthumb-2.0.pc %{_libdir}/pkgconfig/gimpui-3.0.pc
%{_libdir}/pkgconfig/gimpui-2.0.pc
# Own these repositories to not depend on gtk-doc while building:
%dir %{_datadir}/gtk-doc
%{_datadir}/gtk-doc/html/
%{_rpmmacrodir}/macros.gimp %{_rpmmacrodir}/macros.gimp
%{_datadir}/gir-1.0/Gimp-3.0.gir
%{_datadir}/gir-1.0/GimpUi-3.0.gir
%{_mandir}/man1/gimptool*.1*
%files extension-goat-excercises
%{_libdir}/gimp/3.0/extensions/org.gimp.extension.goat-exercises
%dir %{_libdir}/gimp/3.0/extensions/org.gimp.extension.goat-exercises/locale/*/
%dir %{_libdir}/gimp/3.0/extensions/org.gimp.extension.goat-exercises/locale/*/*/
%changelog %changelog