%global apiver 3.0 # first two digits of version %define release_version %(echo %{version} | awk -F. '{print $1"."$2}') Name: gtkmm30 Version: 2.90.4.0 Release: 3%{?dist} Summary: C++ interface for the GTK+ library Group: System Environment/Libraries License: LGPLv2+ URL: http://www.gtkmm.org/ Source0: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/%{release_version}/gtkmm-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: atkmm-devel BuildRequires: cairomm-devel BuildRequires: glibmm24-devel BuildRequires: gtk3-devel BuildRequires: pangomm-devel %description gtkmm is the official C++ interface for the popular GUI library GTK+. Highlights include type safe callbacks, and a comprehensive set of widgets that are easily extensible via inheritance. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: atkmm-devel Requires: cairomm-devel Requires: glibmm24-devel Requires: gtk3-devel Requires: pangomm-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: API documentation for %{name} Group: Documentation BuildArch: noarch Requires: %{name} = %{version}-%{release} # for /usr/share/gtk-doc/html Requires: gtk-doc %description doc This package contains the full API documentation for %{name}. %prep %setup -q -n gtkmm-%{version} # Copy demos before build to avoid including built binaries in -doc package mkdir -p _docs cp -a demos/ _docs/ %build %configure --disable-static # fix lib64 rpaths sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool # avoid unused direct dependencies sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT docs-to-include make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' # Fix documentation installation, put everything under gtk-doc mkdir -p $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/gtkmm-%{apiver} mv $RPM_BUILD_ROOT%{_docdir}/gtkmm-%{apiver}/* $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/gtkmm-%{apiver}/ mv $RPM_BUILD_ROOT%{_datadir}/devhelp/books/gtkmm-%{apiver}/*.devhelp2 $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/gtkmm-%{apiver} # Fix devhelp broken base tag sed -i 's:base="[^\"]*":base="%{_datadir}/gtk-doc/html/gtkmm-%{apiver}/reference/html":' $RPM_BUILD_ROOT%{_datadir}/gtk-doc/html/gtkmm-%{apiver}/*.devhelp2 %check make check %{?_smp_mflags} %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS COPYING NEWS README %{_libdir}/*.so.* %files devel %defattr(-,root,root,-) %{_includedir}/gtkmm-%{apiver}/ %{_includedir}/gdkmm-%{apiver}/ %{_libdir}/*.so %{_libdir}/gtkmm-%{apiver}/ %{_libdir}/gdkmm-%{apiver}/ %{_libdir}/pkgconfig/*.pc %files doc %defattr(-,root,root,-) %{_datadir}/gtk-doc/html/gtkmm-%{apiver}/ %doc _docs/* %changelog * Wed Jul 07 2010 Kalev Lember - 2.90.4.0-3 - Avoid putting built demos in /usr/share (#608326) - Moved demos to -doc package * Tue Jul 06 2010 Kalev Lember - 2.90.4.0-2 - Review fixes (#608326) - Fixed lib64 rpaths - Added %%check section - Use %%define instead of %%global to set release_version macro, as the latter seems to confuse rpmlint - Replaced hardcoded /usr/share with %%_datadir macro - Updated description * Mon Jul 05 2010 Kalev Lember - 2.90.4.0-1 - Update to 2.90.4.0 * Sat Jun 26 2010 Kalev Lember - 2.90.3.1-1 - Initial gtkmm30 spec based on gtkmm24 spec