# rust-synta-codegen.spec.in — Fedora RPM packaging for the synta-codegen crate # # Source package: rust-synta-codegen # Source: crates.io release tarball (%%{crates_source}) # # Binary packages produced: # synta-codegen CLI tool: ASN.1 schema to Rust code generator # rust-synta-codegen-devel Rust crate sources in the system Cargo registry # rust-synta-codegen-doc README documentation # # No vendor tarball is needed: synta-codegen has zero external dependencies. # # Build ordering: synta-codegen has no dependencies on other synta crates and # can be built in any order. It is required at build time (build-dependency) # by synta-certificate, synta-krb5, and synta-mtc. %global crate synta-codegen %global snapdate 202604051758 %global snapcommit a8d93df Name: rust-%{crate} Version: 0.1.4 Release: 1.%{snapdate}.git%{snapcommit}%{?dist} Summary: ASN.1 schema parser and Rust code generator for the synta library License: MIT OR Apache-2.0 URL: https://crates.io/crates/%{crate} Source0: %{crates_source} # License files are not included in the crates.io tarball; ship them separately. Source1: LICENSE-MIT Source2: LICENSE-APACHE BuildRequires: cargo-rpm-macros >= 25 %description synta-codegen parses ASN.1 module schema files and generates Rust struct and enum type definitions that implement the synta Decode and Encode traits. It is used as a build-dependency by synta-certificate, synta-krb5, and synta-mtc to generate ASN.1 type bindings at build time. This package provides the synta-codegen command-line tool for use in development and CI pipelines. # ────────────────────────────────────────────────────────────────────────────── # synta-codegen — CLI binary # ────────────────────────────────────────────────────────────────────────────── %package -n synta-codegen Summary: Command-line ASN.1-to-Rust code generator (synta-codegen) License: MIT OR Apache-2.0 %description -n synta-codegen The synta-codegen command-line tool reads ASN.1 module schema files and writes Rust source files containing struct and enum type definitions that implement the synta Decode and Encode traits. Typical use: generate Rust type bindings from a .asn1 schema at build time inside a Cargo build.rs script, or inspect generated output interactively. # ────────────────────────────────────────────────────────────────────────────── # rust-synta-codegen-devel — Rust crate sources # ────────────────────────────────────────────────────────────────────────────── %package -n rust-%{crate}-devel Summary: Rust crate sources for synta-codegen (ASN.1 Rust code generator) BuildArch: noarch Provides: crate(synta-codegen) = %{version} Provides: crate(synta-codegen/default) = %{version} %description -n rust-%{crate}-devel Rust crate sources for the synta-codegen library and binary, installed into the system Cargo registry so that other Rust packages can use it as a build-dependency (e.g. in build.rs scripts that generate ASN.1 type bindings). synta-codegen has no runtime dependencies on other crates. # ────────────────────────────────────────────────────────────────────────────── # rust-synta-codegen-doc — documentation # ────────────────────────────────────────────────────────────────────────────── %package -n rust-%{crate}-doc Summary: Documentation for the synta-codegen Rust crate BuildArch: noarch %description -n rust-%{crate}-doc README and documentation for the synta-codegen ASN.1-to-Rust code generator Rust crate. # ══════════════════════════════════════════════════════════════════════════════ # PREP # ══════════════════════════════════════════════════════════════════════════════ %prep %autosetup -n %{crate}-%{version} # No vendor tarball: synta-codegen has zero external dependencies. %cargo_prep cp %{SOURCE1} LICENSE-MIT cp %{SOURCE2} LICENSE-APACHE # ══════════════════════════════════════════════════════════════════════════════ # GENERATE BUILD REQUIREMENTS # ══════════════════════════════════════════════════════════════════════════════ %generate_buildrequires %cargo_generate_buildrequires # ══════════════════════════════════════════════════════════════════════════════ # BUILD # ══════════════════════════════════════════════════════════════════════════════ %build %cargo_build # ══════════════════════════════════════════════════════════════════════════════ # INSTALL # ══════════════════════════════════════════════════════════════════════════════ %install %cargo_install # ══════════════════════════════════════════════════════════════════════════════ # CHECK # ══════════════════════════════════════════════════════════════════════════════ %check %cargo_test # ══════════════════════════════════════════════════════════════════════════════ # FILES # ══════════════════════════════════════════════════════════════════════════════ # ── rust-synta-codegen (meta, license carrier) ──────────────────────────────── %files %license LICENSE-MIT LICENSE-APACHE # ── synta-codegen (binary) ──────────────────────────────────────────────────── %files -n synta-codegen %license LICENSE-MIT LICENSE-APACHE %{_bindir}/%{crate} # ── rust-synta-codegen-devel ────────────────────────────────────────────────── %files -n rust-%{crate}-devel %license LICENSE-MIT LICENSE-APACHE %{cargo_registry}/%{crate}-%{version}/ # ── rust-synta-codegen-doc ──────────────────────────────────────────────────── %files -n rust-%{crate}-doc %license LICENSE-MIT LICENSE-APACHE %doc README.md # ══════════════════════════════════════════════════════════════════════════════ # CHANGELOG # ══════════════════════════════════════════════════════════════════════════════ %changelog * Fri Apr 10 2026 Synta Contributors - 0.1.4-1 - Version bump to match workspace 0.1.4 release * Sun Apr 05 2026 Synta Contributors - 0.1.3-1 - Version bump to match workspace * Mon Mar 23 2026 Synta Contributors - 0.1.2-1 - Initial individual crate package (split from synta workspace spec)