Hi everyone,
I’m moving the proposal to bring the Crystal Programming Language into the official Fedora and EPEL repositories into its next phase. The initial infrastructure is now functional, and I’m looking for peer review, QA, and collaborators to help refine the implementation before we finalize the FESCo Change Proposal for Fedora 46.
The Stack So Far
We’ve built a robust foundation to ensure Crystal packaging is as idiomatic and automated as possible:
-
cr2rpm: A dedicated Python-based metadata engine and spec generator. It parses
shard.ymlto drive the build process, similar torust2rpmorgo2rpm. It includes ametadatasubcommand for programmatic querying of shard properties. -
Standardized RPM Macros: A complete suite (
%crystal_setup,%crystal_build,%crystal_install, etc.) that handles:- Offline Builds: Automatic detection and handling of vendor tarballs (Source1).
- Architecture Support: Standardized
ExclusiveArchforx86_64andaarch64. - FHS Compliance: Proper placement of binaries and the Crystal standard library.
-
CI & Validation: The tooling is backed by a pytest suite and passes
rpmlintwith zero errors/warnings on generated specs.
Request for Review & QA
I am looking for “Vibe-Engineers” and packagers to tear this apart and help us find the edge cases:
-
Logic & Architecture: Review the
macros.crystalimplementation. Is there a more efficient way to handle the bootstrap or the vendor caching? -
Tooling QA: Run
cr2rpmagainst complex shards (especially those with heavy C-bindings or non-standard directory structures) and report where the spec generation fails or produces non-idiomatic results. -
EPEL Strategy: Review the
epel.rstplan. We need to ensure long-term maintainability given RHEL’s lifecycle. -
Opinions Welcome: Should we change the naming convention for libraries? Is the
%crystal_setupparameterization flexible enough?
Repository & Docs
The entire planning, guidelines, and tooling source is hosted here:
renich/crystal-in-fedora: Project to take Crystal to Fedora Linux and make it a first-class citizen there. - Codeberg.org
If you’ve ever wanted a first-class Crystal experience on a major enterprise-grade distro, now is the time to weigh in on the foundation.
Looking forward to your PRs, issues, and brutal honesty.
Cheers,
Rénich Bon Ćirić
Fedora Packager