%global gem_name rugged
%global commit 233da19f48217082a018c9b89c1ade02a2d0cd51
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Summary: Rugged is a Ruby binding to the libgit2 library
Name: rubygem-%{gem_name}
Version: 0.23.0
Release: 0.20150731git%{shortcommit}%{?dist}
Group: Development/Languages
License: MIT
URL: https://github.com/libgit2/rugged
#Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
Source0: https://github.com/libgit2/rugged/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz
# 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.2
# tar cfz rugged-0.22.2-test.tgz test/ Rakefile
#Source1: %{gem_name}-%{version}-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}
%autosetup -n rugged-%{commit}
#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
%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
* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@Foobar.org> - 0.22.2-4.20150731git233da19
- Bump to latest git
* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.22.2-3
- Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 25 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 0.22.2-1
- Update to 0.22.2 (rhbz#1222540)
- Use HTTPS urls
* Tue May 05 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 0.22.1-0.1.b1
- Update to version 0.22.1b1 (rhbz#1166414)
* Fri Jan 16 2015 Vít Ondruch <vondruch@redhat.com> - 0.21.0-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.2
* Fri Dec 26 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 0.21.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 03 2014 Troy Dawson <tdawson@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0.19.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Feb 05 2014 Troy Dawson <tdawson@redhat.com> - 0.19.0-6
- Misc packaging fixes (#1061552) Ken Dreyer
* Mon Jan 06 2014 Troy Dawson <tdawson@redhat.com> - 0.19.0-5
- Misc spec file fixes (#1048958) Ken Dreyer
- Change vendor patch to sed command
* Mon Sep 09 2013 Troy Dawson <tdawson@redhat.com> - 0.19.0-4
- Update comments about test source
- Fix zero length files in test
* Fri Sep 06 2013 Troy Dawson <tdawson@redhat.com> - 0.19.0-3
- Added full test directory
- use minitest for tests
- Added .so file provides filter
* Thu Aug 22 2013 Troy Dawson <tdawson@redhat.com> - 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 <tdawson@redhat.com> - 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 <tdawson@redhat.com> - 0.19.0-1
- Updated to latest release - 0.19.0
- Cleaned up bad tests
* Tue Jul 09 2013 Troy Dawson <tdawson@redhat.com> - 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 <tdawson@redhat.com> - 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 <tdawson@redhat.com> - 0.16.0-1
- Initial package