a7e3994
#global rcver b4
bd0d41a
%global bundled_git_version 2.26.2
4cd5da9
%global gitexecdir %{_libexecdir}/git-core
7af46e2
%global _python_bytecompile_extra 0
4cd5da9
4cd5da9
Name:           git-cinnabar
bd0d41a
Version:        0.5.5
907a6aa
Release:        1%{?dist}
4cd5da9
Summary:        Git remote helper to interact with mercurial repositories
4cd5da9
4cd5da9
License:        GPLv2
4cd5da9
URL:            https://github.com/glandium/git-cinnabar
a7e3994
Source0:        https://github.com/glandium/%{name}/archive/%{version}%{?rcver}/%{name}-%{version}%{?rcver}.tar.gz
4cd5da9
Source1:        https://mirrors.edge.kernel.org/pub/software/scm/git/git-%{bundled_git_version}.tar.xz
4cd5da9
# Skip stuff that's not relevant for a tarball.
4cd5da9
Patch0001:      0001-Skip-version-checks.patch
4cd5da9
# hg clone https://hg.mozilla.org/users/mh_glandium.org/jqplot &&
4cd5da9
# cd jqplot &&
8da5d01
# hg bundle --all ../jqplot$(hg id -i).hg
8da5d01
Source2:        jqplot-e8af8a37f0f1.hg
907a6aa
# Shebangs must match package requirements.
bd0d41a
Patch0002:      0002-Make-Python-shebangs-explicit.patch
4cd5da9
4cd5da9
BuildRequires:  gcc
4cd5da9
BuildRequires:  make
f0d1023
BuildRequires:  perl-macros
4cd5da9
BuildRequires:  python2-devel
4cd5da9
BuildRequires:  hg >= 1.9
4cd5da9
# Bundled git requirements:
4cd5da9
BuildRequires:  git
4cd5da9
BuildRequires:  libcurl-devel
4cd5da9
BuildRequires:  zlib-devel >= 1.2
4cd5da9
4cd5da9
Requires:       git-core
4cd5da9
Requires:       hg >= 1.9
4cd5da9
4cd5da9
Provides:       bundled(git) = %{bundled_git_version}
4cd5da9
4cd5da9
%description
4cd5da9
git-cinnabar is a git remote helper to interact with mercurial repositories.
4cd5da9
Contrary to other such helpers, it doesn't use a local mercurial clone under
4cd5da9
the hood, although it currently does require mercurial to be installed for some
4cd5da9
of its libraries.
4cd5da9
4cd5da9
4cd5da9
%prep
a7e3994
%autosetup -p1 -n %{name}-%{version}%{?rcver}
a7e3994
%setup -D -T -n %{name}-%{version}%{?rcver} -q -a 1
4cd5da9
rmdir git-core
4cd5da9
mv git-%{bundled_git_version} git-core
4cd5da9
4cd5da9
# Use these same options for every invocation of 'make'.
4cd5da9
# Otherwise it will rebuild in %%install due to flags changes.
907a6aa
# Pipe to tee to aid confirmation/verification of settings.
907a6aa
cat << \EOF | tee config.mak
4cd5da9
V = 1
907a6aa
CFLAGS = %{build_cflags}
907a6aa
LDFLAGS = %{build_ldflags}
4cd5da9
NEEDS_CRYPTO_WITH_SSL = 1
4cd5da9
USE_LIBPCRE = 1
4cd5da9
ETC_GITCONFIG = %{_sysconfdir}/gitconfig
4e3cdcc
INSTALL_SYMLINKS = 1
4cd5da9
GITWEB_PROJECTROOT = %{_localstatedir}/lib/git
4cd5da9
GNU_ROFF = 1
4e3cdcc
NO_PERL_CPAN_FALLBACKS = 1
907a6aa
NO_PYTHON = 1
4cd5da9
htmldir = %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
4cd5da9
prefix = %{_prefix}
4e3cdcc
perllibdir = %{perl_vendorlib}
4cd5da9
gitwebdir = %{_localstatedir}/www/git
907a6aa
4e3cdcc
# Test options
4e3cdcc
DEFAULT_TEST_TARGET = prove
907a6aa
GIT_PROVE_OPTS = --verbose --normalize %{?_smp_mflags} --formatter=TAP::Formatter::File
4e3cdcc
GIT_TEST_OPTS = -x --verbose-log
4cd5da9
EOF
4cd5da9
4cd5da9
4cd5da9
%build
4cd5da9
%make_build helper
4cd5da9
4cd5da9
4cd5da9
%install
4cd5da9
# Can't make_install because it tries to build all of git.
4cd5da9
install -d %{buildroot}%{gitexecdir}
4cd5da9
install -p -m 0755 git-cinnabar %{buildroot}%{gitexecdir}
4cd5da9
install -p -m 0755 git-cinnabar-helper %{buildroot}%{gitexecdir}
4cd5da9
install -p -m 0755 git-remote-hg %{buildroot}%{gitexecdir}
4cd5da9
install -d %{buildroot}%{gitexecdir}/cinnabar
4cd5da9
install -p -m 0644 cinnabar/*.py %{buildroot}%{gitexecdir}/cinnabar
4cd5da9
install -d %{buildroot}%{gitexecdir}/cinnabar/cmd
4cd5da9
install -p -m 0644 cinnabar/cmd/*.py %{buildroot}%{gitexecdir}/cinnabar/cmd
4cd5da9
install -d %{buildroot}%{gitexecdir}/cinnabar/hg
4cd5da9
install -p -m 0644 cinnabar/hg/*.py %{buildroot}%{gitexecdir}/cinnabar/hg
4cd5da9
7af46e2
%py_byte_compile %{__python2} %{buildroot}%{gitexecdir}/cinnabar
7af46e2
4cd5da9
4cd5da9
%check
4cd5da9
# Check the installed copies.
907a6aa
mkdir gitexecdir
907a6aa
for f in %{gitexecdir}/* %{buildroot}%{gitexecdir}/*; do
907a6aa
    ln -s $f gitexecdir/
907a6aa
done
907a6aa
export GIT_EXEC_PATH=$PWD/gitexecdir
4cd5da9
rm -r cinnabar
4cd5da9
ln -s %{buildroot}%{gitexecdir}/cinnabar
4cd5da9
28e2807
%{__python2} -m unittest discover -v -s tests/ -p '*.py'
3d1868c
make -f CI/tests.mk REPO=%SOURCE2 check check-graft
4cd5da9
4cd5da9
4cd5da9
%files
4cd5da9
%doc README.md
4cd5da9
%license COPYING
4cd5da9
%{gitexecdir}/git-cinnabar
4cd5da9
%{gitexecdir}/git-cinnabar-helper
4cd5da9
%{gitexecdir}/git-remote-hg
4cd5da9
%{gitexecdir}/cinnabar
4cd5da9
4cd5da9
4cd5da9
%changelog
907a6aa
* Fri Feb 14 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.4-1
907a6aa
- Update to latest version
907a6aa
720c7c6
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.2-4
720c7c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
720c7c6
28e2807
* Fri Nov 08 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.2-3
28e2807
- Switch to unittest for running tests
28e2807
967ab99
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.2-2
967ab99
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
967ab99
8b8d95c
* Mon Jul 15 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.2-1
8b8d95c
- Update to latest version
8b8d95c
5182ee1
* Wed May 08 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.1-1
5182ee1
- Update to latest version
5182ee1
516b81c
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-1.1
516b81c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
516b81c
a7e3994
* Sun Aug 19 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-1
a7e3994
- Update to latest release
a7e3994
4e3cdcc
* Sat Aug 11 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-0.6.b4
4e3cdcc
- Update git config options to match plain git
4e3cdcc
3d1868c
* Mon Jul 16 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-0.5.b4
3d1868c
- Update to latest beta
3d1868c
b231a37
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-0.4.b3
b231a37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
b231a37
7af46e2
* Sat Jun 16 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-0.3.b3
7af46e2
- Make Python byte-compilation explicit
7af46e2
5e7451b
* Sun May 20 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-0.2.b3
5e7451b
- Update to latest beta
5e7451b
4cd5da9
* Tue Apr 10 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.5.0-0.1.b2
4cd5da9
- initial package for Fedora