From 08430ef2d0bb0ca1880d8bc8e55003e7e72bbfb0 Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Mon, 25 Mar 2024 18:56:18 -0500 Subject: [PATCH] Initial package (rhbz#2271528) Signed-off-by: Michel Lind --- .gitignore | 1 + heapless-fix-metadata-auto.diff | 33 +++++++ heapless-fix-metadata.diff | 12 +++ rust-heapless0.7.spec | 149 ++++++++++++++++++++++++++++++++ rust2rpm.toml | 6 ++ sources | 1 + 6 files changed, 202 insertions(+) create mode 100644 .gitignore create mode 100644 heapless-fix-metadata-auto.diff create mode 100644 heapless-fix-metadata.diff create mode 100644 rust-heapless0.7.spec create mode 100644 rust2rpm.toml create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..195b1cf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/heapless-0.7.17.crate diff --git a/heapless-fix-metadata-auto.diff b/heapless-fix-metadata-auto.diff new file mode 100644 index 0000000..814f49e --- /dev/null +++ b/heapless-fix-metadata-auto.diff @@ -0,0 +1,33 @@ +--- heapless-0.7.17/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ heapless-0.7.17/Cargo.toml 2024-03-25T22:10:29.067024+00:00 +@@ -63,29 +63,13 @@ + + [features] + __trybuild = [] +-cas = ["atomic-polyfill"] ++cas = [] + default = ["cas"] + defmt-impl = ["defmt"] + mpmc_large = [] + ufmt-impl = ["ufmt-write"] + x86-sync-pool = [] + +-[target."cfg(target_arch = \"avr\")".dependencies.atomic-polyfill] +-version = "1" +-optional = true +- + [target."cfg(target_arch = \"x86_64\")".dependencies.spin] + version = "0.9.2" + +-[target.riscv32i-unknown-none-elf.dependencies.atomic-polyfill] +-version = "1" +- +-[target.riscv32imc-unknown-none-elf.dependencies.atomic-polyfill] +-version = "1" +- +-[target.thumbv6m-none-eabi.dependencies.atomic-polyfill] +-version = "1" +-optional = true +- +-[target.xtensa-esp32s2-none-elf.dependencies.atomic-polyfill] +-version = "1" diff --git a/heapless-fix-metadata.diff b/heapless-fix-metadata.diff new file mode 100644 index 0000000..6f2bb10 --- /dev/null +++ b/heapless-fix-metadata.diff @@ -0,0 +1,12 @@ +--- heapless-0.7.17/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ heapless-0.7.17/Cargo.toml 2024-03-25T22:10:35.867072+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/rust-heapless0.7.spec b/rust-heapless0.7.spec new file mode 100644 index 0000000..3424478 --- /dev/null +++ b/rust-heapless0.7.spec @@ -0,0 +1,149 @@ +# Generated by rust2rpm 26 +%bcond_without check +%global debug_package %{nil} + +%global crate heapless + +Name: rust-heapless0.7 +Version: 0.7.17 +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 dependencies and normalize metadata +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 + +BuildRequires: cargo-rpm-macros >= 24 + +%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}+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} -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.toml b/rust2rpm.toml new file mode 100644 index 0000000..ae86a4e --- /dev/null +++ b/rust2rpm.toml @@ -0,0 +1,6 @@ +[features] +hide = [ + "__trybuild", + "defmt", + "defmt-impl", +] diff --git a/sources b/sources new file mode 100644 index 0000000..74f0a8f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (heapless-0.7.17.crate) = a6f9707f885f70d2e2495cf56738916d8946c781d221a2a8dc193b8362f823e7f3695f72387ffe26495d2c0d5e8d1b172303a75466f797aea4767dc4279cc145