# # spec file for package gtk3 (Version 2.91.0) # # 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/ # # When updating the binary version, do not forget to also update baselibs.conf %define gtk_binary_version 3.0.0 Name: gtk3 %define _name gtk+ Version: 2.91.0 Release: 1 # FIXME: 2.90.5 doesn't compile with parallel build (bgo#624304). Check if this is still true for later versions. # FIXME: once https://bugzilla.gnome.org/show_bug.cgi?id=631872 is fixed, distribute README.multipress 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 Source3: macros.gtk3 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 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 # 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. Requires: hicolor-icon-theme # gtk+ can work without branding/data/translations. Built in defaults will be used then. Recommends: %{name}-branding Recommends: %{name}-data = %{version} # 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 Recommends: gvfs # Provide %{name} to make the lang and immodules packages installable Provides: %{name} = %{version} %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. %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. %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 %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. Requires: pyxml %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 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 touch %{buildroot}%{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules.cache %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 # Install rpm macros mkdir -p %{buildroot}%{_sysconfdir}/rpm cp %{S:3} %{buildroot}%{_sysconfdir}/rpm %fdupes %{buildroot}%{_datadir} %fdupes %{buildroot}%{_libdir} %clean rm -rf %{buildroot} ########################################################################### # Note: when updating scriptlets, don't forget to also update baselibs.conf ########################################################################### # Convenient %define for the scriplets %if "%_lib" == "lib64" %define _gtk_query_immodules %{_bindir}/gtk-query-immodules-3.0-64 %else %define _gtk_query_immodules %{_bindir}/gtk-query-immodules-3.0 %endif %define _gtk_query_immodules_update_cache %{_gtk_query_immodules} --update-cache %post -n libgtk-3_0-0 /sbin/ldconfig %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} fi %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} %post tools %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 if [ $1 == 1 ]; then test -d %{_libdir}/gtk-3.0/%{gtk_binary_version} if test $? -eq 0; then %{_gtk_query_immodules_update_cache} fi fi %if 0 # 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 %endif %postun -n libgtk-3_0-0 -p /sbin/ldconfig %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} %files -n libgtk-3_0-0 %defattr(-, root, root) %doc AUTHORS COPYING README NEWS ChangeLog %if "%_lib" == "lib64" %doc README.SUSE %endif %dir %{_sysconfdir}/gtk-3.0 %dir %{_libdir}/gtk-3.0 %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 %{_libdir}/libgailutil-3.0.so.* %{_libdir}/libgdk-x11-3.0.so.* %{_libdir}/libgtk-x11-3.0.so.* %{_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) # Not in tarball #%doc modules/input/README.multipress %{_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 %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) %{_datadir}/themes/Default/ %{_datadir}/themes/Emacs/ %{_datadir}/themes/Raleigh/ %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) %doc %{_datadir}/gtk-doc/html/gail-libgail-util3/ %doc %{_datadir}/gtk-doc/html/gdk3/ %doc %{_datadir}/gtk-doc/html/gtk3/ %{_bindir}/gtk3-demo %{_bindir}/gtk-builder-convert-3.0 %{_mandir}/man1/gtk-builder-convert-3.0.1* %{_datadir}/aclocal/gtk-3.0.m4 %{_datadir}/gir-1.0/*.gir %dir %{_datadir}/gtk-3.0 %{_datadir}/gtk-3.0/demo/ %{_includedir}/gail-3.0/ %{_includedir}/gtk-3.0/ %{_libdir}/gtk-3.0/include/ %{_libdir}/gtk-3.0/modules/libferret.so %{_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 %{_sysconfdir}/rpm/macros.gtk3 %changelog