-%define crates_ver 0.8.0
+#
+# Conditional build:
+%bcond_without system_libgit2 # use system installed libgit2
+
+%define crates_ver 0.17.0
Summary: A viewer for git and diff output
Name: delta
-Version: 0.8.0
+Version: 0.17.0
Release: 1
License: MIT
Group: Applications
Source0: https://github.com/dandavison/delta/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 91dfb57b81caeb1d2a5b79879ba991ee
-# ./create-crates.sh
+# Source0-md5: 323ef94cc3d9c0b21691ecc5e250708f
Source1: %{name}-crates-%{crates_ver}.tar.xz
-# Source1-md5: 5383876724e630e92d3ef9dfa75901be
+# Source1-md5: c32b2651ccef34736929edaca477a269
URL: https://github.com/dandavison/delta
BuildRequires: cargo
-BuildRequires: libgit2-devel >= 1.1.0
+%if %{with system_libgit2}
+BuildRequires: libgit2-devel < 1.8.0
+BuildRequires: libgit2-devel >= 1.7.2
+%endif
+BuildRequires: oniguruma-devel >= 6.9.8
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 2.004
BuildRequires: rust
+BuildRequires: rust-bindgen
BuildRequires: tar >= 1:1.22
BuildRequires: xz
-Requires: libgit2 >= 1.1.0
+%{?with_system_libgit2:Requires: libgit2 >= 1.7.2}
+Requires: oniguruma >= 6.9.8
ExclusiveArch: %{rust_arches}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%build
export CARGO_HOME="$(pwd)/.cargo"
+export RUSTONIG_SYSTEM_LIBONIG=true
%cargo_build --frozen
rm -rf $RPM_BUILD_ROOT
export CARGO_HOME="$(pwd)/.cargo"
+export RUSTONIG_SYSTEM_LIBONIG=true
%cargo_install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path $PWD
%{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates*