# Generated by rust2rpm 22 %bcond_without check # Apache-2.0 OR MIT # BSD-2-Clause # BSD-2-Clause AND ISC # MIT # MIT OR Apache-2.0 %global binary_license BSD-2-Clause AND ISC AND MIT %global crate rav1e Name: rust-rav1e Version: 0.5.1 Release: %autorelease Summary: Fastest and safest AV1 encoder # Upstream license specification: BSD-2-Clause # src/ext/x86/x86inc.asm is under ISC, https://github.com/xiph/rav1e/issues/2181 License: BSD-2-Clause AND ISC URL: https://crates.io/crates/rav1e Source: %{crates_source} # Automatically generated patch to strip foreign dependencies Patch: rav1e-fix-metadata-auto.diff # Manually created patch for downstream crate metadata changes # * Fix license in Cargo.toml # * Bump console from 0.14 to 0.15 # * Bump dav1d-sys from 0.3.4 to 0.5 # * Remove useless rust_hawktracer dependency # * Remove unused wasm-bindgen dependency # * Remove unused criterion dev-dependency # * Drop unused tracing feature # * Drop unused wasm feature Patch: rav1e-fix-metadata.diff # * Remove useless / no-op hawktracer macros Patch: 0001-remove-unused-hawktracer-usage.patch # * Backported patch to fix UB / crash in test code # https://github.com/xiph/rav1e/commit/d56fe64: Patch: 0002-Fix-UB-in-pred_max-test.patch # * Disambiguate code which is ambiguous with Rust 1.67+ due to the # stabilization of {integer}::ilog Patch: 0003-Disambiguate-ILog-ilog-calls-from-integer-ilog-from-.patch ExclusiveArch: %{rust_arches} BuildRequires: rust-packaging >= 21 %global _description %{expand: 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 %doc README.md %{_bindir}/rav1e %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 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}+aom-sys-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+aom-sys-devel %{_description} This package contains library source intended for building other packages which use the "aom-sys" feature of the "%{crate}" crate. %files -n %{name}+aom-sys-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}+bench-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+bench-devel %{_description} This package contains library source intended for building other packages which use the "bench" feature of the "%{crate}" crate. %files -n %{name}+bench-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}+byteorder-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+byteorder-devel %{_description} This package contains library source intended for building other packages which use the "byteorder" feature of the "%{crate}" crate. %files -n %{name}+byteorder-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}+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-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+decode_test-devel %{_description} This package contains library source intended for building other packages which use the "decode_test" feature of the "%{crate}" crate. %files -n %{name}+decode_test-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}+dump_lookahead_data-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+dump_lookahead_data-devel %{_description} This package contains library source intended for building other packages which use the "dump_lookahead_data" feature of the "%{crate}" crate. %files -n %{name}+dump_lookahead_data-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}+image-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+image-devel %{_description} This package contains library source intended for building other packages which use the "image" feature of the "%{crate}" crate. %files -n %{name}+image-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}+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}+regex-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+regex-devel %{_description} This package contains library source intended for building other packages which use the "regex" feature of the "%{crate}" crate. %files -n %{name}+regex-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}+scenechange-devel Summary: %{summary} BuildArch: noarch %description -n %{name}+scenechange-devel %{_description} This package contains library source intended for building other packages which use the "scenechange" feature of the "%{crate}" crate. %files -n %{name}+scenechange-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}+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}+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_no_tilde} -p1 %cargo_prep %generate_buildrequires # We need optional dependencies for cargo-c to build %cargo_generate_buildrequires -a echo "cargo-c" %build %cargo_build %__cargo cbuild --release \ --destdir=%{buildroot} \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --pkgconfigdir=%{_libdir}/pkgconfig %install %cargo_install %__cargo cinstall --release \ --destdir=%{buildroot} \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir} \ --pkgconfigdir=%{_libdir}/pkgconfig rm -v %{buildroot}%{_libdir}/librav1e.a %if %{with check} %check %cargo_test %endif %changelog %autochangelog