Blob Blame History Raw
%global gem_name rugged

Summary:       Rugged is a Ruby binding to the libgit2 library
Name:          rubygem-%{gem_name}
Version:       0.21.0
Release:       3%{?dist}
Group:         Development/Languages
License:       MIT
URL:           http://github.com/libgit2/rugged
Source0:       http://rubygems.org/gems/%{gem_name}-%{version}.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.21.0
#  tar cfz rugged-0.21.0-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}
%setup -q -D -T -n  %{gem_name}-%{version}

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

%build
# Setting for rugged v0.21.0:
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 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