From a0ebf2ad02127a0a4bd66ab3f57ce960c16da9a0 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 20 Dec 2024 17:58:42 +0300 Subject: [PATCH] import rust-typeid-1.0.2-2.el10 --- .gitignore | 1 + .rust-typeid.metadata | 1 + ...tests-that-require-very-recent-Rust-.patch | 33 ++++++ SOURCES/README.md | 3 + SOURCES/rust-typeid.rpmlintrc | 4 + SOURCES/rust2rpm.toml | 26 +++++ SPECS/rust-typeid.spec | 101 ++++++++++++++++++ 7 files changed, 169 insertions(+) create mode 100644 .gitignore create mode 100644 .rust-typeid.metadata create mode 100644 SOURCES/0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch create mode 100644 SOURCES/README.md create mode 100644 SOURCES/rust-typeid.rpmlintrc create mode 100644 SOURCES/rust2rpm.toml create mode 100644 SPECS/rust-typeid.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c58fe24 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/typeid-1.0.2.crate diff --git a/.rust-typeid.metadata b/.rust-typeid.metadata new file mode 100644 index 0000000..00e3c4a --- /dev/null +++ b/.rust-typeid.metadata @@ -0,0 +1 @@ +c3445c6fc4fac6ae80d72ab4c5949a503d3beabd SOURCES/typeid-1.0.2.crate diff --git a/SOURCES/0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch b/SOURCES/0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch new file mode 100644 index 0000000..5a018e5 --- /dev/null +++ b/SOURCES/0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch @@ -0,0 +1,33 @@ +From cc8baaf562c4d3bda50db88da33e8772c1f620cd Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Thu, 10 Oct 2024 17:43:14 -0400 +Subject: [PATCH] EPEL9: Ignore doctests that require very recent Rust + compilers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In this crate, some doctests use Rust features from versions newer than +the MSRV. It’s therefore necessary to ignore some of them on EPEL9. If +this patch becomes too unwieldy, we could choose to start skipping +doctests there entirely. +--- + src/lib.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib.rs b/src/lib.rs +index 3213b7b..96f7e83 100644 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -20,7 +20,7 @@ + //! Being able to construct `ConstTypeId` in const makes it suitable for use + //! cases that rely on static promotion: + //! +-//! ``` ++//! ```ignore + //! use std::fmt::{self, Debug, Display}; + //! use std::ptr; + //! use typeid::ConstTypeId; +-- +2.46.2 + diff --git a/SOURCES/README.md b/SOURCES/README.md new file mode 100644 index 0000000..b09971d --- /dev/null +++ b/SOURCES/README.md @@ -0,0 +1,3 @@ +# rust-typeid + +The rust-typeid package diff --git a/SOURCES/rust-typeid.rpmlintrc b/SOURCES/rust-typeid.rpmlintrc new file mode 100644 index 0000000..cf4d825 --- /dev/null +++ b/SOURCES/rust-typeid.rpmlintrc @@ -0,0 +1,4 @@ +# Feature metapackages are not supposed to have documentation! +addFilter(r"\+[-_\w]+-devel.noarch: W: no-documentation") +# Not a real spelling error: +addFilter(r" spelling-error \('[Cc]onst',") diff --git a/SOURCES/rust2rpm.toml b/SOURCES/rust2rpm.toml new file mode 100644 index 0000000..db91dc2 --- /dev/null +++ b/SOURCES/rust2rpm.toml @@ -0,0 +1,26 @@ +[[package.extra-patches]] +number = 1009 +file = "0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch" +comments = [ + "EPEL9: Ignore doctests that require very recent Rust compilers", + """\ + In this crate, some doctests use Rust features from versions newer than \ + the MSRV. It’s therefore necessary to ignore some of them on EPEL9. If \ + this patch becomes too unwieldy, we could choose to start skipping \ + doctests there entirely.\ + """, +] + +[scripts.prep] +pre = [ + "# NOTE: The -p1 in %%autosetup, above, must be replaced with -N so that we can", + "# do conditional patching, below.", + "%autopatch -M 999 -p1", + "# We reserved patch number 1000+ for EPEL.", + "%if 0%{?el9}", + # EPEL9 rpm does not support "%patch ", and would quietly attempt and + # fail to re-apply Patch0 instead of applying the desired patch. We *need* + # to use "%patch -P " instead. + "%patch -P 1009 -p1", + "%endif", +] diff --git a/SPECS/rust-typeid.spec b/SPECS/rust-typeid.spec new file mode 100644 index 0000000..74dd4bd --- /dev/null +++ b/SPECS/rust-typeid.spec @@ -0,0 +1,101 @@ +## 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} + +%global crate typeid + +Name: rust-typeid +Version: 1.0.2 +Release: %autorelease +Summary: Const TypeId and non-'static TypeId + +License: MIT OR Apache-2.0 +URL: https://crates.io/crates/typeid +Source: %{crates_source} +# * EPEL9: Ignore doctests that require very recent Rust compilers +# * In this crate, some doctests use Rust features from versions newer than the +# MSRV. It’s therefore necessary to ignore some of them on EPEL9. If this +# patch becomes too unwieldy, we could choose to start skipping doctests there +# entirely. +Patch1009: 0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch + +BuildRequires: cargo-rpm-macros >= 24 + +%global _description %{expand: +Const TypeId and non-'static TypeId.} + +%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}/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 + +%prep +%autosetup -n %{crate}-%{version} -N +# NOTE: The -p1 in %%autosetup, above, must be replaced with -N so that we can +# do conditional patching, below. +%autopatch -M 999 -p1 +# We reserved patch number 1000+ for EPEL. +%if 0%{?el9} +%patch -P 1009 -p1 +%endif +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Fri Dec 20 2024 MSVSphere Packaging Team - 1.0.2-2 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Thu Oct 10 2024 Benjamin A. Beasley - 1.0.2-2 +- In EPEL9, ignore a doctest that requires a newer Rust compiler + +* Thu Oct 10 2024 Benjamin A. Beasley - 1.0.2-1 +- Initial package (close RHBZ#2317856) +## END: Generated by rpmautospec