# # spec file for package gtk2 (Version 2.19.6) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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/ # Name: gtk2 %define _name gtk+ Version: 2.19.6 Release: 1 # FIXME: 2.19.3 doesn't compile with parallel build. Check if this is still true for later versions. # FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer) License: LGPLv2.1+ Summary: Library for Creation of Graphical User Interfaces (version 2) Url: http://www.gtk.org/ Group: System/Libraries Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.12/%{_name}-%{version}.tar.bz2 Source1: SuSEconfig.gtk2 Source2: README.SuSE Source3: gtkrc Source4: baselibs.conf # PATCH-FIX-UPSTREAM gtk2-potfiles.patch bgo599774 sbrabec@suse.cz - Fix POTFILES.in referring to missing file. Patch1: gtk2-potfiles.patch # PATCH-FIX-OPENSUSE gtk64.patch sbrabec@novell.com - 64-bit dual install. See also the Fedora patch for a simpler way of doing this. Patch8: gtk64.patch # PATCH-FIX-OPENSUSE gdk-modules-information.diff hhetter@suse.de - Info on how to manually regenerate modules information Patch12: gdk-modules-information.diff # PATCH-FEATURE-UPSTREAM bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff # PATCH-FIX-OPENSUSE bugzilla-131498-allow-xim-for-all-languages.patch bnc131498 mfabian@novell.com - Allow all languages to be run with the X Input Method Patch23: bugzilla-131498-allow-xim-for-all-languages.patch # PATCH-FIX-UPSTREAM gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff # Patches taken from upstream or slated to go upstream. We can expect these to become obsolete # in future releases. # Please don't delete this comment even if this section is empty -- "# empty" should # be sufficient. # FIXME: this section is incomplete, and that some of the patches listed earlier should # be here instead. # PATCH-FIX-OPENSUSE gtk-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 Patch53: gtk-path-local.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: atk-devel BuildRequires: cairo-devel BuildRequires: cups-devel # Needed for patches touching the build system BuildRequires: gnome-common BuildRequires: gnome-patch-translation BuildRequires: gobject-introspection-devel BuildRequires: libjasper-devel BuildRequires: libtiff-devel BuildRequires: pango-devel BuildRequires: translation-update-upstream PreReq: /usr/bin/touch /bin/rm /bin/rmdir Requires: %{name}-lang = %{version} Requires: hicolor-icon-theme # gtk2 can exist without branding. Built in defaults will be used then. Recommends: %{name}-branding Recommends: gvfs # bug437293 %ifarch ppc64 Obsoletes: gtk2-64bit %endif # # gail is part of gtk+ as of 2.13.x Provides: gail = 1.22.1 Obsoletes: gail < 1.22.1 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This fast and versatile library is used all over the world for all libgnome (GNOME) applications, gimp (The GIMP), and several others. Originally, version 1 was written for the GIMP and hence has the name GIMP ToolKit. Many people like it because it is small, efficient, and very configurable. Most applications which used gtk (GTK1) have since switched to GTK2. Besides a more flexible API, it provides improved text rendering using pango (Pango) and many other goodies, but GTK+ 2 lacks compatibility with GTK1, so to switch, programmers have to port applications to it. To develop applications with gtk, you need the package gtk2-devel. %package branding-upstream License: LGPLv2.1+ Summary: Library for Creation of Graphical User Interfaces (version 2) Group: System/Libraries Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) %description branding-upstream This fast and versatile library is used all over the world for all libgnome (GNOME) applications, gimp (The GIMP), and several others. Originally, version 1 was written for the GIMP and hence has the name GIMP ToolKit. Many people like it because it is small, efficient, and very configurable. Most applications which used gtk (GTK1) have since switched to GTK2. Besides a more flexible API, it provides improved text rendering using pango (Pango) and many other goodies, but GTK+ 2 lacks compatibility with GTK1, so to switch, programmers have to port applications to it. To develop applications with gtk, you need the package gtk2-devel. %package devel License: LGPLv2.1+ Summary: Development environment for the Gtk2 GUI library Group: Development/Libraries/X11 # bug437293 %ifarch ppc64 Obsoletes: gtk2-devel-64bit %endif # Requires: %{name} = %{version} atk-devel cairo-devel glibc-devel glib2-devel pango-devel %(rpm -q --whatprovides XFree86-devel --queryformat '%{NAME}') # gtk-builder-convert needs this. Requires: pyxml # gail is part of gtk+ as of 2.13.x Provides: gail-devel = 1.22.1 Obsoletes: gail-devel < 1.22.1 Provides: gtk2-doc = %{version} Obsoletes: gtk2-doc < %{version} %description devel This package contains all necessary include files, libraries, configuration files and development tools needed to compile and link applications using the gtk2 library. In addition, it contains a large set of demo applications in source code and manual pages for the provided Gtk2 development tools. Gtk2 is a fast and versatile library is used all over the world for all GNOME applications, the GIMP, and several other applications. Originally it was written for the GIMP and hence has the name Gimp ToolKit. Many people like it because it is small, efficient, and very configurable. %lang_package %prep %setup -q -n %{_name}-%{version} %patch1 translation-update-upstream translation-update-upstream po-properties gtk20-properties gnome-patch-translation-prepare cp -a %{S:1} . %if "%_lib" == "lib64" cp -a %{S:2} . # WARNING: This patch does not patch not installed demos and tests. %patch8 -p1 %endif %patch12 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch53 gnome-patch-translation-update %build NOCONFIGURE=1 gnome-autogen.sh export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$CFLAGS -fstack-protector" %ifarch ppc64 export CFLAGS="$CFLAGS -mminimal-toc" %endif # fix crash in gdm, nautilus, etc. (bgo#596977) export CFLAGS=`echo $CFLAGS | sed -e 's/-fomit-frame-pointer//g'` %configure \ --enable-man \ --with-xinput=xfree #make %{?jobs:-j%jobs} make %install %makeinstall mkdir -p $RPM_BUILD_ROOT/sbin/conf.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0 install -m 755 SuSEconfig.gtk2 $RPM_BUILD_ROOT/sbin/conf.d touch $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gtk-2.0 touch $RPM_BUILD_ROOT%{_localstatedir}/cache/gtk-2.0/icon-theme.cache-list mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/{,2.10.0/}{engines,filesystems,immodules,loaders,modules,printbackends} %find_lang gtk20 %find_lang gtk20-properties gtk20.lang %if "%_lib" == "lib64" mv $RPM_BUILD_ROOT%{_bindir}/gdk-pixbuf-query-loaders\ $RPM_BUILD_ROOT%{_bindir}/gdk-pixbuf-query-loaders-64 mv $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0\ $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0-64 mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules\ $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk64.immodules mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders\ $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf64.loaders %endif rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2*/*/*.la rm $RPM_BUILD_ROOT/%{_libdir}/gtk-2.0/modules/*.la %fdupes $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig touch var/adm/SuSEconfig/run-gtk %preun # Remove all old icon cache files created by SuSEconfig.gtk2. # If it is an update, files will be re-created. if test -f var/cache/gtk-2.0/icon-theme.cache-list ; then for DIR in $(