15308e3
%global glib2_version 2.25.9-1
7442cc3
%global pango_version 1.20.0-1
7442cc3
%global atk_version 1.29.4-2
7442cc3
%global cairo_version 1.6.0-1
7442cc3
%global libpng_version 2:1.2.2-16
7442cc3
%global xrandr_version 1.2.99.4-2
7442cc3
%global gobject_introspection_version 0.6.7
7442cc3
7442cc3
%global bin_version 3.0.0
7442cc3
7442cc3
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
7442cc3
Name: gtk3
45f7964
Version: 2.90.4
15308e3
Release: 1%{?dist}
7442cc3
License: LGPLv2+
7442cc3
Group: System Environment/Libraries
7442cc3
URL: http://www.gtk.org
7442cc3
#VCS: git:git://git.gnome.org/gtk+
7442cc3
Source: http://download.gnome.org/sources/gtk+/2.90/gtk+-%{version}.tar.bz2
7442cc3
Source3: im-cedilla.conf
7442cc3
a66f0b3
Patch0: system-python.patch
a66f0b3
# https://bugzilla.gnome.org/show_bug.cgi?id=583273
a66f0b3
Patch1: fresh-tooltips.patch
a66f0b3
# http://bugzilla.redhat.com/show_bug.cgi?id=529364
a66f0b3
Patch2: remove-connecting-reason.patch
a66f0b3
# https://bugzilla.gnome.org/show_bug.cgi?id=611313
a66f0b3
Patch3: window-dragging.patch
a66f0b3
15308e3
# upstream change
15308e3
Patch4: 0001-Prevent-concurrent-use-of-GTK-2-and-3.patch
15308e3
7442cc3
7442cc3
BuildRequires: atk-devel >= %{atk_version}
7442cc3
BuildRequires: glib2-devel >= %{glib2_version}
45f7964
BuildRequires: cairo-devel >= %{cairo_version}
45f7964
BuildRequires: pango-devel >= %{pango_version}
45f7964
BuildRequires: gdk-pixbuf2-devel
7442cc3
BuildRequires: libXi-devel
7442cc3
BuildRequires: gettext
7442cc3
BuildRequires: gtk-doc
7442cc3
BuildRequires: cups-devel
7442cc3
BuildRequires: libXrandr-devel >= %{xrandr_version}
7442cc3
BuildRequires: libXrender-devel
7442cc3
BuildRequires: libXcursor-devel
7442cc3
BuildRequires: libXfixes-devel
7442cc3
BuildRequires: libXinerama-devel
7442cc3
BuildRequires: libXcomposite-devel
7442cc3
BuildRequires: libXdamage-devel
a66f0b3
BuildRequires: libXi-devel
7442cc3
BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version}
7442cc3
7442cc3
# required for icon theme apis to work
7442cc3
Requires: hicolor-icon-theme
7442cc3
7442cc3
# We need to prereq these so we can run gtk-query-immodules-3.0
7442cc3
Requires(post): glib2 >= %{glib2_version}
7442cc3
Requires(post): atk >= %{atk_version}
7442cc3
Requires(post): pango >= %{pango_version}
7442cc3
Requires: libXrandr >= %{xrandr_version}
7442cc3
7442cc3
%description
7442cc3
GTK+ is a multi-platform toolkit for creating graphical user
7442cc3
interfaces. Offering a complete set of widgets, GTK+ is suitable for
7442cc3
projects ranging from small one-off tools to complete application
7442cc3
suites.
7442cc3
7442cc3
This package contains version 3 of GTK+.
7442cc3
7442cc3
%package immodules
7442cc3
Summary: Input methods for GTK+
7442cc3
Group: System Environment/Libraries
7442cc3
Requires: gtk3 = %{version}-%{release}
7442cc3
# for /etc/X11/xinit/xinput.d
7442cc3
Requires: imsettings
7442cc3
7442cc3
%description immodules
7442cc3
The gtk3-immodules package contains standalone input methods that are shipped
7442cc3
as part of GTK+ 3.
7442cc3
7442cc3
%package immodule-xim
7442cc3
Summary: XIM support for GTK+
7442cc3
Group: System Environment/Libraries
7442cc3
Requires: gtk3 = %{version}-%{release}
7442cc3
7442cc3
%description immodule-xim
7442cc3
The gtk3-immodule-xim package contains XIM support for GTK+ 3.
7442cc3
7442cc3
%package devel
7442cc3
Summary: Development files for GTK+
7442cc3
Group: Development/Libraries
7442cc3
Requires: gtk3 = %{version}-%{release}
7442cc3
Requires: libX11-devel, libXcursor-devel, libXinerama-devel
7442cc3
Requires: libXext-devel, libXi-devel, libXrandr-devel
7442cc3
Requires: libXfixes-devel, libXcomposite-devel
7442cc3
# for /usr/share/aclocal
7442cc3
Requires: automake
7442cc3
7442cc3
%description devel
7442cc3
This package contains the libraries and header files that are needed
7442cc3
for writing applications with version 3 of the GTK+ widget toolkit. If
7442cc3
you plan to develop applications with GTK+, consider installing the
7442cc3
gtk3-devel-docs package.
7442cc3
7442cc3
%package devel-docs
7442cc3
Summary: Developer documentation for GTK+
7442cc3
Group: Development/Libraries
7442cc3
Requires: gtk3 = %{version}-%{release}
7442cc3
# for /usr/share/gtk-doc/html
7442cc3
Requires: gtk-doc
7442cc3
7442cc3
%description devel-docs
7442cc3
This package contains developer documentation for version 3 of the GTK+
7442cc3
widget toolkit.
7442cc3
7442cc3
%prep
7442cc3
%setup -q -n gtk+-%{version}
a66f0b3
%patch0 -p1 -b .system-python
a66f0b3
%patch1 -p1 -b .fresh-tooltips
a66f0b3
%patch3 -p1 -b .window-dragging
7442cc3
7442cc3
%build
a66f0b3
%configure --with-xinput                \
7442cc3
           --disable-gtk-doc            \
