rust-difftastic/rust-difftastic.spec

192 lines
6.8 KiB
RPMSpec

# Generated by rust2rpm 23
%bcond_without check
%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.45.0
Release: %autorelease
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
# * unpin assert_cmd
# * unpin predicates
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.18
Provides: bundled(crate(ansi_term)) = 0.12.1
Provides: bundled(crate(assert_cmd)) = 2.0.5
Provides: bundled(crate(atty)) = 0.2.14
Provides: bundled(crate(autocfg)) = 1.1.0
Provides: bundled(crate(bitflags)) = 1.3.2
Provides: bundled(crate(bstr)) = 0.2.17
Provides: bundled(crate(bumpalo)) = 3.11.1
Provides: bundled(crate(bytecount)) = 0.6.2
Provides: bundled(crate(cc)) = 1.0.78
Provides: bundled(crate(cfg-if)) = 1.0.0
Provides: bundled(crate(clap)) = 3.1.18
Provides: bundled(crate(clap_lex)) = 0.2.0
Provides: bundled(crate(const_format)) = 0.2.23
Provides: bundled(crate(const_format_proc_macros)) = 0.2.22
Provides: bundled(crate(crossbeam-channel)) = 0.5.4
Provides: bundled(crate(crossbeam-deque)) = 0.8.1
Provides: bundled(crate(crossbeam-epoch)) = 0.9.8
Provides: bundled(crate(crossbeam-utils)) = 0.8.8
Provides: bundled(crate(crossterm)) = 0.25.0
Provides: bundled(crate(crossterm_winapi)) = 0.9.0
Provides: bundled(crate(ctor)) = 0.1.22
Provides: bundled(crate(diff)) = 0.1.12
Provides: bundled(crate(difflib)) = 0.4.0
Provides: bundled(crate(doc-comment)) = 0.3.3
Provides: bundled(crate(either)) = 1.6.1
Provides: bundled(crate(env_logger)) = 0.7.1
Provides: bundled(crate(fixedbitset)) = 0.4.1
Provides: bundled(crate(float-cmp)) = 0.9.0
Provides: bundled(crate(fnv)) = 1.0.7
Provides: bundled(crate(hashbrown)) = 0.11.2
Provides: bundled(crate(hermit-abi)) = 0.1.19
Provides: bundled(crate(humantime)) = 1.3.0
Provides: bundled(crate(indexmap)) = 1.7.0
Provides: bundled(crate(itertools)) = 0.10.3
Provides: bundled(crate(lazy_static)) = 1.4.0
Provides: bundled(crate(libc)) = 0.2.139
Provides: bundled(crate(libmimalloc-sys)) = 0.1.24
Provides: bundled(crate(lock_api)) = 0.4.9
Provides: bundled(crate(log)) = 0.4.17
Provides: bundled(crate(memchr)) = 2.5.0
Provides: bundled(crate(memoffset)) = 0.6.5
Provides: bundled(crate(mimalloc)) = 0.1.28
Provides: bundled(crate(minimal-lexical)) = 0.2.1
Provides: bundled(crate(mio)) = 0.8.5
Provides: bundled(crate(nom)) = 7.1.1
Provides: bundled(crate(normalize-line-endings)) = 0.3.0
Provides: bundled(crate(num-traits)) = 0.2.15
Provides: bundled(crate(num_cpus)) = 1.13.1
Provides: bundled(crate(once_cell)) = 1.17.1
Provides: bundled(crate(os_str_bytes)) = 6.0.1
Provides: bundled(crate(output_vt100)) = 0.1.3
Provides: bundled(crate(owo-colors)) = 3.4.0
Provides: bundled(crate(parking_lot)) = 0.12.1
Provides: bundled(crate(parking_lot_core)) = 0.9.6
Provides: bundled(crate(petgraph)) = 0.6.1
Provides: bundled(crate(predicates)) = 2.1.1
Provides: bundled(crate(predicates-core)) = 1.0.3
Provides: bundled(crate(predicates-tree)) = 1.0.5
Provides: bundled(crate(pretty_assertions)) = 1.2.1
Provides: bundled(crate(pretty_env_logger)) = 0.4.0
Provides: bundled(crate(proc-macro2)) = 1.0.39
Provides: bundled(crate(quick-error)) = 1.2.3
Provides: bundled(crate(quote)) = 1.0.18
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(redox_syscall)) = 0.2.16
Provides: bundled(crate(regex)) = 1.5.6
Provides: bundled(crate(regex-automata)) = 0.1.10
Provides: bundled(crate(regex-syntax)) = 0.6.26
Provides: bundled(crate(rustc-hash)) = 1.1.0
Provides: bundled(crate(same-file)) = 1.0.6
Provides: bundled(crate(scopeguard)) = 1.1.0
Provides: bundled(crate(signal-hook)) = 0.3.14
Provides: bundled(crate(signal-hook-mio)) = 0.2.3
Provides: bundled(crate(signal-hook-registry)) = 1.4.0
Provides: bundled(crate(smallvec)) = 1.10.0
Provides: bundled(crate(strsim)) = 0.10.0
Provides: bundled(crate(syn)) = 1.0.95
Provides: bundled(crate(termcolor)) = 1.1.3
Provides: bundled(crate(terminal_size)) = 0.1.17
Provides: bundled(crate(termtree)) = 0.2.4
Provides: bundled(crate(textwrap)) = 0.15.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.1
Provides: bundled(crate(unicode-ident)) = 1.0.0
Provides: bundled(crate(unicode-width)) = 0.1.9
Provides: bundled(crate(unicode-xid)) = 0.2.3
Provides: bundled(crate(version_check)) = 0.9.4
Provides: bundled(crate(wait-timeout)) = 0.2.0
Provides: bundled(crate(walkdir)) = 2.3.2
Provides: bundled(crate(wasi)) = 0.11.0+wasi_snapshot_preview1
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.1
Provides: bundled(crate(windows_aarch64_msvc)) = 0.42.1
Provides: bundled(crate(windows_i686_gnu)) = 0.42.1
Provides: bundled(crate(windows_i686_msvc)) = 0.42.1
Provides: bundled(crate(windows_x86_64_gnu)) = 0.42.1
Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.42.1
Provides: bundled(crate(windows_x86_64_msvc)) = 0.42.1
Provides: bundled(crate(wu-diff)) = 0.1.2
%global _description %{expand:
A structural diff that understands syntax.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
License: (Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) AND MIT AND (MIT OR Unlicense) AND Zlib
# LICENSE.dependencies contains a full license breakdown
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
%if 0%{?fedora}
%license LICENSE.dependencies
%endif
%doc README.md
%{_bindir}/difft
%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
%if 0%{?fedora}
%{cargo_license} > LICENSE.dependencies
%endif
%install
%cargo_install
%if %{with check}
%check
%cargo_test
%endif
%changelog
%autochangelog