%global app_root %{_datadir}/%{name}
%global gem_name hub
# https://fedoraproject.org/wiki/Packaging:SourceURL#Github
# For a number of reasons (immutability, availability, uniqueness), you must
# use the full commit revision hash when referring to the sources.
%global commit 748c1359b33e3f6af843d7b9eaaf990e563a8449
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Summary: A command-line wrapper for git with github shortcuts
Name: hub
Version: 1.12.4
Release: 2%{?dist}
Group: Development/Languages
License: MIT
URL: http://hub.github.com/
# https://fedoraproject.org/wiki/Packaging:SourceURL#Github
# Keep in mind that github tarballs are generated on-demand, so their
# modification dates will vary and cause checksum tests to fail. Reviewers will
# need to use diff -r to verify the tarballs.
Source0: https://github.com/github/hub/archive/%{commit}/hub-%{commit}.tar.gz
BuildArch: noarch
BuildRequires: ruby-devel
BuildRequires: rubygems-devel
BuildRequires: rubygem(rspec)
## For the test suite.
#BuildRequires: rubygem-minitest
#BuildRequires: rubygem-webmock
#BuildRequires: rubygem-bundler
#BuildRequires: rubygem-rake>=10.1.1
#BuildRequires: rubygem-cucumber
#BuildRequires: tmux
#BuildRequires: zsh
Requires: ruby(rubygems)
Requires: ruby(release)
Requires: ruby
%description
hub is a command line tool that wraps `git` in order to extend it with extra
features and commands that make working with GitHub easier.
$ hub clone rtomayko/tilt
# expands to:
$ git clone git://github.com/rtomayko/tilt.git
%package doc
Summary: API documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
%description doc
Documentation for %{name} generated by rdoc.
%prep
%setup -qn %{name}-%{commit}
%build
gem build %{gem_name}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
rm -rf %{buildroot}%{gem_dir}/doc/
mkdir -p %{buildroot}%{_bindir}
cp -a ./%{_bindir}/hub %{buildroot}%{_bindir}/hub
install -d -m 755 %{buildroot}%{_mandir}/man1/
cp -p man/hub.1 %{buildroot}%{_mandir}/man1/.
## rdoc is so squirrely..
#rdoc --op %{buildroot}%{_defaultdocdir}/%{name}/
## But then, it gets installed twice in that directory; remove the nested one.
#rm -rf %{buildroot}%{_defaultdocdir}/%{name}/usr/
## Remove spurious executable permission
#chmod -x %{buildroot}%{_defaultdocdir}/%{name}/images/*.png
# Tests are commented out for now since they require rubygem-rake>=10.1.1 which
# isn't available in rawhide yet.
#%%check
#./script/test
%files
%doc LICENSE README.md CONTRIBUTING.md
%{_bindir}/hub
%{_mandir}/man1/hub.1.gz
%{gem_spec}
%{gem_instdir}
%exclude %{gem_cache}
%files doc
%{_defaultdocdir}/%{name}/
%changelog
* Wed May 27 2015 Ralph Bean <rbean@redhat.com> - 1.12-4-2
- Require ruby (for ruby-mri. jruby and hub don't get along.)
https://bugzilla.redhat.com/show_bug.cgi?id=1225254
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 1.12.4-1
- New version
- Stop building with rdoc for now because its being so squirrely.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.12.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 28 2014 Ralph Bean <rbean@redhat.com> - 1.12.1-1
- Latest upstream.
* Thu May 22 2014 Ralph Bean <rbean@redhat.com> - 1.12.0-4
- Add -doc subpackage with rdoc product.
- Add check section, but left it commented out due to dep issues.
- Remove spurious man files.
- Remove weirdly nested docs from rdoc.
* Wed Apr 02 2014 Ralph Bean <rbean@redhat.com> - 1.12.0-3
- Update Source0 URL to use the github guidelines.
- Replace weird %%prep %%setup stuff with something more familiar.
* Wed Apr 02 2014 Ralph Bean <rbean@redhat.com> - 1.12.0-2
- Remove version from the doc directory.
- Replace install macro with just "install".
* Mon Mar 31 2014 Ralph Bean <rbean@redhat.com> - 1.12.0-1
- Initial packaging for Fedora