-%define ruby_archdir %(ruby -r rbconfig -e 'print Config::CONFIG["archdir"]')
-%define ruby_rubylibdir %(ruby -r rbconfig -e 'print Config::CONFIG["rubylibdir"]')
+%define pkgname rcairo
Summary: Cairo module for Ruby
-Summary(pl): Modu³ Cairo dla Ruby
-Name: ruby-rcairo
-Version: 0.1
-%define snap 20050208
-Release: 0.%{snap}.1
-License: GPL
+Summary(pl.UTF-8): Moduł Cairo dla języka Ruby
+Name: ruby-%{pkgname}
+Version: 1.16.2
+Release: 1
+License: GPL or custom (see COPYING)
Group: Development/Languages
-Source0: http://cairographics.org/~pippin/cairo/ruby/rcairo-%{snap}.tar.gz
-# Source0-md5: a3b550934bce96eeebb9c458fe6e7237
-URL: http://www2.giganet.net/~yoshi/
-BuildRequires: cairo-devel
-BuildRequires: ruby-devel
-Requires: cairo
-Requires: ruby
+Source0: https://www.cairographics.org/releases/rcairo-%{version}.tar.gz
+# Source0-md5: cb5a50a7ae195c29d91f3da154b2cbb8
+Patch0: %{name}-hdr.patch
+Patch1: no-native-packages.patch
+URL: https://www.cairographics.org/rcairo/
+BuildRequires: cairo-devel >= 1.14.0
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.410
+BuildRequires: ruby-devel >= 1:1.8
+BuildRequires: ruby-pkg-config
+Requires: cairo >= 1.14.0
+Requires: ruby >= 1:1.8
+# dropped?
+Obsoletes: ruby-rcairo-gtkcairo
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# TODO: move this to rpm macros.build
+%define ruby_hdrdir %(%{__ruby} -r rbconfig -e 'print RbConfig::CONFIG["rubyhdrdir"]')
+
%description
Cairo module for Ruby.
-%description -l pl
-Modu³ Cairo dla Ruby.
+%description -l pl.UTF-8
+Moduł Cairo dla języka Ruby.
-%package gtkcairo
-Summary: GTKCairo Library for Ruby
-Summary(pl): Biblioteki GTKCairo dla Ruby
+%package devel
+Summary: Header file for Ruby rcairo extension
+Summary(pl.UTF-8): Plik nagłówkowy rozszerzenia rcairo dla języka Ruby
Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: cairo-devel >= 1.14.0
+Requires: ruby-devel >= 1:1.8
-%description gtkcairo
-GTKCairo Library for Ruby.
+%description devel
+Header file for Ruby rcairo extension.
-%description -l pl
-Biblioteki GTKCairo dla Ruby.
+%description devel -l pl.UTF-8
+Plik nagłówkowy rozszerzenia rcairo dla języka Ruby.
%prep
-%setup -q -n rcairo
+%setup -q -n rcairo-%{version}
+%patch0 -p1
+%patch1 -p1
%build
-ruby setup.rb config \
- --site-ruby=%{ruby_rubylibdir} \
- --so-dir=%{ruby_archdir}
-ruby setup.rb setup
+ruby extconf.rb
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{ruby_archdir},%{_examplesdir}/%{name}-%{version}}
-
-ruby setup.rb install --prefix=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{ruby_hdrdir},%{_examplesdir}/%{name}-%{version}}
-cp -a samples/* $RPM_BUILD_ROOT/%{_examplesdir}/%{name}-%{version}
+%{__make} -j1 install \
+ RUBYLIBDIR=$RPM_BUILD_ROOT%{ruby_vendorlibdir} \
+ RUBYHDRDIR=$RPM_BUILD_ROOT%{ruby_hdrdir} \
+ sitearchdir=$RPM_BUILD_ROOT%{ruby_vendorarchdir}
+cp -a samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README
-%attr(755,root,root) %{ruby_archdir}/cairo.so
-%{ruby_rubylibdir}/cairo.rb
-%dir %{_examplesdir}/%{name}-%{version}
-%{_examplesdir}/%{name}-%{version}/png*
-%{_examplesdir}/%{name}-%{version}/pdf*
-%{_examplesdir}/%{name}-%{version}/ps*
+%doc AUTHORS COPYING NEWS README.rdoc
+%attr(755,root,root) %{ruby_vendorarchdir}/cairo.so
+%{ruby_vendorlibdir}/cairo
+%{ruby_vendorlibdir}/cairo.rb
+%{_examplesdir}/%{name}-%{version}
-%files gtkcairo
+%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{ruby_archdir}/gtkcairo.so
-%{ruby_rubylibdir}/canvas.rb
-%{_examplesdir}/%{name}-%{version}/gtk*
-%{_examplesdir}/%{name}-%{version}/canvas
+%{ruby_hdrdir}/rb_cairo.h