7442cc3
           --disable-rebuilds           \
45f7964
           --enable-introspection
7442cc3
7442cc3
# fight unused direct deps
7442cc3
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
7442cc3
7442cc3
make %{?_smp_mflags}
7442cc3
7442cc3
# truncate NEWS
7442cc3
awk '/^Overview of Changes/ { seen+=1 }
7442cc3
{ if (seen < 2) print }
7442cc3
{ if (seen == 2) { print "For older news, see http://git.gnome.org/cgit/gtk+/plain/NEWS"; exit } }' NEWS > tmp; mv tmp NEWS
7442cc3
7442cc3
7442cc3
%install
7442cc3
make install DESTDIR=$RPM_BUILD_ROOT        \
45f7964
             RUN_QUERY_IMMODULES_TEST=false
7442cc3
7442cc3
%find_lang gtk30
7442cc3
%find_lang gtk30-properties
7442cc3
7442cc3
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-3.0
c890c92
7442cc3
#
7442cc3
# Make cleaned-up versions of tutorials, examples, and faq for installation
7442cc3
#
7442cc3
mkdir -p tmpdocs
7442cc3
cp -aR docs/tutorial/html tmpdocs/tutorial
7442cc3
cp -aR docs/faq/html tmpdocs/faq
7442cc3
7442cc3
for dir in examples/* ; do
7442cc3
  if [ -d $dir ] ; then
7442cc3
     mkdir -p tmpdocs/$dir
7442cc3
     for file in $dir/* ; do
7442cc3
       install -m 0644 $file tmpdocs/$dir
7442cc3
     done
7442cc3
  fi
7442cc3
done
7442cc3
c890c92
(cd $RPM_BUILD_ROOT%{_bindir}
c890c92
 mv gtk-query-immodules-3.0 gtk-query-immodules-3.0-%{__isa_bits}
c890c92
)
7442cc3
7442cc3
# Input method frameworks want this
c890c92
install -D %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/im-cedilla.conf
7442cc3
7442cc3
# Remove unpackaged files
7442cc3
rm $RPM_BUILD_ROOT%{_libdir}/*.la
7442cc3
rm $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/*/*.la
7442cc3
rm $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/*/*.la
7442cc3
c890c92
touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/immodules.cache
7442cc3
7442cc3
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/modules
7442cc3
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/immodules
7442cc3
7442cc3
%post
7442cc3
/sbin/ldconfig
c890c92
gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
7442cc3
%post immodules
c890c92
gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
7442cc3
%post immodule-xim
c890c92
gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
7442cc3
%postun
7442cc3
/sbin/ldconfig
7442cc3
if [ $1 -gt 0 ]; then
c890c92
  gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
fi
7442cc3
7442cc3
%postun immodules
c890c92
gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
7442cc3
%postun immodule-xim
c890c92
gtk-query-immodules-3.0-%{__isa_bits} --update-cache
7442cc3
7442cc3
%files -f gtk30.lang
7442cc3
%defattr(-, root, root, -)
7442cc3
%doc AUTHORS COPYING NEWS README
7442cc3
%{_bindir}/gtk-query-immodules-3.0*
7442cc3
%{_bindir}/gtk-update-icon-cache-3.0
7442cc3
%{_libdir}/libgtk-x11-3.0.so.*
7442cc3
%{_libdir}/libgdk-x11-3.0.so.*
7442cc3
%{_libdir}/libgdk_pixbuf-3.0.so.*
7442cc3
%{_libdir}/libgdk_pixbuf_xlib-3.0.so.*
7442cc3
%{_libdir}/libgailutil-3.0.so.*
7442cc3
%dir %{_libdir}/gtk-3.0
7442cc3
%dir %{_libdir}/gtk-3.0/%{bin_version}
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/engines
7442cc3
%dir %{_libdir}/gtk-3.0/%{bin_version}/immodules
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/printbackends
7442cc3
%{_libdir}/gtk-3.0/modules
7442cc3
%{_libdir}/gtk-3.0/immodules
7442cc3
%{_datadir}/themes/Default
7442cc3
%{_datadir}/themes/Emacs
7442cc3
%{_datadir}/themes/Raleigh
7442cc3
%{_libdir}/girepository-1.0
c890c92
%dir %{_sysconfdir}/gtk-3.0
c890c92
%ghost %{_libdir}/gtk-3.0/%{bin_version}/immodules.cache
ec1868f
%{_mandir}/man1/gtk-query-immodules-3.0.1.gz
ec1868f
%{_mandir}/man1/gtk-update-icon-cache-3.0.1.gz
7442cc3
7442cc3
%files immodules
7442cc3
%defattr(-, root, root, -)
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-am-et.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-cedilla.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-cyrillic-translit.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-inuktitut.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ipa.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-multipress.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-thai.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-er.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-et.so
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-viqr.so
7442cc3
%{_sysconfdir}/X11/xinit/xinput.d/im-cedilla.conf
7442cc3
%config(noreplace) %{_sysconfdir}/gtk-3.0/im-multipress.conf
7442cc3
7442cc3
%files immodule-xim
7442cc3
%defattr(-, root, root, -)
7442cc3
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-xim.so
7442cc3
7442cc3
%files devel -f gtk30-properties.lang
7442cc3
%defattr(-, root, root, -)
7442cc3
%{_libdir}/lib*.so
7442cc3
%{_libdir}/gtk-3.0/include
7442cc3
%{_includedir}/*
7442cc3
%{_datadir}/aclocal/*
7442cc3
%{_bindir}/gtk-builder-convert-3.0
7442cc3
%{_libdir}/pkgconfig/*
7442cc3
%{_bindir}/gtk3-demo
7442cc3
%{_datadir}/gtk-3.0
7442cc3
%{_datadir}/gir-1.0
7442cc3
7442cc3
%files devel-docs
7442cc3
%defattr(-, root, root, -)
7442cc3
%{_datadir}/gtk-doc/html/*
ec1868f
%{_mandir}/man1/gdk-pixbuf-csource-3.0.1.gz
ec1868f
%{_mandir}/man1/gtk-builder-convert-3.0.1.gz
7442cc3
%doc tmpdocs/tutorial
7442cc3
%doc tmpdocs/faq
7442cc3
%doc tmpdocs/examples
7442cc3
7442cc3
%changelog
45f7964
* Mon Jun 28 2010 Matthias Clasen <mclasen@redhat.com> 2.90.4-1
45f7964
- Update to 2.90.4
45f7964
15308e3
* Fri Jun 18 2010 Matthias Clasen <mclasen@redhat.com> 2.90.3-1
15308e3
- Update to 2.90.3
15308e3
c697fd5
* Sat Jun 12 2010 Matthias Clasen <mclasen@redhat.com> 2.90.2-2
c697fd5
- Copy some tweaks from gtk2
c697fd5
dd8ffa9
* Tue Jun  8 2010 Matthias Clasen <mclasen@redhat.com> 2.90.2-1
dd8ffa9
- Update to 2.90.2
dd8ffa9
c890c92
* Tue May 25 2010 Matthias Clasen <mclasen@redhat.com> 2.90.1-1
c890c92
- Update to 2.90.1
c890c92
7442cc3
* Fri May 21 2010 Matthias Clasen <mclasen@redhat.com> 2.90.0-5
7442cc3
- Some more package review feedback
7442cc3
7442cc3
* Thu May 20 2010 Matthias Clasen <mclasen@redhat.com> 2.90.0-4
7442cc3
- Remove %%check again, it causes trouble
7442cc3
7442cc3
* Mon May 17 2010 Matthias Clasen <mclasen@redhat.com> 2.90.0-3
7442cc3
- More review feedback
7442cc3
7442cc3
* Wed May 12 2010 Matthias Clasen <mclasen@redhat.com> 2.90.0-2
7442cc3
- Incorporate review feedback
7442cc3
7442cc3
* Wed May 11 2010 Matthias Clasen <mclasen@redhat.com> 2.90.0-1
7442cc3
- Update to the 2.90.0 release
7442cc3
- Complete parallel installability
7442cc3
7442cc3
* Mon May 10 2010 Richard Hughes <richard@hughsie.com> 2.90.0-0.0.20100510git
7442cc3
- Update from git