# rust-kurbu5-derive.spec.in — Fedora RPM packaging for the kurbu5-derive Rust crate # # Source package: rust-kurbu5-derive # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # rust-kurbu5-derive-devel Rust proc-macro crate sources in the system Cargo registry # rust-kurbu5-derive-doc Changelog documentation # # Vendor tarball preparation (requires network, run once per release): # curl -LO https://static.crates.io/crates/kurbu5-derive/kurbu5-derive-%%{version}.crate # tar xf kurbu5-derive-%%{version}.crate # cd kurbu5-derive-%%{version} # cargo generate-lockfile # cargo vendor vendor > vendor-config.toml # tar czf rust-kurbu5-derive-%%{version}-vendor.tar.gz vendor/ vendor-config.toml Cargo.lock # # Build ordering: this package has no runtime dependency on any other kurbu5 # crate and can be built in Stage 1 (parallel with rust-kurbu5-sys). # rust-kurbu5-rs depends on it via the derive feature. # The dev-dependency on kurbu5-rs (for integration tests) requires # rust-kurbu5-rs-devel; on first submission, only --lib tests are run to avoid # that circular bootstrap requirement. %global debug_package %{nil} %global crate kurbu5-derive %global snapdate 202604141932 %global snapcommit 8b819c7 Name: rust-%{crate} Version: 0.1.1 Release: 1.%{snapdate}.git%{snapcommit}%{?dist} Summary: Proc-macro derives for kurbu5-rs non-KDB Kerberos plugin interfaces License: BSD-2-Clause URL: https://crates.io/crates/%{crate} Source0: %{crates_source} Source1: %{name}-%{version}-vendor.tar.gz BuildRequires: cargo-rpm-macros >= 25 %description Procedural derive macros for the nine MIT Kerberos non-KDB plugin interfaces provided by kurbu5-rs: PWQUAL, HOSTREALM, LOCALAUTH, CCSELECT, KDCPREAUTH, CLPREAUTH, KDCPOLICY, CERTAUTH, and AUDIT. Each feature flag enables the corresponding derive macro, allowing plugin authors to annotate their structs with #[derive(PwqualModule)] and similar attributes rather than implementing the trait manually. This is a proc-macro crate: it carries no runtime dependencies and does not link against any system libraries. %package -n rust-%{crate}-devel Summary: Rust crate sources for kurbu5-derive (Kerberos plugin derive macros) BuildArch: noarch Provides: crate(kurbu5-derive) = %{version} Provides: crate(kurbu5-derive/audit) = %{version} Provides: crate(kurbu5-derive/ccselect) = %{version} Provides: crate(kurbu5-derive/certauth) = %{version} Provides: crate(kurbu5-derive/clpreauth) = %{version} Provides: crate(kurbu5-derive/default) = %{version} Provides: crate(kurbu5-derive/full) = %{version} Provides: crate(kurbu5-derive/hostrealm) = %{version} Provides: crate(kurbu5-derive/kdcpolicy) = %{version} Provides: crate(kurbu5-derive/kdcpreauth) = %{version} Provides: crate(kurbu5-derive/localauth) = %{version} Provides: crate(kurbu5-derive/pwqual) = %{version} # kurbu5-derive is a proc-macro crate: it carries no runtime dependencies. # Consumers of crate(kurbu5-rs/derive) who pull in kurbu5-derive at compile # time do not need a Requires here; that relationship is expressed by # rust-kurbu5-rs-devel Requires: rust-kurbu5-derive-devel. %description -n rust-%{crate}-devel Rust proc-macro crate sources for kurbu5-derive, installed into the system Cargo registry so that other Rust packages can use it as a build-time dependency. Provides derive macros for the MIT Kerberos non-KDB plugin interfaces. The full feature is an alias that enables all nine interface features at once. %package -n rust-%{crate}-doc Summary: Documentation for the kurbu5-derive Rust crate BuildArch: noarch %description -n rust-%{crate}-doc Changelog and documentation for the kurbu5-derive proc-macro Rust crate. %prep %autosetup -n %{crate}-%{version} tar xf %{SOURCE1} %cargo_prep -v vendor %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build %install %cargo_install %check # The dev-dependency on kurbu5-rs (for derive integration tests) requires # rust-kurbu5-rs-devel to be installed. Run only --lib tests to avoid that # circular bootstrap requirement; full tests run once rust-kurbu5-rs-devel is # available in the build root. %cargo_test -- --lib %files %license LICENSE %files -n rust-%{crate}-devel %license LICENSE %{cargo_registry}/%{crate}-%{version}/ %files -n rust-%{crate}-doc %license LICENSE %doc CHANGELOG.md %changelog * Tue Apr 14 2026 Alexander Bokovoy - 0.1.1-1 - Update to version 0.1.1 * Tue Apr 14 2026 Alexander Bokovoy - 0.1.0-1 - Initial package for kurbu5-derive 0.1.0