%global gem_name clutter-gtk
Name: rubygem-%{gem_name}
Version: 2.2.5
Release: 1%{?dist}
Summary: Ruby binding of Clutter-GTK
License: LGPLv2+
URL: http://ruby-gnome2.sourceforge.jp/
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
# https://raw.githubusercontent.com/ruby-gnome2/ruby-gnome2/master/COPYING.LIB
# renamed to avoid namespace collision on sourcedir
Source1: COPYING.LIB.clutter-gtk
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: rubygem(clutter)
BuildRequires: rubygem(gtk3)
BuildRequires: rubygem-glib2-devel
BuildRequires: rubygem(test-unit)
BuildRequires: rubygem(test-unit-notify)
BuildRequires: %{_bindir}/xvfb-run
# See bug 904851 and below
BuildRequires: mesa-dri-drivers
BuildRequires: clutter-gtk
Requires: clutter-gtk
BuildArch: noarch
%description
Ruby/ClutterGTK is a Ruby binding of Clutter-GTK.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
%description doc
Documentation for %{name}.
%prep
gem unpack %{SOURCE0}
%setup -q -D -T -n %{gem_name}-%{version}
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
# Adjust rubygems-gnome2 requirement to be more flexible
sed -i -e 's|= 2\.2\.5|>= 2.2.5|' %{gem_name}.gemspec
# Fix permission
find . -name \*.rb -print0 | xargs --null chmod 0644
%build
gem build %{gem_name}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
install -cpm 644 %{SOURCE1} %{buildroot}%{gem_instdir}/COPYING.LIB
# cleanup
pushd %{buildroot}%{gem_instdir}
rm -rf \
Rakefile \
test/
popd
%check
pushd .%{gem_instdir}
mkdir tmp
touch \
tmp/gobject-introspection-test-utils.rb \
tmp/clutter-test-utils.rb
# Tweak test source directory
sed -i \
-e '\@clutter_gtk_test_base =@s|clutter_gtk_base|File.dirname(__FILE__), ".."|' \
test/run-test.rb
# Clutter-CRITICAL **:Unable to initialize Clutter:
# Unable to find suitable fbconfig for the GLX context:
# Failed to find any compatible fbconfigs
#
# So use screen depth 24, see bug 904851
#
# https://github.com/ruby-gnome2/ruby-gnome2/issues/274
# Umm.. under non-chroot environment, the following passes.
# However in mock environ the following sometimes fails.
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/clutter/clutter-1.18.4.ebuild?view=markup
# may suggest that this may be related to mesa driver issues,
# however I am not sure - disabled for now
#
test -n "$XAUTHORITY" || exit 0
xvfb-run -s "-screen 0 640x480x24" \
ruby -Ilib:tmp:test ./test/run-test.rb
rm -rf tmp/
popd
%files
%dir %{gem_instdir}
%license %{gem_instdir}/COPYING.LIB
%{gem_libdir}
%{gem_spec}
%exclude %{gem_cache}
%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/sample/
%changelog
* Wed Apr 29 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.2.5-1
- 2.2.5
* Sun Dec 28 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.2.4-1
- 2.2.4
* Mon Dec 8 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.2.3-2
- Change some comments
* Thu Dec 4 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.2.3-1
- Initial package