diff --git a/0001-Temporarily-accept-cargo_prep-V-flag-for-spec-compat.patch b/0001-Temporarily-accept-cargo_prep-V-flag-for-spec-compat.patch new file mode 100644 index 0000000000000000000000000000000000000000..2195780dee7987ce31d400bf7766324232a5b66b --- /dev/null +++ b/0001-Temporarily-accept-cargo_prep-V-flag-for-spec-compat.patch @@ -0,0 +1,27 @@ +From c1cb014722147a3373a7d7ebbf99781cbb335cbf Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Fri, 13 Oct 2023 00:31:15 +0200 +Subject: [PATCH] Temporarily accept cargo_prep -V flag for spec compatibiltiy + with RHEL + +--- + macros.d/macros.cargo | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/macros.d/macros.cargo b/macros.d/macros.cargo +index e99f5a6..05159d8 100644 +--- a/macros.d/macros.cargo ++++ b/macros.d/macros.cargo +@@ -54,7 +54,8 @@ + # -v - use vendored sources from instead of + # %%cargo_registry + # -N - Don't set up any registry. Only set up the build configuration. +-%cargo_prep(v:N)\ ++%cargo_prep(V:v:N)\ ++%{-V:%{?fedora:%{error:The -V flag for cargo_prep is not supported in Fedora}}}\ + %{-v:%{-N:%{error:-v and -N are mutually exclusive!}}}\ + (\ + set -euo pipefail\ +-- +2.41.0 + diff --git a/rust-packaging-26.3.tar.gz b/rust-packaging-26.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..479d1379322b9b90e23dc8a1665023cb42e823e7 Binary files /dev/null and b/rust-packaging-26.3.tar.gz differ diff --git a/rust-packaging.spec b/rust-packaging.spec new file mode 100644 index 0000000000000000000000000000000000000000..aced4c92110d71686fb7531c258325e96cde0303 --- /dev/null +++ b/rust-packaging.spec @@ -0,0 +1,88 @@ +%bcond_without check + +Name: rust-packaging +Version: 26.3 +Release: 1 +Summary: RPM macros and generators for building Rust packages +License: MIT + +URL: https://pagure.io/fedora-rust/rust-packaging +Source: %{url}/archive/%{version}/rust-packaging-%{version}.tar.gz + +Patch: 0001-Temporarily-accept-cargo_prep-V-flag-for-spec-compat.patch + +BuildArch: noarch + +%if %{with check} +BuildRequires: python3-pytest +%endif + +%description +%{summary}. + +%if ! 0%{?rhel} +%package -n rust-srpm-macros +Summary: RPM macros for building Rust projects + +%description -n rust-srpm-macros +RPM macros for building source packages for Rust projects. +%endif + +%package -n cargo-rpm-macros +Summary: RPM macros for building projects with cargo + +# obsolete + provide rust-packaging (removed in Fedora 38) +Obsoletes: rust-packaging < 24 +Provides: rust-packaging = %{version}-%{release} + +Requires: cargo2rpm >= 0.1.8 + +Requires: cargo +Requires: gawk +Requires: grep + +%if ! 0%{?rhel} +Requires: rust-srpm-macros = %{version}-%{release} +%else +# The "rust-srpm-macros" package is built from the "rust" source package in +# RHEL, so the package follows a different versioning scheme. +Requires: rust-srpm-macros +%endif + +%description -n cargo-rpm-macros +RPM macros for building projects with cargo. + +%prep +%autosetup -p1 + +%build +# nothing to do + +%install +install -D -p -m 0644 -t %{buildroot}/%{_rpmmacrodir} macros.d/macros.cargo +install -D -p -m 0644 -t %{buildroot}/%{_rpmmacrodir} macros.d/macros.rust +%if ! 0%{?rhel} +install -D -p -m 0644 -t %{buildroot}/%{_rpmmacrodir} macros.d/macros.rust-srpm +%endif +install -D -p -m 0644 -t %{buildroot}/%{_fileattrsdir} fileattrs/cargo.attr +install -D -p -m 0644 -t %{buildroot}/%{_fileattrsdir} fileattrs/cargo_vendor.attr + +%if ! 0%{?rhel} +%files -n rust-srpm-macros +%license LICENSE +%{_rpmmacrodir}/macros.rust +%{_rpmmacrodir}/macros.rust-srpm +%endif + +%files -n cargo-rpm-macros +%license LICENSE +%{_rpmmacrodir}/macros.cargo +%if 0%{?rhel} +%{_rpmmacrodir}/macros.rust +%endif +%{_fileattrsdir}/cargo.attr +%{_fileattrsdir}/cargo_vendor.attr + +%changelog +* Tue Oct 15 2024 jianglong - 26.3-1 +- Package init