Skip to content

feat: add source-build RPM spec for COPR - #295

Open
dacrab wants to merge 4 commits into
wayle-rs:masterfrom
dacrab:feat/copr-rpm-package
Open

feat: add source-build RPM spec for COPR#295
dacrab wants to merge 4 commits into
wayle-rs:masterfrom
dacrab:feat/copr-rpm-package

Conversation

@dacrab

@dacrab dacrab commented Jun 21, 2026

Copy link
Copy Markdown

Summary

  • Adds packaging/rpm/wayle.spec — a source-build RPM spec that compiles Wayle from source using Cargo, enabling direct builds on COPR and other RPM-based build systems without requiring pre-packaged tarballs.
  • The existing wayle.spec.in only supports prebuilt binaries from GitHub Releases; this new spec builds from the git repository.

What this enables

Users on Fedora (42+, rawhide) can install directly from COPR:

sudo dnf copr enable killcrb/wayle
sudo dnf install wayle

Or build locally:

rpmbuild -bs packaging/rpm/wayle.spec
mock -r fedora-44-x86_64 SRPMS/wayle-*.src.rpm

Details

  • Uses rustup to install the latest stable Rust toolchain (system Rust on Fedora may be too old for edition = "2024")
  • Builds the full workspace (wayle + wayle-settings binaries)
  • Installs systemd service, desktop file, icons, and shell completions
  • Network enabled during build for rustup/cargo downloads
  • Tested successfully on COPR across Fedora 42, 43, 44, and rawhide (x86_64)

Notes

  • aarch64 chroots excluded for now — COPR's aarch64 builders have an older binutils that produces ld.bfd errors with the latest Rust rlib format. Will add back once COPR updates their aarch64 infrastructure.
  • The existing wayle.spec.in (prebuilt binary approach) is untouched and continues to work for GitHub Release packaging.

dacrab added 4 commits June 21, 2026 23:33
Add a new RPM spec file that builds wayle from source using cargo,
replacing the prebuilt-binary-only approach in wayle.spec.in.

This enables building on COPR (and other RPM-based build systems)
directly from the git repository without needing pre-packaged tarballs.

Key changes:
- Uses rustup to install the latest stable Rust toolchain
- Builds from source via cargo with workspace support
- Installs both wayle and wayle-settings binaries
- Includes systemd service, desktop file, icons, and shell completions
- Tested on Fedora 42-44 and rawhide (x86_64)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant