Blob Blame History Raw
# Generated by rust2rpm
# Tests are too much environment dependent
%bcond_with check
%global debug_package %{nil}

%global crate cargo

Name:           rust-%{crate}
Version:        0.29.0
Release:        2%{?dist}
Summary:        Cargo, a package manager for Rust

# Upstream license specification: MIT OR Apache-2.0
License:        MIT or ASL 2.0
URL:            https://crates.io/crates/cargo
Source0:        https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
# Initial patched metadata
# * No windows/macos
# * Bump lazycell to 1.0
# * Bump termcolor to 1.0
# * Switch to crossbeam-utils
Patch0:         cargo-fix-metadata.diff
Patch0001:      0001-Switch-to-crossbeam_utils-crate-sidesteppin.patch
Patch0002:      0002-Upgrade-to-crossbeam-utils-s-new-0.5-API.patch

ExclusiveArch:  %{rust_arches}

BuildRequires:  rust-packaging
# [dependencies]
BuildRequires:  (crate(atty) >= 0.2.0 with crate(atty) < 0.3.0)
BuildRequires:  (crate(clap) >= 2.31.2 with crate(clap) < 3.0.0)
BuildRequires:  (crate(crates-io) >= 0.17.0 with crate(crates-io) < 0.18.0)
BuildRequires:  (crate(crossbeam-utils) >= 0.5.0 with crate(crossbeam-utils) < 0.6.0)
BuildRequires:  (crate(crypto-hash) >= 0.3.1 with crate(crypto-hash) < 0.4.0)
BuildRequires:  (crate(curl) >= 0.4.12 with crate(curl) < 0.5.0)
BuildRequires:  (crate(env_logger) >= 0.5.4 with crate(env_logger) < 0.6.0)
BuildRequires:  (crate(failure) >= 0.1.1 with crate(failure) < 0.2.0)
BuildRequires:  (crate(filetime) >= 0.2.0 with crate(filetime) < 0.3.0)
BuildRequires:  (crate(flate2) >= 1.0.0 with crate(flate2) < 2.0.0)
BuildRequires:  (crate(fs2) >= 0.4.0 with crate(fs2) < 0.5.0)
BuildRequires:  (crate(git2) >= 0.7.0 with crate(git2) < 0.8.0)
BuildRequires:  (crate(git2-curl) >= 0.8.1 with crate(git2-curl) < 0.9.0)
BuildRequires:  (crate(glob) >= 0.2.11 with crate(glob) < 0.3.0)
BuildRequires:  (crate(hex) >= 0.3.0 with crate(hex) < 0.4.0)
BuildRequires:  (crate(home) >= 0.3.0 with crate(home) < 0.4.0)
BuildRequires:  (crate(ignore) >= 0.4.0 with crate(ignore) < 0.5.0)
BuildRequires:  (crate(jobserver) >= 0.1.9 with crate(jobserver) < 0.2.0)
BuildRequires:  (crate(lazy_static) >= 1.0.0 with crate(lazy_static) < 2.0.0)
BuildRequires:  (crate(lazycell) >= 1.0.0 with crate(lazycell) < 2.0.0)
BuildRequires:  (crate(libc) >= 0.2.0 with crate(libc) < 0.3.0)
BuildRequires:  (crate(libgit2-sys) >= 0.7.1 with crate(libgit2-sys) < 0.8.0)
BuildRequires:  (crate(log) >= 0.4.0 with crate(log) < 0.5.0)
BuildRequires:  (crate(num-traits) >= 0.2.0 with crate(num-traits) < 0.3.0)
BuildRequires:  (crate(num_cpus) >= 1.0.0 with crate(num_cpus) < 2.0.0)
BuildRequires:  (crate(same-file) >= 1.0.0 with crate(same-file) < 2.0.0)
BuildRequires:  ((crate(semver) >= 0.9.0 with crate(semver) < 0.10.0) with crate(semver/serde))
BuildRequires:  (crate(serde) >= 1.0.0 with crate(serde) < 2.0.0)
BuildRequires:  (crate(serde_derive) >= 1.0.0 with crate(serde_derive) < 2.0.0)
BuildRequires:  (crate(serde_ignored) >= 0.0.4 with crate(serde_ignored) < 0.0.5)
BuildRequires:  (crate(serde_json) >= 1.0.0 with crate(serde_json) < 2.0.0)
BuildRequires:  (crate(shell-escape) >= 0.1.0 with crate(shell-escape) < 0.2.0)
BuildRequires:  (crate(tar) >= 0.4.15 with crate(tar) < 0.5.0)
BuildRequires:  (crate(tempfile) >= 3.0.0 with crate(tempfile) < 4.0.0)
BuildRequires:  (crate(termcolor) >= 1.0.0 with crate(termcolor) < 2.0.0)
BuildRequires:  (crate(toml) >= 0.4.2 with crate(toml) < 0.5.0)
BuildRequires:  (crate(url) >= 1.1.0 with crate(url) < 2.0.0)
%if %{with check}
# [dev-dependencies]
BuildRequires:  (crate(bufstream) >= 0.1.0 with crate(bufstream) < 0.2.0)
BuildRequires:  git-core
%endif

%description
%{summary}.

%package        devel
Summary:        %{summary}
BuildArch:      noarch

%description    devel
Cargo, a package manager for Rust.

This package contains library source intended for building other packages
which use %{crate} from crates.io.

%prep
%autosetup -n %{crate}-%{version} -p1
%cargo_prep

%build
%cargo_build

%install
%cargo_install

%if %{with check}
%check
%cargo_test
%endif

%files          devel
%license LICENSE-APACHE LICENSE-MIT
%doc ARCHITECTURE.md CONTRIBUTING.md README.md src/doc
%{cargo_registry}/%{crate}-%{version}/
%exclude %{cargo_registry}/%{crate}-%{version}/{appveyor.yml,etc}
# We ship it as part of rust.src
%exclude %{_bindir}/cargo

%changelog
* Mon Sep 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.29.0-2
- Switch to crossbeam-utils

* Sat Aug 04 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.29.0-1
- Update to 0.29.0

* Sun Jul 22 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.28.0-1
- Initial package