diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40e3cc4 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/heapless-0.7.16.crate diff --git a/heapless-fix-metadata-auto.diff b/heapless-fix-metadata-auto.diff new file mode 100644 index 0000000..cf2d5a8 --- /dev/null +++ b/heapless-fix-metadata-auto.diff @@ -0,0 +1,13 @@ +--- heapless-0.7.16/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ heapless-0.7.16/Cargo.toml 2023-02-23T19:44:41.242083+00:00 +@@ -70,10 +70,6 @@ + ufmt-impl = ["ufmt-write"] + x86-sync-pool = [] + +-[target."cfg(target_arch = \"avr\")".dependencies.atomic-polyfill] +-version = "0.1.8" +-optional = true +- + [target."cfg(target_arch = \"x86_64\")".dependencies.spin] + version = "0.9.2" + diff --git a/heapless-fix-metadata.diff b/heapless-fix-metadata.diff new file mode 100644 index 0000000..2d22ea9 --- /dev/null +++ b/heapless-fix-metadata.diff @@ -0,0 +1,12 @@ +--- heapless-0.7.16/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ heapless-0.7.16/Cargo.toml 2023-02-23T19:44:55.325917+00:00 +@@ -55,9 +55,6 @@ + version = "0.1" + optional = true + +-[dev-dependencies.ufmt] +-version = "0.1" +- + [build-dependencies.rustc_version] + version = "0.4.0" + diff --git a/heapless-rm-const_err.diff b/heapless-rm-const_err.diff new file mode 100644 index 0000000..dbab310 --- /dev/null +++ b/heapless-rm-const_err.diff @@ -0,0 +1,10 @@ +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -72,7 +72,6 @@ + #![deny(rust_2018_compatibility)] + #![deny(rust_2018_idioms)] + #![deny(warnings)] +-#![deny(const_err)] + + pub use binary_heap::BinaryHeap; + pub use deque::Deque; diff --git a/rust-heapless.spec b/rust-heapless.spec new file mode 100644 index 0000000..32ef360 --- /dev/null +++ b/rust-heapless.spec @@ -0,0 +1,163 @@ +# Generated by rust2rpm 24 +%bcond_without check +%global debug_package %{nil} + +%global crate heapless + +Name: rust-heapless +Version: 0.7.16 +Release: %autorelease +Summary: Static friendly data structures that don't require dynamic memory allocation + +License: MIT OR Apache-2.0 +URL: https://crates.io/crates/heapless +Source: %{crates_source} +# Automatically generated patch to strip foreign dependencies +Patch: heapless-fix-metadata-auto.diff +# Manually created patch for downstream crate metadata changes +# can't package ufmt, test errors +Patch: heapless-fix-metadata.diff +# const_err lint is removed: https://github.com/rust-lang/rust/issues/71800 +Patch: heapless-rm-const_err.diff + +BuildRequires: rust-packaging >= 21 + +%global _description %{expand: +`static` friendly data structures that don't require dynamic memory +allocation.} + +%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-APACHE +%license %{crate_instdir}/LICENSE-MIT +%doc %{crate_instdir}/CHANGELOG.md +%doc %{crate_instdir}/README.md +%doc %{crate_instdir}/suppressions.txt +%{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}+atomic-polyfill-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+atomic-polyfill-devel %{_description} + +This package contains library source intended for building other packages which +use the "atomic-polyfill" feature of the "%{crate}" crate. + +%files -n %{name}+atomic-polyfill-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+cas-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+cas-devel %{_description} + +This package contains library source intended for building other packages which +use the "cas" feature of the "%{crate}" crate. + +%files -n %{name}+cas-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+mpmc_large-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+mpmc_large-devel %{_description} + +This package contains library source intended for building other packages which +use the "mpmc_large" feature of the "%{crate}" crate. + +%files -n %{name}+mpmc_large-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}+ufmt-impl-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+ufmt-impl-devel %{_description} + +This package contains library source intended for building other packages which +use the "ufmt-impl" feature of the "%{crate}" crate. + +%files -n %{name}+ufmt-impl-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+ufmt-write-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+ufmt-write-devel %{_description} + +This package contains library source intended for building other packages which +use the "ufmt-write" feature of the "%{crate}" crate. + +%files -n %{name}+ufmt-write-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+x86-sync-pool-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+x86-sync-pool-devel %{_description} + +This package contains library source intended for building other packages which +use the "x86-sync-pool" feature of the "%{crate}" crate. + +%files -n %{name}+x86-sync-pool-devel +%ghost %{crate_instdir}/Cargo.toml + +%prep +%autosetup -n %{crate}-%{version_no_tilde} -p1 +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +%autochangelog diff --git a/rust2rpm.conf b/rust2rpm.conf new file mode 100644 index 0000000..cb2a328 --- /dev/null +++ b/rust2rpm.conf @@ -0,0 +1,5 @@ +[DEFAULT] +unwanted-features = + __trybuild + defmt + defmt-impl diff --git a/sources b/sources new file mode 100644 index 0000000..d9cec0e --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (heapless-0.7.16.crate) = c67633044298013fc584fba5dde8a85f84f259d138d6f0912de4368ceee0b7194c5cde705b4a04186a4420757336814335b6b935b5e5380eb341720090b56428