2010-08-24 22:32:30 +02:00
#
2010-11-19 09:57:37 +01:00
# spec file for package gtk3 (Version 2.91.4)
2010-08-24 22:32:30 +02:00
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenebrger, Amsterdam, Netherlands
#
# 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/
#
2010-10-15 13:50:05 +02:00
# When updating the binary version, do not forget to also update baselibs.conf
%define gtk_binary_version 3.0.0
2010-08-24 22:32:30 +02:00
Name : gtk3
%define _name gtk+
2010-11-19 09:57:37 +01:00
Version : 2.91.4
2010-11-01 20:56:26 +01:00
Release : 1
2010-08-24 22:32:30 +02:00
# FIXME: 2.90.5 doesn't compile with parallel build (bgo#624304). Check if this is still true for later versions.
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3)
Url : http://www.gtk.org/
Group : System/Libraries
Source : ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.90/%{_name}-%{version} .tar.bz2
Source1 : README.SUSE
Source2 : gtkrc
2010-08-27 17:19:07 +02:00
Source3 : macros.gtk3
2010-08-24 22:32:30 +02:00
Source99 : baselibs.conf
# PATCH-FIX-OPENSUSE gtk3-GTK_PATH64.patch sbrabec@novell.com - 64-bit dual install. Use GTK_PATH64 environment variable instead of GTK_PATH
Patch0 : gtk3-GTK_PATH64.patch
# PATCH-FIX-OPENSUSE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474
Patch1 : gtk3-path-local.patch
# PATCH-FEATURE-UPSTREAM gtk3-bnc129753-localize-font-style-name.patch bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI
Patch2 : gtk3-bnc129753-localize-font-style-name.patch
# PATCH-FIX-UPSTREAM gtk3-bnc130159-bgo319483-async-font-selection.patch bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages
Patch3 : gtk3-bnc130159-bgo319483-async-font-selection.patch
2010-11-19 09:57:37 +01:00
# PATCH-FIX-UPSTREAM gtk3-introspection-build-fix.patch vuntz@opensuse.org -- Fix build of introspection data, taken from git
Patch4 : gtk3-introspection-build-fix.patch
2010-08-24 22:32:30 +02:00
BuildRequires : fdupes
BuildRequires : cups-devel
BuildRequires : gnome-patch-translation
BuildRequires : pkgconfig(atk)
BuildRequires : pkgconfig(cairo)
BuildRequires : pkgconfig(fontconfig)
BuildRequires : pkgconfig(gdk-pixbuf-2.0) >= 2.21.0
BuildRequires : pkgconfig(glib-2.0)
BuildRequires : pkgconfig(gobject-introspection-1.0)
BuildRequires : pkgconfig(pango)
BuildRequires : pkgconfig(x11)
BuildRequires : pkgconfig(xcomposite)
BuildRequires : pkgconfig(xcursor)
BuildRequires : pkgconfig(xdamage)
BuildRequires : pkgconfig(xext)
BuildRequires : pkgconfig(xfixes)
BuildRequires : pkgconfig(xi)
BuildRequires : pkgconfig(xinerama)
BuildRequires : pkgconfig(xrandr)
BuildRoot : %{_tmppath} /%{name} -%{version} -build
%description
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
%package -n libgtk-3_0-0
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3)
Group : System/Libraries
Requires(post) : %{name} -tools
2010-10-15 13:50:05 +02:00
# While hicolor is not a Requires strictly speaking, we put it as
# such instead of as a Recommends because many applications just
# assume it's there and we need to have a low-level package to
# bring it in.
2010-11-01 20:56:26 +01:00
Requires : %{name} -data = %{version}
2010-10-15 13:50:05 +02:00
Requires : hicolor-icon-theme
2010-11-01 20:56:26 +01:00
# gtk+ can work without branding/translations. Built in defaults will be used then.
2010-08-24 22:32:30 +02:00
Recommends: %{name} -branding
2010-10-15 13:50:05 +02:00
# it's nice to have input modules for various locales installed by default
Recommends: %{name} -immodule-amharic = %{version}
Recommends: %{name} -immodule-inuktitut = %{version}
Recommends: %{name} -immodule-thai = %{version}
Recommends: %{name} -immodule-tigrigna = %{version}
Recommends: %{name} -immodule-vietnamese = %{version}
Recommends: %{name} -lang
2010-08-24 22:32:30 +02:00
Recommends: gvfs
2010-10-15 13:50:05 +02:00
# Provide %{name} to make the lang and immodules packages installable
Provides : %{name} = %{version}
2010-08-24 22:32:30 +02:00
%description -n libgtk-3_0-0
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
2010-10-15 13:50:05 +02:00
%package immodule-amharic
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Amharic Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :am)
%description immodule-amharic
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method for Amharic.
%package immodule-inuktitut
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Inuktitut Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :iu)
%description immodule-inuktitut
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method for Inuktitut.
%package immodule-multipress
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Multipress Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
%description immodule-multipress
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method which allows text entry via the
multi-press method, as on a mobile phone.
%package immodule-thai
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Thai-Lao Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :lo)
Provides : locale(%{name} :th)
%description immodule-thai
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method for Thai-Lao.
%package immodules-tigrigna
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Tigrigna Input Methods
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :ti)
%description immodules-tigrigna
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides two input methods for Tigrigna.
%package immodule-vietnamese
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Vietnamese Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :vi)
%description immodule-vietnamese
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method for Vietnamese.
%package immodule-xim
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- X Input Method
Group : System/Libraries
Requires : %{name} = %{version}
Requires(post) : %{name} -tools
Requires(postun) : %{name} -tools
Provides : locale(%{name} :ko)
Provides : locale(%{name} :ja)
Provides : locale(%{name} :th)
Provides : locale(%{name} :zh)
%description immodule-xim
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package provides an input method based on the X Input Method.
2010-08-24 22:32:30 +02:00
%package tools
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Tools
Group : System/Libraries
%description tools
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
%package data
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Data Files
Group : System/Libraries
BuildArch : noarch
2010-11-01 20:56:26 +01:00
%glib2_gsettings_schema_requires
2010-08-24 22:32:30 +02:00
%description data
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
%package branding-upstream
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Branding Files
Group : System/Libraries
Provides : %{name} -branding = %{version}
Conflicts : otherproviders(%{name} -branding)
Supplements: packageand(%{name} :branding-upstream)
%description branding-upstream
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
%package devel
License : LGPLv2.1+
Summary : The GTK+ toolkit library (version 3) -- Development Files
Group : Development/Libraries/X11
Requires : libgtk-3_0-0 = %{version}
# gtk-builder-convert needs this.
2010-11-30 09:59:52 +01:00
Requires : python-xml
2010-08-24 22:32:30 +02:00
%description devel
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
This package contains the development files for GTK+ 3.x.
%lang_package
%prep
%setup -q -n %{_name}-%{version}
gnome-patch-translation-prepare
%if "%_lib" == "lib64"
cp -a %{S:1} .
%patch0 -p1
%endif
%patch1 -p0
%patch2 -p1
%patch3 -p1
2010-10-16 16:57:42 +02:00
%patch4 -p1
2010-08-24 22:32:30 +02:00
gnome-patch-translation-update
%build
%configure \
--disable-static \
--enable-man \
--with-xinput=xfree \
--enable-introspection
# building of gobject-introspection seems to fail with -j 'n>1' (see bgo#624304)
#%{__make} %{?_smp_mflags}
%{__make}
%install
%makeinstall
find %{buildroot} %{_libdir} -name '*.la' -delete -print
%find_lang gtk30
%find_lang gtk30-properties
install -m 644 -D %{S:2} %{buildroot} %{_sysconfdir} /gtk-3.0/gtkrc
2010-10-15 13:50:05 +02:00
touch %{buildroot} %{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules.cache
2010-08-24 22:32:30 +02:00
%if "%_lib" == "lib64"
mv %{buildroot} %{_bindir} /gtk-query-immodules-3.0 %{buildroot} %{_bindir} /gtk-query-immodules-3.0-64
mv %{buildroot} %{_mandir} /man1/gtk-query-immodules-3.0.1 %{buildroot} %{_mandir} /man1/gtk-query-immodules-3.0-64.1
%endif
2010-08-27 17:19:07 +02:00
# Install rpm macros
mkdir -p %{buildroot} %{_sysconfdir} /rpm
cp %{S:3} %{buildroot} %{_sysconfdir} /rpm
2010-08-24 22:32:30 +02:00
%fdupes %{buildroot} %{_datadir}
%fdupes %{buildroot} %{_libdir}
%clean
rm -rf %{buildroot}
2010-10-15 13:50:05 +02:00
###########################################################################
# Note: when updating scriptlets, don't forget to also update baselibs.conf
###########################################################################
2010-09-24 00:06:04 +02:00
# Convenient %define for the scriplets
%if "%_lib" == "lib64"
2010-10-15 13:50:05 +02:00
%define _gtk_query_immodules %{_bindir}/gtk-query-immodules-3.0-64
2010-09-24 00:06:04 +02:00
%else
2010-10-15 13:50:05 +02:00
%define _gtk_query_immodules %{_bindir}/gtk-query-immodules-3.0
2010-09-24 00:06:04 +02:00
%endif
2010-10-15 13:50:05 +02:00
%define _gtk_query_immodules_update_cache %{_gtk_query_immodules} --update-cache
2010-09-24 00:06:04 +02:00
2010-10-14 09:48:09 +02:00
%post -n libgtk-3_0-0
/sbin/ldconfig
2010-10-15 13:50:05 +02:00
%if 0
# In case libgtk-3_0-0 gets installed before gtk3-tools, we don't want to fail.
# So we make the call to gtk-query-immodules-3.0 dependent on the existence of
# the binary. This is why we also have a %post for gtk3-tools.
%endif
if test -f %{_gtk_query_immodules}; then
%{_gtk_query_immodules_update_cache}
2010-09-24 00:06:04 +02:00
fi
2010-08-24 22:32:30 +02:00
2010-10-15 13:50:05 +02:00
%post immodule-amharic
%{_gtk_query_immodules_update_cache}
%post immodule-inuktitut
%{_gtk_query_immodules_update_cache}
%post immodule-multipress
%{_gtk_query_immodules_update_cache}
%post immodule-thai
%{_gtk_query_immodules_update_cache}
%post immodules-tigrigna
%{_gtk_query_immodules_update_cache}
%post immodule-vietnamese
%{_gtk_query_immodules_update_cache}
%post immodule-xim
%{_gtk_query_immodules_update_cache}
2010-10-12 22:38:41 +02:00
2010-10-14 09:48:09 +02:00
%post tools
2010-10-15 13:50:05 +02:00
%if 0
# If we install gtk3-tools for the first time, then we should run it in case
# libgtk-3_0-0 was installed first (ie, if
# %{_libdir}/gtk-3.0/%{gtk_binary_version} already exists) which means
# gtk-query-immodules-3.0 couldn't run there.
%endif
2010-08-24 22:32:30 +02:00
if [ $1 == 1 ]; then
2010-10-15 13:50:05 +02:00
test -d %{_libdir} /gtk-3.0/%{gtk_binary_version}
2010-08-24 22:32:30 +02:00
if test $? -eq 0; then
2010-10-15 13:50:05 +02:00
%{_gtk_query_immodules_update_cache}
2010-08-24 22:32:30 +02:00
fi
fi
2010-11-01 20:56:26 +01:00
%post data
%glib2_gsettings_schema_post
2010-10-15 13:50:05 +02:00
%if 0
2010-08-24 22:32:30 +02:00
# No need to call gtk-query-immodules-3.0 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 13:50:05 +02:00
%endif
2010-08-24 22:32:30 +02:00
%postun -n libgtk-3_0-0 -p /sbin/ldconfig
2010-10-15 13:50:05 +02:00
%postun immodule-amharic
%{_gtk_query_immodules_update_cache}
%postun immodule-inuktitut
%{_gtk_query_immodules_update_cache}
%postun immodule-multipress
%{_gtk_query_immodules_update_cache}
%postun immodule-thai
%{_gtk_query_immodules_update_cache}
%postun immodules-tigrigna
%{_gtk_query_immodules_update_cache}
%postun immodule-vietnamese
%{_gtk_query_immodules_update_cache}
%postun immodule-xim
%{_gtk_query_immodules_update_cache}
2010-11-01 20:56:26 +01:00
%postun data
%glib2_gsettings_schema_postun
2010-08-24 22:32:30 +02:00
%files -n libgtk-3_0-0
%defattr (-, root, root)
%doc AUTHORS COPYING README NEWS ChangeLog
%if "%_lib" == "lib64"
%doc README.SUSE
%endif
2010-10-15 13:50:05 +02:00
%dir %{_sysconfdir} /gtk-3.0
2010-08-24 22:32:30 +02:00
%dir %{_libdir} /gtk-3.0
2010-10-15 13:50:05 +02:00
%dir %{_libdir} /gtk-3.0/%{gtk_binary_version}
%dir %{_libdir} /gtk-3.0/%{gtk_binary_version} /engines
%{_libdir} /gtk-3.0/%{gtk_binary_version} /engines/libpixmap.so
%dir %{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-cedilla.so
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-cyrillic-translit.so
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-ipa.so
%dir %{_libdir} /gtk-3.0/%{gtk_binary_version} /printbackends/
%{_libdir} /gtk-3.0/%{gtk_binary_version} /printbackends/libprintbackend-cups.so
%{_libdir} /gtk-3.0/%{gtk_binary_version} /printbackends/libprintbackend-file.so
%{_libdir} /gtk-3.0/%{gtk_binary_version} /printbackends/libprintbackend-lpr.so
%ghost %{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules.cache
%dir %{_libdir} /gtk-3.0/modules
%{_libdir} /gtk-3.0/modules/libgail.so
2010-08-24 22:32:30 +02:00
%{_libdir} /libgailutil-3.0.so.*
%{_libdir} /libgdk-x11-3.0.so.*
%{_libdir} /libgtk-x11-3.0.so.*
2010-10-15 13:50:05 +02:00
%{_libdir} /girepository-1.0/Gdk-3.0.typelib
%{_libdir} /girepository-1.0/GdkX11-3.0.typelib
%{_libdir} /girepository-1.0/Gtk-3.0.typelib
%files immodule-amharic
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-am-et.so
%files immodule-inuktitut
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-inuktitut.so
%files immodule-multipress
%defattr (-,root,root)
2010-11-01 20:56:26 +01:00
%doc modules/input/README.multipress
2010-10-15 13:50:05 +02:00
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-multipress.so
%config %{_sysconfdir} /gtk-3.0/im-multipress.conf
%files immodule-thai
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-thai.so
%files immodules-tigrigna
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-ti-er.so
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-ti-et.so
%files immodule-vietnamese
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-viqr.so
%files immodule-xim
%defattr (-,root,root)
%{_libdir} /gtk-3.0/%{gtk_binary_version} /immodules/im-xim.so
2010-08-24 22:32:30 +02:00
%files tools
%defattr (-,root,root)
%{_bindir} /gtk-query-immodules-3.0*
%{_bindir} /gtk-update-icon-cache-3.0
%{_mandir} /man1/gtk-query-immodules-3.0*.1*
%{_mandir} /man1/gtk-update-icon-cache-3.0.1*
%files data
%defattr (-,root,root)
2010-11-01 20:56:26 +01:00
%{_datadir} /glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
2010-10-15 13:50:05 +02:00
%{_datadir} /themes/Default/
%{_datadir} /themes/Emacs/
%{_datadir} /themes/Raleigh/
2010-08-24 22:32:30 +02:00
%files branding-upstream
%defattr (-,root,root)
%config %{_sysconfdir} /gtk-3.0/gtkrc
%files lang -f gtk30.lang -f gtk30-properties.lang
%files devel
%defattr (-,root,root)
2010-10-15 13:50:05 +02:00
%doc %{_datadir} /gtk-doc/html/gail-libgail-util3/
%doc %{_datadir} /gtk-doc/html/gdk3/
%doc %{_datadir} /gtk-doc/html/gtk3/
2010-08-24 22:32:30 +02:00
%{_bindir} /gtk3-demo
%{_bindir} /gtk-builder-convert-3.0
%{_mandir} /man1/gtk-builder-convert-3.0.1*
%{_datadir} /aclocal/gtk-3.0.m4
2010-10-15 13:50:05 +02:00
%{_datadir} /gir-1.0/*.gir
2010-08-24 22:32:30 +02:00
%dir %{_datadir} /gtk-3.0
%{_datadir} /gtk-3.0/demo/
%{_includedir} /gail-3.0/
%{_includedir} /gtk-3.0/
%{_libdir} /gtk-3.0/include/
2010-10-15 13:50:05 +02:00
%{_libdir} /gtk-3.0/modules/libferret.so
2010-08-24 22:32:30 +02:00
%{_libdir} /pkgconfig/gail-3.0.pc
%{_libdir} /pkgconfig/gdk-3.0.pc
%{_libdir} /pkgconfig/gdk-x11-3.0.pc
%{_libdir} /pkgconfig/gtk+-3.0.pc
%{_libdir} /pkgconfig/gtk+-unix-print-3.0.pc
%{_libdir} /pkgconfig/gtk+-x11-3.0.pc
%{_libdir} /libgailutil-3.0.so
%{_libdir} /libgdk-x11-3.0.so
%{_libdir} /libgtk-x11-3.0.so
2010-08-27 17:19:07 +02:00
%{_sysconfdir} /rpm/macros.gtk3
2010-08-24 22:32:30 +02:00
%changelog