Name rav1e
Description Fastest and safest AV1 encoder
Version 0.7.1-8.fc42
Package Base rust-rav1e
Homepage https://crates.io/crates/rav1e
Maintainers []
Contributors []
Distro-repo https://src.fedoraproject.org/rpms/rust-rav1e/tree/f42
Sources []
Dependencies ['ld-linux-x86-64.so.2', 'libc.so.6', 'libgcc_s.so.1', 'libm.so.6', 'rtld']
Optional-Dependencies []
Build-Dependencies []
Provides ['rav1e', 'rav1e(x86-64)']
Builddate 31-07-2025 16:52:38
Architecture x86_64
Distro-Version 42
Licenses ['BSD-2-Clause AND ISC AND MIT AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)']
Hash 3c8eb1f7ef0b6b67b211afe09286042cdeaaa2fe42f74b48d1254e60d369f260
# Generated by rust2rpm 28
%bcond check 1

# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause
# BSD-2-Clause AND ISC
# MIT
# MIT AND BSD-2-Clause AND ISC AND LicenseRef-BSD-2-Clause-WITH-AdditionRef-AOMPL-1.0
# MIT OR Apache-2.0
# Unlicense OR MIT
%global binary_license %{shrink:
    BSD-2-Clause AND
    ISC AND
    MIT AND
    LicenseRef-BSD-2-Clause-WITH-AdditionRef-AOMPL-1.0 AND
    (Apache-2.0 OR MIT) AND
    (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND
    (Unlicense OR MIT)
}
# LICENSE.dependencies contains a full license breakdown

%global crate rav1e

Name:           rust-rav1e
Version:        0.8.1
Release:        %autorelease
Summary:        Fastest and safest AV1 encoder

# rav1e is published under the terms of the BSD-2-Clause license,
# with the exception of one file: "src/ext/x86/x86inc.asm" (ISC license)
License:        BSD-2-Clause AND ISC
URL:            https://crates.io/crates/rav1e
Source:         %{crates_source}
# Automatically generated patch to strip dependencies and normalize metadata
Patch:          rav1e-fix-metadata-auto.diff
# Manually created patch for downstream crate metadata changes
# * update license expression in crate metadata:
#   https://github.com/xiph/rav1e/issues/2181
# * drop references to benchmarks
# * drop unused feature for dumping lookahead data and its dependencies
# * drop unused features for profiling and tracing and their dependencies
# * drop WASM-specific wasm-bindgen dependency and wasm feature
# * drop unused, benchmark-only criterion dev-dependency
# * drop aom-sys dependency (rust-aom-sys is retired)
# * test with dav1d-sys 0.7 instead of libdav1d-sys 0.8 (not packaged)
# * compatibility fixes for cargo-c v0.9.26 and newer:
#   https://github.com/lu-zero/cargo-c/pull/346
#   https://github.com/lu-zero/cargo-c/pull/352
# * allow console 0.16: https://github.com/xiph/rav1e/pull/3436
Patch:          rav1e-fix-metadata.diff
Patch2:         0001-remove-references-to-removed-built-and-profiling-cra.patch

BuildRequires:  cargo-rpm-macros >= 24
BuildRequires:  cargo-c

%global _description %{expand:
The fastest and safest AV1 encoder.}

%description %{_description}

%package     -n %{crate}
Summary:        %{summary}
License:        %{binary_license}

%description -n %{crate} %{_description}

%files       -n %{crate}
%license LICENSE
%license PATENTS
%license LICENSE.dependencies
%doc README.md
%{_bindir}/rav1e
%{_bindir}/rav1e-ch

%package     -n %{crate}-libs
Summary:        Library files for rav1e
License:        %{binary_license}

%description -n %{crate}-libs
Library files for rav1e, the fastest and safest AV1 encoder.

%files       -n %{crate}-libs
%license LICENSE
%license LICENSE.dependencies
%license PATENTS
%doc README.md
%{_libdir}/librav1e.so.0*

%package     -n %{crate}-devel
Summary:        %{summary}
License:        %{binary_license}
Requires:       %{crate}-libs%{?_isa} = %{version}-%{release}

%description -n %{crate}-devel %{_description}

%files       -n %{crate}-devel
%{_includedir}/rav1e/
%{_libdir}/librav1e.so
%{_libdir}/pkgconfig/rav1e.pc

%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
%license %{crate_instdir}/PATENTS
%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}+asm-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+asm-devel %{_description}

This package contains library source intended for building other packages which
use the "asm" feature of the "%{crate}" crate.

%files       -n %{name}+asm-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+av-metrics-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+av-metrics-devel %{_description}

This package contains library source intended for building other packages which
use the "av-metrics" feature of the "%{crate}" crate.

%files       -n %{name}+av-metrics-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+backtrace-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+backtrace-devel %{_description}

This package contains library source intended for building other packages which
use the "backtrace" feature of the "%{crate}" crate.

%files       -n %{name}+backtrace-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+binaries-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+binaries-devel %{_description}

This package contains library source intended for building other packages which
use the "binaries" feature of the "%{crate}" crate.

%files       -n %{name}+binaries-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+capi-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+capi-devel %{_description}

This package contains library source intended for building other packages which
use the "capi" feature of the "%{crate}" crate.

%files       -n %{name}+capi-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+cc-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+cc-devel %{_description}

This package contains library source intended for building other packages which
use the "cc" feature of the "%{crate}" crate.

%files       -n %{name}+cc-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+channel-api-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+channel-api-devel %{_description}

