- 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/package/show/graphics/gimp?expand=0&rev=79
This commit is contained in:
2025-01-14 08:52:56 +00:00
committed by Git OBS Bridge
parent e98ca8b0fb
commit 13e926c752
10 changed files with 592 additions and 208 deletions

516
gimp.spec
View File

@@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@@ -14,127 +14,220 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global abiver 4
%global apiver 2.0
%global gegl_version 0.4.38
%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")
%endif
%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")
%if 0%{?suse_version} >= 1550
%bcond_without libheif
%else
%bcond_with libheif
%endif
# --without-jpegxl on SLES 15 SP6
%if 0%{?sle_version} && 0%{?sle_version} < 160000
%bcond_with libjpegxl
%else
%bcond_without libjpegxl
%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}
%bcond_with python_plugin
%else
%bcond_without python_plugin
%endif
%define pkg_name gimp
Name: gimp
Version: 2.10.38
Version: 3.0.0~RC2
Release: 0
%global pkg_version 3.0.0-RC2
Summary: The GNU Image Manipulation Program
License: GPL-3.0-or-later
Group: Productivity/Graphics/Bitmap Editors
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
# openSUSE palette file
Source2: openSUSE.gpl
# PATCH-FIX-UPSTREAM fix-gcc14-build.patch bsc#1223892
Patch0: fix-gcc14-build.patch
# imported from fedora
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: alsa-devel >= 1.0.0
BuildRequires: flex
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: fontconfig-devel >= 2.12.4
BuildRequires: gcc-c++
BuildRequires: gdk-pixbuf-loader-rsvg
# For some odd reason build needs gegl executable.
BuildRequires: gegl >= %{gegl_version}
BuildRequires: ghostscript-devel
# Explicitly needed, otherwise ghostscript-mini is used during the
# build, and it's not enough for gimp.
BuildRequires: ghostscript-devel
BuildRequires: ghostscript-library
BuildRequires: glib-networking
BuildRequires: gtk-doc
BuildRequires: intltool >= 0.40.1
BuildRequires: libtiff-devel
BuildRequires: libwmf-devel >= 0.2.8
BuildRequires: libxslt-tools
%if %{with libjpegxl}
BuildRequires: libjxl-devel >= 0.7.0
%if %{with gimp_lua}
BuildRequires: %{lua_lgi}
%endif
BuildRequires: pkgconfig
%if %{with python_plugin}
BuildRequires: python-gtk-devel >= 2.10.4
%if 0%{?suse_version}
BuildRequires: gdk-pixbuf-loader-rsvg
BuildRequires: libxslt-tools
BuildRequires: translation-update-upstream
BuildRequires: update-desktop-files
%endif
%if 0%{?suse_version} >= 1600
BuildRequires: /usr/bin/gtk-update-icon-cache
%endif
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(atk) >= 2.2.0
BuildRequires: (pkgconfig(babl) or pkgconfig(babl-0.1))
BuildRequires: xdg-utils
BuildRequires: libbacktrace-devel
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(cairo) >= 1.12.2
BuildRequires: pkgconfig(cairo-pdf) >= 1.12.2
BuildRequires: pkgconfig(dbus-glib-1) >= 0.70
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
BuildRequires: pkgconfig(cairo-pdf) >= %{cairo_pdf_version}
BuildRequires: pkgconfig(dbus-glib-1) >= %{dbus_glib_version}
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(gexiv2) >= 0.10.6
BuildRequires: pkgconfig(glib-2.0) >= 2.56.2
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.32
BuildRequires: pkgconfig(gudev-1.0) >= 167
BuildRequires: pkgconfig(harfbuzz) >= 0.9.19
BuildRequires: pkgconfig(gexiv2) >= %{gexiv2_version}
BuildRequires: pkgconfig(gjs-1.0)
BuildRequires: pkgconfig(glib-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gobject-introspection-1.0)
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(json-glib-1.0) >= 1.2.6
BuildRequires: pkgconfig(lcms2) >= 2.8
BuildRequires: pkgconfig(libexif) >= 0.6.15
BuildRequires: pkgconfig(lcms2) >= %{lcms2_version}
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libexif) >= %{libexif_version}
%if %{with libheif}
BuildRequires: pkgconfig(libheif) >= 1.3.2
BuildRequires: pkgconfig(libheif) >= %{libheif_version}
%endif
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(liblzma) >= 5.0.0
BuildRequires: pkgconfig(liblzma) >= %{liblzma_version}
BuildRequires: pkgconfig(libmng)
BuildRequires: pkgconfig(libmypaint) >= 1.3.0
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
BuildRequires: pkgconfig(libpng) >= 1.6.25
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6
BuildRequires: pkgconfig(libunwind)
BuildRequires: pkgconfig(libwebp) >= 0.6.0
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(mypaint-brushes-1.0)
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1
BuildRequires: pkgconfig(pango) >= 1.29.4
BuildRequires: pkgconfig(poppler-data) >= 0.4.7
BuildRequires: pkgconfig(poppler-glib) >= 0.44.0
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libmypaint) >= %{libmypaint_version}
BuildRequires: pkgconfig(libopenjp2) >= %{libopenjp2_version}
BuildRequires: pkgconfig(libpng) >= %{libpng_version}
BuildRequires: pkgconfig(librsvg-2.0) >= %{librsvg_version}
BuildRequires: pkgconfig(libtiff-4) >= %{libtiff_version}
BuildRequires: pkgconfig(libunwind) >= %{libunwind_version}
BuildRequires: pkgconfig(libwebp) >= %{libwebp_version}
BuildRequires: pkgconfig(mypaint-brushes-1.0) >= %{mypaint_brushes_version}
BuildRequires: pkgconfig(pango) >= %{pango_version}
BuildRequires: pkgconfig(poppler-data) >= %{poppler_data_version}
BuildRequires: pkgconfig(poppler-glib) >= %{poppler_glib_version}
BuildRequires: pkgconfig(shared-mime-info)
BuildRequires: pkgconfig(vapigen) >= %{vapigen_version}
BuildRequires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk_version}
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(zlib)
BuildRequires: xdg-utils
# obs does not automaticaly add this
Requires: libglib-2_0-0 >= 2.54.2
Requires: libgexiv2-2 >= 0.10.6
Requires: libbabl-0_1-0 >= 0.1.78
BuildRequires: python3 >= 3.6.0
BuildRequires: python3-gobject
BuildRequires: typelib-1_0-Babl-0_1 >= %{babl_version}
BuildRequires: typelib-1_0-Gegl-0_4 >= %{gegl_version}
%requires_eq gegl-0_4
Requires: gjs
# Explicitly declare the libgimp versions for upgrade purposes
Requires: libgimp-2_0-0 = %{version}
Requires: libgimpui-2_0-0 = %{version}
Requires: libgimp-3_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: 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
Suggests: AdobeICCProfiles
Suggests: gimp-2.0-scanner-plugin
# TODO: Suggests: gimp-2.0-scanner-plugin
Obsoletes: %{name}-help-browser
Provides: gimp-2.0 = %{version}
Provides: gimp-3.0 = %{version}
Provides: gimp(abi) = %{abiver}
Provides: gimp(api) = %{apiver}
%if "%{name}" != "%{pkg_name}"
Conflicts: gimp
%endif
%description
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
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
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
many tools and filters, and provides a large image manipulation
toolbox and scripting.
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
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
many tools and filters, and provides a large image manipulation
toolbox and scripting.
@@ -170,29 +265,39 @@ toolbox and scripting.
This package provides GIMP UI libraries.
%if %{with python_plugin}
%package plugins-python
Summary: The GNU Image Manipulation Program - python-gtk based plugins
%package plugin-python3
Summary: The GNU Image Manipulation Program - python3 goject introspection plugins
Group: Productivity/Graphics/Bitmap Editors
Requires: %{name} = %{version}
Requires: python-gtk
Recommends: python-xml
Provides: gimp-2.0-plugins-python = %{version}
Obsoletes: gimp-unstable-plugins-python < 2.6.0
# For update from <= 10.3 and SLED 10:
Provides: %{name}:%{_libdir}/gimp/2.0/plug-ins/pyconsole.py = %{version}
%description plugins-python
Requires: python3 >= 3.6.0
Requires: python3-gobject
Provides: gimp-3.0-plugin-python3 = %{version}-%{release}
Supplements: %{name}
Provides: gimp-plugins-python3 = %{version}-%{release}
Obsoletes: gimp-plugins-python3 < %{version}-%{release}
%description plugin-python3
The GIMP is an image composition and editing program. GIMP offers
many tools and filters, and provides a large image manipulation
toolbox and scripting.
%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
Summary: The GNU Image Manipulation Program -- ASCII-Art output plugin
Group: Productivity/Graphics/Bitmap Editors
Requires: %{name} = %{version}
# 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
The GIMP is an image composition and editing program. GIMP offers
@@ -202,9 +307,9 @@ toolbox and scripting.
%package devel
Summary: The GNU Image Manipulation Program
Group: Development/Libraries/Other
Requires: libgimp-2_0-0 = %{version}
Requires: libgimpui-2_0-0 = %{version}
Provides: gimp-2.0-devel = %{version}
Requires: libgimp-3_0-0 = %{version}
Requires: libgimpui-3_0-0 = %{version}
Provides: gimp-3.0-devel = %{version}
Provides: gimp-doc = 2.6.4
Obsoletes: gimp-doc < 2.6.4
Obsoletes: gimp-unstable-devel < 2.6.0
@@ -217,172 +322,225 @@ toolbox and scripting.
This subpackage contains libraries and header files for developing
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
%prep
%autosetup -p1
%autosetup -p1 -n %{pkg_name}-%{pkg_version}
%build
export LC_ALL=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.
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
: Error: Upstream ABI version is now ${vabi}, expecting %{abiver}.
: Update the apiver macro and rebuild.
exit 1
fi
# 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
: Error: Upstream API version is now ${vapi}, expecting %{apiver}.
: Update the apiver macro and rebuild.
exit 1
fi
%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
%meson_build
%install
%make_install
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/gimp/2.0/palettes
%meson_install
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/gimp/3.0/palettes
%if 0%{?suse_version}
%suse_update_desktop_file -N GIMP gimp
rm %{buildroot}%{_libdir}/gimp/2.0/*/*.*a
%find_lang gimp20 %{?no_lang_C}
%find_lang gimp20-libgimp %{?no_lang_C} gimp20.lang
%find_lang gimp20-python %{?no_lang_C} gimp20.lang
%find_lang gimp20-script-fu %{?no_lang_C} gimp20.lang
%find_lang gimp20-std-plug-ins %{?no_lang_C} gimp20.lang
%endif
touch gimp_all_parts.lang
for lang_part in gimp30 gimp30-libgimp gimp30-python gimp30-script-fu gimp30-std-plug-ins ; do
%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-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
else
echo "${PLUGIN#%{buildroot}}" >>plugins.list
fi
done
%if ! 0%{?suse_version}
cat gimp_all_parts.lang >> plugins.list
%endif
find %{buildroot} -type f -name "*.la" -delete -print
# Install the macros file:
install -d %{buildroot}%{_rpmmacrodir}
sed -e "s/@GIMP_APIVER@/%{apiver}/;s/@GIMP_ABIVER@/%{abiver}/" \
< $RPM_SOURCE_DIR/macros.gimp > macros.gimp
install -m 644 -c 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
%postun -n libgimp-2_0-0 -p /sbin/ldconfig
%post -n libgimpui-2_0-0 -p /sbin/ldconfig
%postun -n libgimpui-2_0-0 -p /sbin/ldconfig
%fdupes %{buildroot}%{_datadir}/gtk-doc/
%fdupes %{buildroot}%{_libdir}/gimp/3.0/python/
%fdupes %{buildroot}%{_datadir}/gimp/3.0/
%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
%license COPYING LICENSE
%doc AUTHORS ChangeLog NEWS* README
%doc AUTHORS NEWS* README MAINTAINERS
%{_bindir}/gimp
%{_bindir}/gimp-2.*
%{_bindir}/gimp-3*
%{_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?
%{_bindir}/gimp-test-clipboard-2.0
%{_libexecdir}/gimp-debug-tool-2.0
%{_bindir}/gimp-test-clipboard*
%{_libexecdir}/gimp-debug-tool*
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/gimp-data-extras.metainfo.xml
%{_datadir}/metainfo/org.gimp.GIMP.appdata.xml
%{_datadir}/applications/gimp.desktop
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/*/apps/*.svg
%{_datadir}/gimp/
%{_datadir}/gimp/2.0/images/gimp-splash.png
%{_libdir}/gimp/2.0/environ/default.env
%{_libdir}/gimp/2.0/interpreters/default.interp
%{_libdir}/gimp/3.0/environ/default.env
%{_libdir}/gimp/3.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
%{_libdir}/gimp/2.0/modules/libcolor-selector-cmyk.so
%{_libdir}/gimp/2.0/modules/libcolor-selector-water.so
%{_libdir}/gimp/2.0/modules/libcolor-selector-wheel.so
%{_libdir}/gimp/2.0/modules/libcontroller-linux-input.so
%{_libdir}/gimp/2.0/modules/libcontroller-midi.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-color-blind.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-gamma.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-high-contrast.so
%{_libdir}/gimp/2.0/modules/libdisplay-filter-clip-warning.so
%{_libdir}/gimp/3.0/modules/libcolor-selector-cmyk.so
%{_libdir}/gimp/3.0/modules/libcolor-selector-water.so
%{_libdir}/gimp/3.0/modules/libcolor-selector-wheel.so
%{_libdir}/gimp/3.0/modules/libcontroller-linux-input.so
%{_libdir}/gimp/3.0/modules/libcontroller-midi.so
%{_libdir}/gimp/3.0/modules/libdisplay-filter-aces-rrt.so
%{_libdir}/gimp/3.0/modules/libdisplay-filter-clip-warning.so
%{_libdir}/gimp/3.0/modules/libdisplay-filter-color-blind.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-2.*
%{_mandir}/man?/gimp-3*
%{_mandir}/man?/gimp-console.*
%{_mandir}/man?/gimp-console-2.*
%{_mandir}/man?/gimp-console-3*
%{_mandir}/man?/gimprc.*
%{_mandir}/man?/gimprc-2.*
%{_mandir}/man?/gimptool-2.*
%{_mandir}/man?/gimprc-3*
%dir %{_sysconfdir}/gimp
%dir %{_sysconfdir}/gimp/2.0
%config %{_sysconfdir}/gimp/2.0/*rc
# split file-aa into own package (bnc#851509
%exclude %{_libdir}/gimp/2.0/plug-ins/file-aa
%dir %{_sysconfdir}/gimp/3.0
%config %{_sysconfdir}/gimp/3.0/*rc
%config %{_sysconfdir}/gimp/3.0/*css
# 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
%{_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/2.0
%dir %{_datadir}/gimp/3.0
%dir %{_libdir}/gimp
%dir %{_libdir}/gimp/2.0
%dir %{_libdir}/gimp/2.0/environ
%dir %{_libdir}/gimp/2.0/interpreters
%dir %{_libdir}/gimp/2.0/modules
%dir %{_libdir}/gimp/2.0/plug-ins
%{_libdir}/libgimp-2.0.so.*
%{_libdir}/libgimpbase-2.0.so.*
%{_libdir}/libgimpcolor-2.0.so.*
%{_libdir}/libgimpconfig-2.0.so.*
%{_libdir}/libgimpmath-2.0.so.*
%{_libdir}/libgimpmodule-2.0.so.*
%dir %{_libdir}/gimp/3.0
%dir %{_libdir}/gimp/3.0/environ
%dir %{_libdir}/gimp/3.0/interpreters
%dir %{_libdir}/gimp/3.0/modules
%dir %{_libdir}/gimp/3.0/plug-ins
%dir %{_libdir}/gimp/3.0/extensions
%{_libdir}/libgimp-3.0.so.*
%{_libdir}/libgimpbase-3.0.so.*
%{_libdir}/libgimpcolor-3.0.so.*
%{_libdir}/libgimpconfig-3.0.so.*
%{_libdir}/libgimpmath-3.0.so.*
%{_libdir}/libgimpmodule-3.0.so.*
%{_libdir}/libgimp-scriptfu-3.0.so.*
%files -n libgimpui-2_0-0
%{_libdir}/libgimpthumb-2.0.so.*
%{_libdir}/libgimpui-2.0.so.*
%{_libdir}/libgimpwidgets-2.0.so.*
%files -n libgimpui-3_0-0
%{_libdir}/libgimpthumb-3.0.so.*
%{_libdir}/libgimpui-3.0.so.*
%{_libdir}/libgimpwidgets-3.0.so.*
%if %{with python_plugin}
%files plugins-python -f plugins-python.list
%{_libdir}/gimp/2.0/environ/pygimp.env
%{_libdir}/gimp/2.0/interpreters/pygimp.interp
%{_libdir}/gimp/2.0/python/
# FIXME: Maybe split gimp-lang and gimp-plugins-python-lang
%files plugin-python3 -f plugins-python.list
%{_libdir}/gimp/3.0/environ/python.env
%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
%doc README.i18n
%{_bindir}/gimptool-2.0
#{_mandir}/man?/gimptool-2.0%%{?ext_man}
%{_includedir}/gimp-2.0/
%{_bindir}/gimptool*
%{_includedir}/gimp-3.0/
%{_libdir}/*.so
%{_datadir}/aclocal/gimp-2.0.m4
%{_libdir}/pkgconfig/gimp-2.0.pc
%{_libdir}/pkgconfig/gimpthumb-2.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/
%{_libdir}/pkgconfig/gimp-3.0.pc
%{_libdir}/pkgconfig/gimpthumb-3.0.pc
%{_libdir}/pkgconfig/gimpui-3.0.pc
%{_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