From df8f563f4572f8062cf031cb61af5f60b05cfd12 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 20 Dec 2024 14:58:23 +0300 Subject: [PATCH] import rust-brotli-7.0.0-2.el10 --- .gitignore | 1 + .rust-brotli.metadata | 1 + SOURCES/219.patch | 13 ++ SOURCES/brotli-fix-metadata.diff | 18 ++ SOURCES/rust2rpm.toml | 52 +++++ SPECS/rust-brotli.spec | 374 +++++++++++++++++++++++++++++++ 6 files changed, 459 insertions(+) create mode 100644 .gitignore create mode 100644 .rust-brotli.metadata create mode 100644 SOURCES/219.patch create mode 100644 SOURCES/brotli-fix-metadata.diff create mode 100644 SOURCES/rust2rpm.toml create mode 100644 SPECS/rust-brotli.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fa8f4e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/brotli-7.0.0.crate diff --git a/.rust-brotli.metadata b/.rust-brotli.metadata new file mode 100644 index 0000000..4054cfd --- /dev/null +++ b/.rust-brotli.metadata @@ -0,0 +1 @@ +77b8763b1eebe90785e17da1aa4083cea50408ad SOURCES/brotli-7.0.0.crate diff --git a/SOURCES/219.patch b/SOURCES/219.patch new file mode 100644 index 0000000..aed9f24 --- /dev/null +++ b/SOURCES/219.patch @@ -0,0 +1,13 @@ +From c14dfea3af98729663eb46577d00d283d90ef6d1 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Wed, 2 Oct 2024 07:10:40 -0400 +Subject: [PATCH] Remove unwanted executable permission from src/enc/test.rs + +--- + src/enc/test.rs | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + mode change 100755 => 100644 src/enc/test.rs + +diff --git a/src/enc/test.rs b/src/enc/test.rs +old mode 100755 +new mode 100644 diff --git a/SOURCES/brotli-fix-metadata.diff b/SOURCES/brotli-fix-metadata.diff new file mode 100644 index 0000000..b409fee --- /dev/null +++ b/SOURCES/brotli-fix-metadata.diff @@ -0,0 +1,18 @@ +--- brotli-7.0.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ brotli-7.0.0/Cargo.toml 2024-10-02T12:36:40.453552+00:00 +@@ -36,6 +36,15 @@ + ] + license = "BSD-3-Clause AND MIT" + repository = "https://github.com/dropbox/rust-brotli" ++exclude = [ ++ "/ci/", ++ "/corrosion/", ++ "/research/", ++ "/testdata/", ++ "/appveyor.yml", ++ "/rustfmt.toml", ++ "/uncorrode.py", ++] + + [profile.release] + lto = true diff --git a/SOURCES/rust2rpm.toml b/SOURCES/rust2rpm.toml new file mode 100644 index 0000000..553a263 --- /dev/null +++ b/SOURCES/rust2rpm.toml @@ -0,0 +1,52 @@ +[package] +summary = "Brotli compressor and decompressor with no_std support" +cargo-toml-patch-comments = [ + """\ + Exclude files that are only useful for upstream development: \ + https://github.com/dropbox/rust-brotli/pull/43\ + """, +] +# The brotli binary would conflict with the one provided by the brotli package. +# The catbrotli binary would not, so we *could* install it, but it doesn’t seem +# useful enough to bother. +cargo-install-bin = false + +[features] +hide = [ + # The benchmark feature makes no sense for external users, and would + # require the corresponding feature in the brotli-decompressor crate, which + # in turn would require a test data corpus. + "benchmark", +] + +[scripts.check] +pre = [ + "%if 0%{?__isa_bits} != 32", +] +post = [ + "%else", + "# Few tests fail with OOM on 32bit", + "# https://github.com/dropbox/rust-brotli/issues/42", + "# A fix was included in 7.0.0, but it was not entirely successful:", + "# https://github.com/dropbox/rust-brotli/issues/42#issuecomment-2388527527", + "skip=\"${skip-} --skip enc::test::test_roundtrip_10x10y\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_64x\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_asyoulik\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_asyoulik9_5\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_backward65536\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_compressed_repeated\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_monkey\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_quickfox\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_quickfox_repeated\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_ukkonooa\"", + "skip=\"${skip-} --skip enc::test::test_roundtrip_x\"", + "%cargo_test -- -- --exact ${skip-}", + "%endif", +] + +[[package.extra-patches]] +number = 10 +file = "https://github.com/dropbox/rust-brotli/pull/219.patch" +comments = [ + "Remove unwanted executable permission from src/enc/test.rs", +] diff --git a/SPECS/rust-brotli.spec b/SPECS/rust-brotli.spec new file mode 100644 index 0000000..6c7b93e --- /dev/null +++ b/SPECS/rust-brotli.spec @@ -0,0 +1,374 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.7.2) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 2; + 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 26 +%bcond_without check +%global debug_package %{nil} + +# prevent executables from being installed +%global cargo_install_bin 0 + +%global crate brotli + +Name: rust-brotli +Version: 7.0.0 +Release: %autorelease +Summary: Brotli compressor and decompressor with no_std support + +License: BSD-3-Clause AND MIT +URL: https://crates.io/crates/brotli +Source: %{crates_source} +# Manually created patch for downstream crate metadata changes +# * Exclude files that are only useful for upstream development: +# https://github.com/dropbox/rust-brotli/pull/43 +Patch: brotli-fix-metadata.diff +# * Remove unwanted executable permission from src/enc/test.rs +Patch10: https://github.com/dropbox/rust-brotli/pull/219.patch + +BuildRequires: cargo-rpm-macros >= 26 + +%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.BSD-3-Clause +%license %{crate_instdir}/LICENSE.MIT +%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}+billing-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+billing-devel %{_description} + +This package contains library source intended for building other packages which +use the "billing" feature of the "%{crate}" crate. + +%files -n %{name}+billing-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}+disallow_large_window_size-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+disallow_large_window_size-devel %{_description} + +This package contains library source intended for building other packages which +use the "disallow_large_window_size" feature of the "%{crate}" crate. + +%files -n %{name}+disallow_large_window_size-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}+float64-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+float64-devel %{_description} + +This package contains library source intended for building other packages which +use the "float64" feature of the "%{crate}" crate. + +%files -n %{name}+float64-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+floating_point_context_mixing-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+floating_point_context_mixing-devel %{_description} + +This package contains library source intended for building other packages which +use the "floating_point_context_mixing" feature of the "%{crate}" crate. + +%files -n %{name}+floating_point_context_mixing-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+no-stdlib-ffi-binding-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+no-stdlib-ffi-binding-devel %{_description} + +This package contains library source intended for building other packages which +use the "no-stdlib-ffi-binding" feature of the "%{crate}" crate. + +%files -n %{name}+no-stdlib-ffi-binding-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}+simd-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+simd-devel %{_description} + +This package contains library source intended for building other packages which +use the "simd" feature of the "%{crate}" crate. + +%files -n %{name}+simd-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 + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%if 0%{?__isa_bits} != 32 +%cargo_test +%else +# Few tests fail with OOM on 32bit +# https://github.com/dropbox/rust-brotli/issues/42 +# A fix was included in 7.0.0, but it was not entirely successful: +# https://github.com/dropbox/rust-brotli/issues/42#issuecomment-2388527527 +skip="${skip-} --skip enc::test::test_roundtrip_10x10y" +skip="${skip-} --skip enc::test::test_roundtrip_64x" +skip="${skip-} --skip enc::test::test_roundtrip_asyoulik" +skip="${skip-} --skip enc::test::test_roundtrip_asyoulik9_5" +skip="${skip-} --skip enc::test::test_roundtrip_backward65536" +skip="${skip-} --skip enc::test::test_roundtrip_compressed_repeated" +skip="${skip-} --skip enc::test::test_roundtrip_monkey" +skip="${skip-} --skip enc::test::test_roundtrip_quickfox" +skip="${skip-} --skip enc::test::test_roundtrip_quickfox_repeated" +skip="${skip-} --skip enc::test::test_roundtrip_ukkonooa" +skip="${skip-} --skip enc::test::test_roundtrip_x" +%cargo_test -- -- --exact ${skip-} +%endif +%endif + +%changelog +* Fri Dec 20 2024 MSVSphere Packaging Team - 7.0.0-2 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Wed Oct 02 2024 Benjamin A. Beasley - 7.0.0-2 +- Restore 32-bit/i686 test skips, as upstream’s fix is not complete + +* Wed Oct 02 2024 Benjamin A. Beasley - 7.0.0-1 +- Update to 7.0.0 + +* Wed Oct 02 2024 Benjamin A. Beasley - 6.0.0-4 +- Patch for OOM in tests on 32-bit platforms + +* Tue Oct 01 2024 Benjamin A. Beasley - 6.0.0-2 +- On 32-bit/i686, skip some tests that fail with OOM + +* Sun Sep 29 2024 Benjamin A. Beasley - 6.0.0-1 +- Update to 6.0.0 (close RHBZ#2272914) + +* Fri Jul 19 2024 Fedora Release Engineering - 3.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Mar 19 2024 Fabio Valentini - 3.5.0-1 +- Update to version 3.5.0; Fixes RHBZ#2269908 + +* Fri Jan 26 2024 Fedora Release Engineering - 3.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 15 2024 Fabio Valentini - 3.4.0-1 +- Update to version 3.4.0; Fixes RHBZ#2241463 + +* Fri Jul 21 2023 Fedora Release Engineering - 3.3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jan 20 2023 Fedora Release Engineering - 3.3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Aug 10 2022 Fabio Valentini - 3.3.4-1 +- Update to version 3.3.4; Fixes RHBZ#2070425 + +* Sat Jul 23 2022 Fedora Release Engineering - 3.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 26 2022 Fabio Valentini - 3.3.3-1 +- Update to version 3.3.3; Fixes RHBZ#2041012 + +* Fri Jan 21 2022 Fedora Release Engineering - 3.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Aug 01 2021 Fabio Valentini - 3.3.2-1 +- Update to version 3.3.2; Fixes RHBZ#1988749 + +* Fri Jul 23 2021 Fedora Release Engineering - 3.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 3.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Nov 24 2020 Fabio Valentini - 3.3.0-4 +- Fix FTI issues for some features. + +* Wed Jul 29 2020 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 3.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Dec 14 17:51:22 CET 2019 Igor Gnatenko - 3.3.0-1 +- Initial package + +## END: Generated by rpmautospec