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.

677 lines
20 KiB

## START: Set by rpmautospec
## (rpmautospec version 0.3.1)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 8;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
# 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
* Sun Feb 19 2023 Fabio Valentini <decathorpe@gmail.com> - 0.5.1-8
- Ensure default Rust compiler flags apply to the shared library build
* Sun Feb 19 2023 Fabio Valentini <decathorpe@gmail.com> - 0.5.1-7
- Disambiguate code which is ambiguous with Rust 1.67+
* Sun Feb 19 2023 Fabio Valentini <decathorpe@gmail.com> - 0.5.1-6
- Backport upstream patch to fix UB / crash in test code
* Mon Aug 08 2022 Fabio Valentini <decathorpe@gmail.com> - 0.5.1-5
- Remove unused dependencies; split off source-only Rust devel package
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jun 25 2022 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.1-3
- Fix devel package name
* Thu Jun 23 2022 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.1-2
- Bump dav1d-sys dep
* Sun Jun 19 2022 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.1-1
- Update to 0.5.1 Close: rhbz#2032033
* Tue Feb 22 2022 Fabio Valentini <decathorpe@gmail.com> - 0.5.0-6
- Hack the workaround of the workaround
* Tue Feb 22 2022 Fabio Valentini <decathorpe@gmail.com> - 0.5.0-5
- Work around codegen issues when compiling doctests with LLVM 13
* Mon Feb 21 2022 Fabio Valentini <decathorpe@gmail.com> - 0.5.0-4
- Bump system-deps from 3.1.2 to 6
* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.0-3
- Rebuild with package notes
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 21 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.5.0-1
- Update to 0.5.0 Close: rhbz#1991588
* Sat Aug 07 2021 Fabio Valentini <decathorpe@gmail.com> - 0.4.1-4
- Rebuild with crossbeam-deque 0.8.1 / 0.7.4 for CVE-2021-32810
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 10 12:15:47 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.1-2
- Add patch to fix https://github.com/xiph/rav1e/issues/2662
* Wed Apr 7 17:07:05 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.1-1
- Update to 0.4.1
- Close: rhbz#1915864
* Mon Mar 29 16:18:27 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.0-1
- Update to 0.4.0
- Close: rhbz#1915864
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0~alpha-0.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 28 13:32:03 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.4.0~alpha-0.2
- Rebuild
* Wed Dec 09 15:17:53 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.4.0~alpha-0.1
- Update to 0.4.0~alpha
* Sun Dec 06 04:37:40 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.4-3
- Rebuild with new cargo-c to fix pkgconfig includedir
- Fix: rhbz#1902211
* Tue Oct 20 2020 Fabio Valentini <decathorpe@gmail.com> - 0.3.4-2
- Temporarily skip some broken tests on aarch64.
* Tue Oct 20 2020 Fabio Valentini <decathorpe@gmail.com> - 0.3.4-1
- Update to version 0.3.4.
* Wed Aug 26 2020 Josh Stone <jistone@redhat.com> - 0.3.3-3
- Bump paste to 1.0
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 11 2020 Josh Stone <jistone@redhat.com> - 0.3.3-1
- Update to 0.3.3
* Mon Mar 09 17:45:25 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.1-2
- Fix pkgconfig prefix path
* Thu Feb 20 21:15:47 CET 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.3.1-1
- Update to 0.3.1
* Tue Feb 11 01:28:07 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.3.0-1
- Initial package