This package contains library source intended for building other packages which
use the "channel-api" feature of the "%{crate}" crate.

%files       -n %{name}+channel-api-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+check_asm-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+check_asm-devel %{_description}

This package contains library source intended for building other packages which
use the "check_asm" feature of the "%{crate}" crate.

%files       -n %{name}+check_asm-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+clap-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+clap-devel %{_description}

This package contains library source intended for building other packages which
use the "clap" feature of the "%{crate}" crate.

%files       -n %{name}+clap-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+clap_complete-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+clap_complete-devel %{_description}

This package contains library source intended for building other packages which
use the "clap_complete" feature of the "%{crate}" crate.

%files       -n %{name}+clap_complete-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+console-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+console-devel %{_description}

This package contains library source intended for building other packages which
use the "console" feature of the "%{crate}" crate.

%files       -n %{name}+console-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+crossbeam-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+crossbeam-devel %{_description}

This package contains library source intended for building other packages which
use the "crossbeam" feature of the "%{crate}" crate.

%files       -n %{name}+crossbeam-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+dav1d-sys-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+dav1d-sys-devel %{_description}

This package contains library source intended for building other packages which
use the "dav1d-sys" feature of the "%{crate}" crate.

%files       -n %{name}+dav1d-sys-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+decode_test_dav1d-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+decode_test_dav1d-devel %{_description}

This package contains library source intended for building other packages which
use the "decode_test_dav1d" feature of the "%{crate}" crate.

%files       -n %{name}+decode_test_dav1d-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+desync_finder-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+desync_finder-devel %{_description}

This package contains library source intended for building other packages which
use the "desync_finder" feature of the "%{crate}" crate.

%files       -n %{name}+desync_finder-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+dump_ivf-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+dump_ivf-devel %{_description}

This package contains library source intended for building other packages which
use the "dump_ivf" feature of the "%{crate}" crate.

%files       -n %{name}+dump_ivf-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+fern-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+fern-devel %{_description}

This package contains library source intended for building other packages which
use the "fern" feature of the "%{crate}" crate.

%files       -n %{name}+fern-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+ivf-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+ivf-devel %{_description}

This package contains library source intended for building other packages which
use the "ivf" feature of the "%{crate}" crate.

%files       -n %{name}+ivf-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+nasm-rs-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+nasm-rs-devel %{_description}

This package contains library source intended for building other packages which
use the "nasm-rs" feature of the "%{crate}" crate.

%files       -n %{name}+nasm-rs-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+nom-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+nom-devel %{_description}

This package contains library source intended for building other packages which
use the "nom" feature of the "%{crate}" crate.

%files       -n %{name}+nom-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+quick_test-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+quick_test-devel %{_description}

This package contains library source intended for building other packages which
use the "quick_test" feature of the "%{crate}" crate.

%files       -n %{name}+quick_test-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+scan_fmt-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+scan_fmt-devel %{_description}

This package contains library source intended for building other packages which
use the "scan_fmt" feature of the "%{crate}" crate.

%files       -n %{name}+scan_fmt-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+serde-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+serde-devel %{_description}

This package contains library source intended for building other packages which
use the "serde" feature of the "%{crate}" crate.

%files       -n %{name}+serde-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+serde-big-array-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+serde-big-array-devel %{_description}

This package contains library source intended for building other packages which
use the "serde-big-array" feature of the "%{crate}" crate.

%files       -n %{name}+serde-big-array-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+serialize-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+serialize-devel %{_description}

This package contains library source intended for building other packages which
use the "serialize" feature of the "%{crate}" crate.

%files       -n %{name}+serialize-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+signal-hook-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+signal-hook-devel %{_description}

This package contains library source intended for building other packages which
use the "signal-hook" feature of the "%{crate}" crate.

%files       -n %{name}+signal-hook-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+signal_support-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+signal_support-devel %{_description}

This package contains library source intended for building other packages which
use the "signal_support" feature of the "%{crate}" crate.

%files       -n %{name}+signal_support-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+threading-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+threading-devel %{_description}

This package contains library source intended for building other packages which
use the "threading" feature of the "%{crate}" crate.

%files       -n %{name}+threading-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+toml-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+toml-devel %{_description}

This package contains library source intended for building other packages which
use the "toml" feature of the "%{crate}" crate.

%files       -n %{name}+toml-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+unstable-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+unstable-devel %{_description}

This package contains library source intended for building other packages which
use the "unstable" feature of the "%{crate}" crate.

%files       -n %{name}+unstable-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+y4m-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+y4m-devel %{_description}

This package contains library source intended for building other packages which
use the "y4m" feature of the "%{crate}" crate.

%files       -n %{name}+y4m-devel
%ghost %{crate_instdir}/Cargo.toml

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

%generate_buildrequires
# cargo-c requires all optional dependencies to be available
%cargo_generate_buildrequires -a

%build
%cargo_build -f channel-api,decode_test_dav1d,unstable
%{cargo_license_summary -f channel-api,decode_test_dav1d,unstable}
%{cargo_license -f channel-api,decode_test_dav1d,unstable} > LICENSE.dependencies
%cargo_cbuild -f channel-api,unstable

%install
%cargo_install -f channel-api,decode_test_dav1d,unstable
%cargo_cinstall -f channel-api,unstable
rm -v %{buildroot}%{_libdir}/librav1e.a

%if %{with check}
%check
%cargo_test -f channel-api,decode_test_dav1d,unstable
%endif

%changelog
%autochangelog