Import the unchanged recipe from the cua-driver-rs-v0.24.0 build kit. Keep fast-ring automatic builds disabled pending native channel qualification and document explicit ABI updates and compositor restarts.
Optional Cua Hyprland plugin
This package builds the optional Cua input plugin separately from Cua Driver. It does not add the plugin to the Omarchy installation or change the Driver package. The recipe is copied unchanged from the published Cua Driver 0.24.0 build kit, including its source checks, mandatory tests, and ABI checks.
The package is in the fast release ring with skip_build: true. This keeps it
out of unscoped builds while maintainers qualify the pinned environment.
An explicit package build remains available. Fast-ring membership does not
establish compatibility: edge, rc, and stable use separate build environments,
and each must satisfy the exact contract before publication there.
Source and ABI contract
The authoritative release is
cua-driver-rs-v0.24.0,
at source revision 4b3396d9fe4bd3cf723b0eb8db83c18a8764b520.
Both archives use the stem
cua-hyprland-plugin-0.24.0-4b3396d9fe4bd3cf723b0eb8db83c18a8764b520.
The release's checksums.txt records these SHA-256 values:
| Artifact | SHA-256 |
|---|---|
Source (.tar.gz) |
73b65823b3281c027a31cd8f7d9ca9586fe7386ed1eec74174f2e72cea0af643 |
Build kit (-build-kit.tar.gz) |
f91a7b61a39f0efdcee9558eb6725fe864340e8eacf940346499222afe7f7869 |
The supported environment is Linux x86_64, hyprland=0.56.2-1, headers
0.56.2, GCC 16.1.1 20260728, and shared libstdc++.so.6.0.36.
The compiler probe and compositor must carry the exact GCC ELF comment; the
compiler, compositor, and module must resolve identical runtime bytes. The
recipe rejects mismatches. gcc-libs alone is not proof of runtime compatibility.
There is no qualified ARM build.
Production input is enabled at build time. Experimental signed input and
tracing are disabled. Source and build provenance are installed with the module.
The build requires CMake 3.30 or later and Python 3.11 or later. The default
compiler is /usr/bin/g++; an absolute CUA_RELEASE_CXX path can select an
already provisioned matching compiler without bypassing runtime checks.
The package does not provision a compiler or change runtime search paths.
Review and qualify
Download both archives and checksums.txt from the exact release. Verify the
archive hashes before extracting the kit, then verify its SHA256SUMS with the
source archive alongside it. Compare this package's PKGBUILD byte for byte
with the kit's recipe. Follow the kit's operator README and
release packaging instructions.
Before enabling scheduled builds or publishing a package, maintainers need:
- A native build in each intended channel's pinned x86_64 environment, with
all bundled tests passing and the packaged ELF dependencies and provenance
inspected. An unsigned, explicitly scoped repository build is
bin/repo build --package cua-hyprland-plugin --arch x86_64 --mirror edge. Repeat with the intended channel only when its environment matches. - The kit's
lifecycle.pygate in a disposable pinned Arch environment, including installation, removal, reinstallation, and refusal with a different Hyprland package. That gate uses isolated ALPM roots and metadata dependency fixtures; it does not prove live activation. - Fresh-session activation and representative supported input, then upgrade, rollback, and removal across compositor restarts. Retain evidence for the exact package, source revision, compositor, compiler, and runtime.
Static review and download verification do not establish these native results.
The source manifest's native_certified: false describes the generator's
scope; separate native evidence must establish runtime qualification.
Update policy
Updates are explicit maintainer changes. There is no upstream polling hook,
AUR synchronization, or automatic rebuild_on bump. Do not use Omarchy's
pinned metadata flag here: it controls the Omarchy release pair's rc branch
workflow, not native ABI compatibility.
For an update, select an exact Cua Driver component tag, download its matching
source and build kit, verify published checksums, and review the recipe and
manifest together. Replace the recipe and update this record only after reviewing
the new ABI contract. A Driver release alone does not qualify its plugin for
a changed compositor. Keep skip_build enabled until the required channel
evidence is available; removing it is a separate publication decision.
Do not widen the Hyprland dependency or remove compiler/runtime checks to accommodate channel drift. If a channel cannot provide the pins, keep the plugin unavailable there and use Driver without this plugin. An installed plugin's exact dependency can block a compositor upgrade; remove the plugin using the restart procedure before moving to an incompatible environment.
Activation and removal
The package installs only the module, license, and provenance. It has no install hooks, autoloading, configuration edits, or hot replacement. Follow the pinned operator guide for deliberate loading, input enablement, status checks, and supported apps. Loading the module alone does not enable its input transport.
Before installing or upgrading, save your work and exit Hyprland. Install from a text console, start a fresh session, and deliberately activate and verify the module. Keep the prior package and its matching environment for rollback. Before removal, remove any operator-added load and enable settings, exit Hyprland, and remove the package from a text console. Start a fresh session afterward. Upgrade, rollback, and removal require compositor restart; do not hot-unload/reload the module or force installation past its dependency pin.