2010-08-09 15:15:56 +02:00
#
2011-02-18 11:55:25 +01:00
# spec file for package gdk-pixbuf
2010-08-09 15:15:56 +02:00
#
2017-01-09 12:31:09 +01:00
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
2010-08-09 15:15:56 +02:00
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
2012-03-21 09:44:08 +01:00
2010-10-15 12:44:53 +02:00
# When updating the binary version, do not forget to also update baselibs.conf
%define gdk_pixbuf_binary_version 2.10.0
2010-08-09 15:15:56 +02:00
Name : gdk-pixbuf
2017-03-27 18:16:46 +02:00
Version : 2.36.6
2011-12-21 05:10:28 +01:00
Release : 0
2010-08-09 15:15:56 +02:00
Summary : An image loading library
2011-12-21 05:10:28 +01:00
License : LGPL-2.1+
2010-08-09 15:15:56 +02:00
Group : System/Libraries
2015-08-19 18:31:59 +02:00
Url : http://www.gnome.org/
2016-09-20 20:24:32 +02:00
Source : http://download.gnome.org/sources/gdk-pixbuf/2.36/%{name} -%{version} .tar.xz
2010-08-09 15:15:56 +02:00
Source1 : macros.gdk-pixbuf
Source2 : README.SUSE
Source99 : baselibs.conf
2016-12-15 19:27:28 +01:00
# PATCH-FIX-UPSTREAM u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch boo#929462 bsc#1010497 bgo#775896 mstaudt@suse.com -- Fix RGBA conversion for big endian X11 environments
2016-12-13 17:37:13 +01:00
Patch0 : u_contrib-gdk-pixbuf-xlib-Fix-rgb888amsb.patch
2017-07-16 21:03:40 +02:00
# PATCH-FIX-UPSTREAM gdk-pixbuf-cve-2017-2862-jpeg-channels.patch bsc#1048289 bgo#784866 CVE-2017-2862 hpj@suse.com -- fix heap overwrite when JPEG channels is not 3 or 4.
Patch1 : gdk-pixbuf-cve-2017-2862-jpeg-channels.patch
# PATCH-FIX-UPSTREAM gdk-pixbuf-cve-2017-2870-tiff-mul-overflow.patch bgo#780269 CVE-2017-2870 hpj@suse.com -- fix reliance on undefined behavior to handle integer overflows.
Patch2 : gdk-pixbuf-cve-2017-2870-tiff-mul-overflow.patch
2010-08-09 15:15:56 +02:00
BuildRequires : libjasper-devel
BuildRequires : libjpeg-devel
BuildRequires : libtiff-devel
2016-09-08 23:21:36 +02:00
%if !0%{?is_opensuse}
2011-02-16 08:50:52 +01:00
BuildRequires : translation-update-upstream
2016-09-08 23:21:36 +02:00
%endif
2017-02-15 12:03:40 +01:00
BuildRequires : pkgconfig(glib-2.0) >= 2.48.0
2010-08-09 15:15:56 +02:00
BuildRequires : pkgconfig(gobject-introspection-1.0)
BuildRequires : pkgconfig(libpng)
BuildRequires : pkgconfig(x11)
%description
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
%package -n libgdk_pixbuf-2_0-0
Summary : An image loading library
2016-09-08 23:21:36 +02:00
# Provide %%{name} to make the lang package installable
2017-01-09 12:31:09 +01:00
Group : System/Libraries
2010-08-09 15:15:56 +02:00
Provides : %{name} = %{version}
Requires(post) : gdk-pixbuf-query-loaders
Recommends: %{name} -lang = %{version}
Conflicts : gtk2 < 2.21.3
%description -n libgdk_pixbuf-2_0-0
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
2011-12-12 16:48:38 +01:00
%package -n typelib-1_0-GdkPixbuf-2_0
2011-12-21 05:10:28 +01:00
Summary : An image loading library -- Introspection bindings
2011-12-12 16:48:38 +01:00
Group : System/Libraries
%description -n typelib-1_0-GdkPixbuf-2_0
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
2011-12-21 05:10:28 +01:00
This package provides the GObject Introspection bindings for gdk-pixbuf.
2011-12-12 16:48:38 +01:00
2010-08-09 15:15:56 +02:00
%package query-loaders
Summary : An image loading library - Utility to create loaders cache
Group : System/Libraries
%description query-loaders
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
This package contains the utility to create the cache file needed for
loadable modules.
2016-12-15 19:27:28 +01:00
%package thumbnailer
Summary : System helper creating thumbnails
Group : System/Libraries
2017-05-10 14:55:29 +02:00
Supplements: libgdk_pixbuf-2_0-0
2016-12-15 19:27:28 +01:00
%description thumbnailer
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
This package contains the thumbnailer utility.
2010-08-09 15:15:56 +02:00
%package devel
Summary : An image loading library - Development Files
Group : Development/Languages/C and C++
Requires : libgdk_pixbuf-2_0-0 = %{version}
2011-12-12 16:48:38 +01:00
Requires : typelib-1_0-GdkPixbuf-2_0 = %{version}
2010-08-09 15:15:56 +02:00
%description devel
gdk-pixbuf is an image loading library that can be extended by loadable
modules for new image formats. It is used by toolkits such as GTK+ or
Clutter.
This package contains development files for gdk-pixbuf.
%lang_package
%prep
%setup -q
2016-09-08 23:21:36 +02:00
%if !0%{?is_opensuse}
2011-02-16 08:50:52 +01:00
translation-update-upstream
2016-09-08 23:21:36 +02:00
%endif
2016-12-13 17:37:13 +01:00
%patch0 -p1
2017-07-16 21:03:40 +02:00
%patch1 -p1
%patch2 -p1
2010-08-09 15:15:56 +02:00
%if "%_lib" == "lib64"
cp -a %{S:2} .
%endif
%build
%configure \
--disable-static \
--enable-introspection \
2011-12-21 05:10:28 +01:00
--with-libjasper \
--with-x11
2010-08-09 15:15:56 +02:00
%{__make} %{?_smp_mflags}
%install
%makeinstall
find %{buildroot} %{_libdir} -name '*.la' -delete -print
%find_lang %{name}
2010-10-15 12:44:53 +02:00
touch %{buildroot} %{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version} /loaders.cache
2010-08-09 15:15:56 +02:00
%if "%_lib" == "lib64"
mv %{buildroot} %{_bindir} /gdk-pixbuf-query-loaders %{buildroot} %{_bindir} /gdk-pixbuf-query-loaders-64
mv %{buildroot} %{_mandir} /man1/gdk-pixbuf-query-loaders.1 %{buildroot} %{_mandir} /man1/gdk-pixbuf-query-loaders-64.1
%endif
# Install rpm macros
mkdir -p %{buildroot} %{_sysconfdir} /rpm
cp %{S:1} %{buildroot} %{_sysconfdir} /rpm
2010-10-15 12:44:53 +02:00
###########################################################################
# Note: when updating scriptlets, don't forget to also update baselibs.conf
###########################################################################
2016-09-08 23:21:36 +02:00
# Convenient %%define for the scriplets
2010-09-23 23:56:21 +02:00
%if "%_lib" == "lib64"
2010-10-15 12:44:53 +02:00
%define _gdk_pixbuf_query_loaders %{_bindir}/gdk-pixbuf-query-loaders-64
2010-09-23 23:56:21 +02:00
%else
2010-10-15 12:44:53 +02:00
%define _gdk_pixbuf_query_loaders %{_bindir}/gdk-pixbuf-query-loaders
2010-09-23 23:56:21 +02:00
%endif
2010-10-15 12:44:53 +02:00
%define _gdk_pixbuf_query_loaders_update_cache %{_gdk_pixbuf_query_loaders} --update-cache
2010-09-23 23:56:21 +02:00
2010-10-14 09:47:06 +02:00
%post -n libgdk_pixbuf-2_0-0
/sbin/ldconfig
2010-10-15 12:44:53 +02:00
%if 0
# In case libgdk_pixbuf-2_0-0 gets installed before gdk-pixbuf-query-loaders,
# we don't want to fail. So we make the call to gdk-pixbuf-query-loaders
2016-09-08 23:21:36 +02:00
# dependent on the existence of the binary. This is why we also have a %%post
2010-10-15 12:44:53 +02:00
# for gdk-pixbuf-query-loaders.
%endif
if test -f %{_gdk_pixbuf_query_loaders}; then
%{_gdk_pixbuf_query_loaders_update_cache}
2010-09-23 23:56:21 +02:00
fi
2010-08-09 15:15:56 +02:00
2010-10-14 09:47:06 +02:00
%post query-loaders
2010-10-15 12:44:53 +02:00
%if 0
# If we install gdk-pixbuf-query-loaders for the first time, then we should run
# it in case libgdk_pixbuf-2_0-0 was installed first (ie, if
2016-09-08 23:21:36 +02:00
# %%{_libdir}/gdk-pixbuf-2.0/%%{gdk_pixbuf_binary_version} already exists) which
2010-10-15 12:44:53 +02:00
# means gdk-pixbuf-query-loaders couldn't run there.
%endif
2014-11-11 00:15:33 +01:00
if [ $1 = 1 ]; then
2010-10-15 12:44:53 +02:00
test -d %{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version}
2010-08-09 15:15:56 +02:00
if test $? -eq 0; then
2010-10-15 12:44:53 +02:00
%{_gdk_pixbuf_query_loaders_update_cache}
2010-08-09 15:15:56 +02:00
fi
fi
2010-10-15 12:44:53 +02:00
%if 0
2010-08-09 15:15:56 +02:00
# No need to call gdk-pixbuf-query-loaders in postun:
# - if it's an upgrade, it will have been called in post
# - if it's an uninstall, we don't care about this anymore
2010-10-15 12:44:53 +02:00
%endif
2010-08-09 15:15:56 +02:00
%postun -n libgdk_pixbuf-2_0-0 -p /sbin/ldconfig
%files -n libgdk_pixbuf-2_0-0
%defattr (-, root, root)
2015-08-19 18:31:59 +02:00
%doc AUTHORS COPYING NEWS
2010-08-09 15:15:56 +02:00
%if "%_lib" == "lib64"
%doc README.SUSE
%endif
%{_libdir} /libgdk_pixbuf-2.0.so.0*
%{_libdir} /libgdk_pixbuf_xlib-2.0.so.0*
%dir %{_libdir} /gdk-pixbuf-2.0
2010-10-15 12:44:53 +02:00
%dir %{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version}
%dir %{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version} /loaders
%{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version} /loaders/*.so
%ghost %{_libdir} /gdk-pixbuf-2.0/%{gdk_pixbuf_binary_version} /loaders.cache
2011-12-12 16:48:38 +01:00
%files -n typelib-1_0-GdkPixbuf-2_0
%defattr (-,root,root)
2010-08-09 15:15:56 +02:00
%{_libdir} /girepository-1.0/GdkPixbuf-2.0.typelib
%files query-loaders
%defattr (-, root, root)
%{_bindir} /gdk-pixbuf-query-loaders*
%{_mandir} /man1/gdk-pixbuf-query-loaders*.1*
2016-12-15 19:27:28 +01:00
%files thumbnailer
%defattr (-, root, root)
%{_bindir} /gdk-pixbuf-thumbnailer
%dir %{_datadir} /thumbnailers
%{_datadir} /thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer
2010-08-09 15:15:56 +02:00
%files devel
%defattr (-, root, root)
%{_bindir} /gdk-pixbuf-csource
2012-02-08 11:55:27 +01:00
%{_bindir} /gdk-pixbuf-pixdata
2010-08-09 15:15:56 +02:00
%{_mandir} /man1/gdk-pixbuf-csource.1*
%{_includedir} /gdk-pixbuf-2.0
%{_libdir} /pkgconfig/*.pc
%{_libdir} /*.so
%{_datadir} /gir-1.0/GdkPixbuf-2.0.gir
%doc %{_datadir} /gtk-doc/html/gdk-pixbuf
%{_sysconfdir} /rpm/macros.gdk-pixbuf
%files lang -f %{name}.lang
2010-09-23 23:56:21 +02:00
2010-08-09 15:15:56 +02:00
%changelog