Use vendored dependencies for EPEL 8

bundled-provides.jq script courtesy of the zincati src.rpm

Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
This commit is contained in:
Michel Alexandre Salim 2023-01-09 13:34:15 -06:00
parent 724db30432
commit 67fb2253d9
No known key found for this signature in database
GPG Key ID: 8B229D2F7CCC04F2
4 changed files with 123 additions and 0 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/difftastic-0.39.0.crate
/difftastic-0.39.0-vendor.tar.xz

11
bundled-provides.jq Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env -S jq --sort-keys --raw-output --from-file
# To be run from a cargo workspace as:
# cargo metadata --locked --format-version 1 | CRATE_NAME="zincati" bundled-provides.jq
.packages[] |
select(.name != env.CRATE_NAME) |
"Provides: " +
"bundled(crate(" + .name + "))" +
" = " +
( .version | gsub("-"; "_") )

View File

@ -3,6 +3,13 @@
%global crate difftastic
%if 0%{?el8}
# el8 doesn't have these macros
%global __crates_url https://crates.io/api/v1/crates/
%global crates_source %{__crates_url}%{crate}/%{version}/download#/%{crate}-%{version}.crate
%global version_no_tilde %{version}
%endif
Name: rust-difftastic
Version: 0.39.0
Release: %autorelease
@ -11,10 +18,108 @@ Summary: Structural diff that understands syntax
License: MIT
URL: https://crates.io/crates/difftastic
Source: %{crates_source}
# vendored dependencies for EPEL 8
Source100: %{crate}-%{version}-vendor.tar.xz
# Manually created patch for downstream crate metadata changes
Patch: difftastic-fix-metadata.diff
%if 0%{?el8}
BuildRequires: rust-toolset
%else
BuildRequires: rust-packaging >= 21
%endif
# List of bundled crates in vendor tarball, generated with:
# cargo metadata --locked --format-version 1 | CRATE_NAME="difftastic" ../bundled-provides.jq
Provides: bundled(crate(aho-corasick)) = 0.7.20
Provides: bundled(crate(atty)) = 0.2.14
Provides: bundled(crate(autocfg)) = 1.1.0
Provides: bundled(crate(bitflags)) = 1.3.2
Provides: bundled(crate(bumpalo)) = 3.11.1
Provides: bundled(crate(bytecount)) = 0.6.3
Provides: bundled(crate(cc)) = 1.0.78
Provides: bundled(crate(cfg-if)) = 1.0.0
Provides: bundled(crate(clap)) = 3.2.23
Provides: bundled(crate(clap_lex)) = 0.2.4
Provides: bundled(crate(const_format)) = 0.2.30
Provides: bundled(crate(const_format_proc_macros)) = 0.2.29
Provides: bundled(crate(crossbeam-channel)) = 0.5.6
Provides: bundled(crate(crossbeam-deque)) = 0.8.2
Provides: bundled(crate(crossbeam-epoch)) = 0.9.13
Provides: bundled(crate(crossbeam-utils)) = 0.8.14
Provides: bundled(crate(ctor)) = 0.1.26
Provides: bundled(crate(diff)) = 0.1.13
Provides: bundled(crate(either)) = 1.8.0
Provides: bundled(crate(env_logger)) = 0.7.1
Provides: bundled(crate(errno)) = 0.2.8
Provides: bundled(crate(errno-dragonfly)) = 0.1.2
Provides: bundled(crate(fixedbitset)) = 0.4.2
Provides: bundled(crate(fnv)) = 1.0.7
Provides: bundled(crate(hashbrown)) = 0.12.3
Provides: bundled(crate(hermit-abi)) = 0.1.19
Provides: bundled(crate(hermit-abi)) = 0.2.6
Provides: bundled(crate(humantime)) = 1.3.0
Provides: bundled(crate(indexmap)) = 1.9.2
Provides: bundled(crate(io-lifetimes)) = 1.0.3
Provides: bundled(crate(itertools)) = 0.10.5
Provides: bundled(crate(lazy_static)) = 1.4.0
Provides: bundled(crate(libc)) = 0.2.139
Provides: bundled(crate(libmimalloc-sys)) = 0.1.30
Provides: bundled(crate(linux-raw-sys)) = 0.1.4
Provides: bundled(crate(log)) = 0.4.17
Provides: bundled(crate(memchr)) = 2.5.0
Provides: bundled(crate(memoffset)) = 0.7.1
Provides: bundled(crate(mimalloc)) = 0.1.34
Provides: bundled(crate(minimal-lexical)) = 0.2.1
Provides: bundled(crate(nom)) = 7.1.2
Provides: bundled(crate(num_cpus)) = 1.15.0
Provides: bundled(crate(once_cell)) = 1.17.0
Provides: bundled(crate(os_str_bytes)) = 6.4.1
Provides: bundled(crate(output_vt100)) = 0.1.3
Provides: bundled(crate(owo-colors)) = 3.5.0
Provides: bundled(crate(petgraph)) = 0.6.2
Provides: bundled(crate(pretty_assertions)) = 1.3.0
Provides: bundled(crate(pretty_env_logger)) = 0.4.0
Provides: bundled(crate(proc-macro2)) = 1.0.49
Provides: bundled(crate(quick-error)) = 1.2.3
Provides: bundled(crate(quote)) = 1.0.23
Provides: bundled(crate(radix-heap)) = 0.4.2
Provides: bundled(crate(rayon)) = 1.6.1
Provides: bundled(crate(rayon-core)) = 1.10.1
Provides: bundled(crate(regex)) = 1.7.1
Provides: bundled(crate(regex-syntax)) = 0.6.28
Provides: bundled(crate(rustc-hash)) = 1.1.0
Provides: bundled(crate(rustix)) = 0.36.6
Provides: bundled(crate(same-file)) = 1.0.6
Provides: bundled(crate(scopeguard)) = 1.1.0
Provides: bundled(crate(strsim)) = 0.10.0
Provides: bundled(crate(syn)) = 1.0.107
Provides: bundled(crate(term_size)) = 0.3.2
Provides: bundled(crate(termcolor)) = 1.1.3
Provides: bundled(crate(terminal_size)) = 0.2.3
Provides: bundled(crate(textwrap)) = 0.16.0
Provides: bundled(crate(tree-sitter)) = 0.20.9
Provides: bundled(crate(tree_magic_mini)) = 3.0.3
Provides: bundled(crate(typed-arena)) = 2.0.2
Provides: bundled(crate(unicode-ident)) = 1.0.6
Provides: bundled(crate(unicode-width)) = 0.1.10
Provides: bundled(crate(unicode-xid)) = 0.2.4
Provides: bundled(crate(version_check)) = 0.9.4
Provides: bundled(crate(walkdir)) = 2.3.2
Provides: bundled(crate(winapi)) = 0.3.9
Provides: bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0
Provides: bundled(crate(winapi-util)) = 0.1.5
Provides: bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0
Provides: bundled(crate(windows-sys)) = 0.42.0
Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.42.0
Provides: bundled(crate(windows_aarch64_msvc)) = 0.42.0
Provides: bundled(crate(windows_i686_gnu)) = 0.42.0
Provides: bundled(crate(windows_i686_msvc)) = 0.42.0
Provides: bundled(crate(windows_x86_64_gnu)) = 0.42.0
Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.42.0
Provides: bundled(crate(windows_x86_64_msvc)) = 0.42.0
Provides: bundled(crate(wu-diff)) = 0.1.2
Provides: bundled(crate(yansi)) = 0.5.1
%global _description %{expand:
Structural diff that understands syntax.}
@ -38,10 +143,15 @@ License: (Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exce
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%if 0%{?el8}
%cargo_prep -V100
%else
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
%endif
%build
%cargo_build

View File

@ -1 +1,2 @@
SHA512 (difftastic-0.39.0.crate) = 16acfa2d3b0002bf104dfcffa9c54294d22b2abd8748f3398004aa5b70a3995a5fd598a14ce287e3a1dd24f3d2790d77be7e909fabe4caa87cab8862a79e6da8
SHA512 (difftastic-0.39.0-vendor.tar.xz) = c46a7428b54c575a50252c804f61ffd711279c1e424374b8d1bbc6998ca0ec76fede6c729accbafae358ed24bf7de61a9e183e4363e1dc5437253dd9553b5bbd