%bcond_without check Name: rust-packaging Version: 26.2 Release: %autorelease 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 # temporary patch for compatibility with RHEL / ELN: # The %%cargo_prep macro in RHEL / ELN accepts a -V flag. Using the same spec # file for both Fedora and ELN would cause spec file parsing errors because # the -V flag is not known in Fedora. Patch: 0001-Temporarily-accept-cargo_prep-V-flag-for-spec-compat.patch BuildArch: noarch %if %{with check} BuildRequires: python3.11-pytest %endif %description %{summary}. %package -n rust-srpm-macros-epel Summary: RPM macros for building Rust projects # Require rust-srpm-macros from RHEL Requires: rust-srpm-macros %description -n rust-srpm-macros-epel RPM macros for building source packages for Rust projects. %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 Requires: rust-srpm-macros-epel = %{version}-%{release} %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 # We don't install these on RHEL 9, as they conflict with the regular # rust-srpm-macros. # If we need to override these, they can be installed as # macros.zzz-rust-srpm-epel. %dnl install -D -p -m 0644 -t %{buildroot}/%{_rpmmacrodir} macros.d/macros.rust-srpm install -D -p -m 0644 -t %{buildroot}/%{_fileattrsdir} fileattrs/cargo.attr install -D -p -m 0644 -t %{buildroot}/%{_fileattrsdir} fileattrs/cargo_vendor.attr %if %{with check} %check export MACRO_DIR=%{buildroot}%{_rpmmacrodir} # skip tests that fail due to whitespace differences in expected strings pytest-3.11 -vv -k "not test_cargo_prep" %endif %files -n rust-srpm-macros-epel %license LICENSE %{_rpmmacrodir}/macros.rust %dnl %{_rpmmacrodir}/macros.rust-srpm %files -n cargo-rpm-macros %license LICENSE %{_rpmmacrodir}/macros.cargo %{_fileattrsdir}/cargo.attr %{_fileattrsdir}/cargo_vendor.attr %changelog %autochangelog