You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-brotli/rust-brotli.spec

222 lines
6.4 KiB

# Generated by rust2rpm 25
# * tests fail with OOM problems on 32-bit architectures:
# https://github.com/dropbox/rust-brotli/issues/42
%if 0%{?__isa_bits} == 32
%bcond_with check
%else
%bcond_without check
%endif
%global debug_package %{nil}
%global crate brotli
Name: rust-brotli
Version: 3.4.0
Release: %autorelease
Summary: Brotli compressor and decompressor with no_std support
License: BSD-3-Clause
URL: https://crates.io/crates/brotli
Source: %{crates_source}
# Manually created patch for downstream crate metadata changes
# * fix license in crate metadata:
# https://github.com/dropbox/rust-brotli/issues/41
# * drop unwanted brotli and catbrotli binaries
# * exclude files that are only useful for upstream development:
# https://github.com/dropbox/rust-brotli/pull/43
Patch: brotli-fix-metadata.diff
BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
A brotli compressor and decompressor that with an interface avoiding the
rust stdlib. This makes it suitable for embedded devices and kernels. It
is designed with a pluggable allocator so that the standard lib's
allocator may be employed. The default build also includes a stdlib
allocator and stream interface. Disable this with --features=no-stdlib.
All included code is safe.}
%description %{_description}
%package devel
Summary: %{summary}
BuildArch: noarch
%description devel %{_description}
This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
%license %{crate_instdir}/LICENSE
%doc %{crate_instdir}/README.md
%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+default-devel %{_description}
This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+alloc-stdlib-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+alloc-stdlib-devel %{_description}
This package contains library source intended for building other packages which
use the "alloc-stdlib" feature of the "%{crate}" crate.
%files -n %{name}+alloc-stdlib-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+benchmark-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+benchmark-devel %{_description}
This package contains library source intended for building other packages which
use the "benchmark" feature of the "%{crate}" crate.
%files -n %{name}+benchmark-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+disable-timer-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+disable-timer-devel %{_description}
This package contains library source intended for building other packages which
use the "disable-timer" feature of the "%{crate}" crate.
%files -n %{name}+disable-timer-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+external-literal-probability-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+external-literal-probability-devel %{_description}
This package contains library source intended for building other packages which
use the "external-literal-probability" feature of the "%{crate}" crate.
%files -n %{name}+external-literal-probability-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+ffi-api-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+ffi-api-devel %{_description}
This package contains library source intended for building other packages which
use the "ffi-api" feature of the "%{crate}" crate.
%files -n %{name}+ffi-api-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+pass-through-ffi-panics-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+pass-through-ffi-panics-devel %{_description}
This package contains library source intended for building other packages which
use the "pass-through-ffi-panics" feature of the "%{crate}" crate.
%files -n %{name}+pass-through-ffi-panics-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+seccomp-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+seccomp-devel %{_description}
This package contains library source intended for building other packages which
use the "seccomp" feature of the "%{crate}" crate.
%files -n %{name}+seccomp-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+sha2-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+sha2-devel %{_description}
This package contains library source intended for building other packages which
use the "sha2" feature of the "%{crate}" crate.
%files -n %{name}+sha2-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+std-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+std-devel %{_description}
This package contains library source intended for building other packages which
use the "std" feature of the "%{crate}" crate.
%files -n %{name}+std-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+validation-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+validation-devel %{_description}
This package contains library source intended for building other packages which
use the "validation" feature of the "%{crate}" crate.
%files -n %{name}+validation-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+vector_scratch_space-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+vector_scratch_space-devel %{_description}
This package contains library source intended for building other packages which
use the "vector_scratch_space" feature of the "%{crate}" crate.
%files -n %{name}+vector_scratch_space-devel
%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version} -p1
%cargo_prep
# * remove executable bits from Rust source files:
# https://github.com/dropbox/rust-brotli/pull/40
find -type f -name '*.rs' -executable -exec chmod -x '{}' +
%generate_buildrequires
%cargo_generate_buildrequires
%build
%cargo_build
%install
%cargo_install
%if %{with check}
%check
%cargo_test
%endif
%changelog
%autochangelog