%global gem_name rugged # Pre-release settings: %global pre b1 %global gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}%{pre} %global gem_cache %{gem_dir}/cache/%{gem_name}-%{version}%{pre}.gem %global gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}%{pre}.gemspec %global gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}%{pre} %global gem_extdir_mri %{_libdir}/gems/ruby/%{gem_name}-%{version}%{pre} Summary: Rugged is a Ruby binding to the libgit2 library Name: rubygem-%{gem_name} Version: 0.22.1 Release: 0.1.%{pre}%{?dist} Group: Development/Languages License: MIT URL: http://github.com/libgit2/rugged Source0: http://rubygems.org/gems/%{gem_name}-%{version}%{pre}.gem # The test directory for this version is incomplete due to gemspec bug. # Upstream has removed test and Rakefile from gem in future versions. # https://github.com/libgit2/rugged/issues/262 # https://github.com/libgit2/rugged/pull/263 # This is how we are getting the tests (Source1) # git clone git://github.com/libgit2/rugged.git # cd rugged/ # git checkout v0.22.1b1 # tar cfz rugged-0.22.1b1-test.tgz test/ Rakefile Source1: %{gem_name}-%{version}%{pre}-test.tgz Requires: ruby(rubygems) Requires: ruby BuildRequires: ruby BuildRequires: git BuildRequires: cmake BuildRequires: libgit2-devel BuildRequires: ruby-devel BuildRequires: rubygem(minitest) BuildRequires: rubygems-devel Provides: rubygem(%{gem_name}) = %{version} %{?rubygems_default_filter} %description Rugged is a Ruby bindings to the libgit2W C Git library. This is for testing and using the libgit2 library in a language that is awesome. %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name} %prep gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version}%{pre} gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec rm -rf vendor # Remove the bundled libraries from gemspec sed -i -e 's\, "vendor[^,]*"\\g' rugged.gemspec # The build system requres libgit2's version.h to be present, and defaults to # using the vendor'd copy. Use the system copy instead. sed -i -e 's|LIBGIT2_DIR = .*|LIBGIT2_DIR = "/usr"|' ext/rugged/extconf.rb %build export CONFIGURE_ARGS="--with-cflags='%{optflags}' --use-system-libraries" gem build %{gem_name}.gemspec %gem_install -n %{gem_name}-%{version}%{pre}.gem %install mkdir -p %{buildroot}%{gem_dir} cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/ # move C extensions to the extdir. %if 0%{?fedora} >= 21 mkdir -p %{buildroot}%{gem_extdir_mri}/ cp -a .%{gem_extdir_mri}/{gem.build_complete,%{gem_name}/} %{buildroot}%{gem_extdir_mri}/ %else mkdir -p %{buildroot}%{gem_extdir_mri}/ext/%{gem_name}/ mv %{buildroot}%{gem_instdir}/ext/%{gem_name}/rugged.so %{buildroot}%{gem_extdir_mri}/ext/%{gem_name}/ %endif # We don't need those files anymore. rm -rf %{buildroot}%{gem_instdir}/ext/ %check pushd .%{gem_instdir} tar xfz %{SOURCE1} export LANG="en_US.UTF-8" git config --global user.name John Doe # Comment out the test until we get the minitest/autorun figured out # testrb -Ilib test/*test.rb popd %files %doc %{gem_instdir}/LICENSE %doc %{gem_instdir}/README.md %dir %{gem_instdir} %{gem_libdir} %{gem_extdir_mri} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %changelog * Tue May 05 2015 Ken Dreyer - 0.22.1-0.1.b1 - Update to version 0.22.1b1 (rhbz#1166414) * Fri Jan 16 2015 Vít Ondruch - 0.21.0-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.2 * Fri Dec 26 2014 Mamoru TASAKA - 0.21.0-3 - Install gem.build_complete on F-21 and move extension file to the correct location (bug 1176450) * Mon Aug 18 2014 Fedora Release Engineering - 0.21.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Thu Jul 03 2014 Troy Dawson - 0.21.0-1 - Update to version 0.21.0 - Comment out the test until we get minitest/autorun figured out * Sun Jun 08 2014 Fedora Release Engineering - 0.19.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Feb 05 2014 Troy Dawson - 0.19.0-6 - Misc packaging fixes (#1061552) Ken Dreyer * Mon Jan 06 2014 Troy Dawson - 0.19.0-5 - Misc spec file fixes (#1048958) Ken Dreyer - Change vendor patch to sed command * Mon Sep 09 2013 Troy Dawson - 0.19.0-4 - Update comments about test source - Fix zero length files in test * Fri Sep 06 2013 Troy Dawson - 0.19.0-3 - Added full test directory - use minitest for tests - Added .so file provides filter * Thu Aug 22 2013 Troy Dawson - 0.19.0-2 - remove vendor directory and patch gemspec to reflect that - export LIBGIT2_PATH before building to use system git2 * Mon Jul 22 2013 Troy Dawson - 0.19.0-1 - Updated to latest release - 0.19.0 - Cleaned up bad tests - Comment out check, due to bad exit code from successful tests * Mon Jul 22 2013 Troy Dawson - 0.19.0-1 - Updated to latest release - 0.19.0 - Cleaned up bad tests * Tue Jul 09 2013 Troy Dawson - 0.16.0-3 - Change build section to use current ruby guidelines - move lib/rugged/rugged.so instead of ext/rugged/rugged.so - move rugged.so into the correct directory - cleanup test, now runs without problems * Tue Jul 02 2013 Troy Dawson - 0.16.0-2 - Make macro's more consistant - Remove extra rugged.so - Set correct permissions for rugged.so - Run test (thanks to Axilleas Pipinellis for this) - Add libgit2-devel to buildrequires - this causes the build to use system libgit2 instead of bundled version. * Mon Mar 18 2013 Troy Dawson - 0.16.0-1 - Initial package