Name rust-srpm-macros
Description RPM macros for building Rust projects
Version 28.4-1.fc42
Package Base cargo-rpm-macros
Homepage https://codeberg.org/rust2rpm/cargo-rpm-macros
Maintainers []
Contributors []
Distro-repo https://src.fedoraproject.org/rpms/cargo-rpm-macros/tree/f42
Sources []
Dependencies []
Optional-Dependencies []
Build-Dependencies []
Provides ['rpm_macro(build_rustflags)', 'rpm_macro(buildsystem_cargo_build)', 'rpm_macro(buildsystem_cargo_check)', 'rpm_macro(buildsystem_cargo_conf)', 'rpm_macro(buildsystem_cargo_generate_buildrequires)', 'rpm_macro(buildsystem_cargo_install)', 'rpm_macro(buildsystem_cargo_prep)', 'rpm_macro(cargo_generate_buildrequires)', 'rpm_macro(crates_source)', 'rpm_macro(rust_arches)', 'rpm_macro(rustflags_codegen_units)', 'rpm_macro(rustflags_debuginfo)', 'rpm_macro(rustflags_opt_level)', 'rpm_macro(version_no_tilde)', 'rust-srpm-macros']
Builddate 09-12-2025 18:14:28
Architecture noarch
Distro-Version 42
Licenses ['MIT']
Hash 9c78aa54cc145c803fa874fcfb3cd730c54062b782143daed431e503990eb786
%bcond_without check

Name:           cargo-rpm-macros
Version:        28.4
Release:        %autorelease
Summary:        RPM macros and generators for building Rust packages with cargo
License:        MIT

URL:            https://codeberg.org/rust2rpm/cargo-rpm-macros
Source:         %{url}/archive/v%{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-pytest
%endif

# obsolete + provide rust-packaging (removed in Fedora 38)
Obsoletes:      rust-packaging < 24
Provides:       rust-packaging = %{version}-%{release}

Requires:       cargo2rpm >= 0.3.2

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
%{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

%prep
%autosetup -n cargo-rpm-macros -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.cargo-buildsys
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.aaa-cargo-srpm
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 %{with check}
%check
export MACRO_DIR=%{buildroot}%{_rpmmacrodir}
pytest -vv
%endif

%files
%license LICENSE
%{_rpmmacrodir}/macros.cargo
%{_rpmmacrodir}/macros.cargo-buildsys
%if 0%{?rhel}
%{_rpmmacrodir}/macros.rust
%endif
%{_fileattrsdir}/cargo.attr
%{_fileattrsdir}/cargo_vendor.attr

%if ! 0%{?rhel}
%files -n rust-srpm-macros
%license LICENSE
%{_rpmmacrodir}/macros.aaa-cargo-srpm
%{_rpmmacrodir}/macros.rust
%{_rpmmacrodir}/macros.rust-srpm
%endif

%changelog
%autochangelog