Software 44561 Published by

Shelly ALPM v2.4.1.4 released by Seafoam Labs enhances AUR compatibility by updating the PKGBUILD parser to evaluate same-line conditional guards, preventing missing dependencies for packages with feature toggles like CUDA. The update improves debugging by capturing full build logs on failure instead of just the last error line, and includes patches for AUR concurrency issues alongside clarified security warnings. Zoey Bauer drove these changes to fix parsing gaps, ensuring more reliable dependency resolution for complex Arch User Repository packages.



Shelly ALPM v2.4.1.4 Released: Tightens PKGBUILD Parsing and Build Diagnostics

Shelly ALPM v2.4.1.4 dropped on July 14. Zoey Bauer pushed the update from Seafoam Labs, bringing targeted fixes to dependency resolution and build error reporting for the C#/Vala package manager. The release aims to reduce headaches for Arch users relying on Shelly to handle AUR packages that use conditional feature flags.

Shelly has been circling the pacman ecosystem for a while, promising a faster, feature-rich alternative with a GTK-based GUI. It's currently sitting at 854+ stars on GitHub. This update doesn't overhaul the interface, but it addresses gaps in PKGBUILD parsing that could lead to broken builds or missing dependencies.

Screenshot_from_2026_07_05_13_33_37

Smarter PKGBUILD Parsing

AUR packages often toggle dependencies based on scalar variables. You might see something like _build_cuda=1 followed by a conditional guard to append makedepends. Before this release, Shelly would skip the conditional line entirely. If the flag was set to include cuda or cudnn, Shelly missed them.

The new parser evaluates same-line conditional guards when it can resolve the scalar variables. It supports operators like -eq, -ne, -gt, -ge, -lt, -le, ==, and !=. The logic handles literal variables, quoted strings, and unquoted numeric comparisons. Unresolved variables are skipped with an error to stderr instead of guessing.

This matters for packages with hardware feature toggles. GPU builds, optional acceleration flags, and similar feature branches now parse correctly. Two new unit tests verify the behavior. One confirms inclusion when _build_cuda=1. Another confirms exclusion when it's zero.

Full Build Logs on Failure

When makepkg crashes, diagnosing the issue is usually the first step. Previously, Shelly captured only the last line of stderr via ReadToEndAsync(). That often left you staring at a truncated error with no context.

Now Shelly collects all stdout and stderr output into a StringBuilder during execution. On failure, it appends the full captured output to the error message. You get the entire build trace instead of a single line. That's a quality-of-life win for debugging AUR packages that don't compile out of the box.

One commit also patched an AUR concurrency build issue, though the specific diff isn't detailed in the release notes. Another commit updated the security warning header to clarify that commands execute outside Shelly's control, not just pacman's. The distinction helps users understand how Shelly handles PKGBUILD content.

Installation and Details

The version bumped from 2.4.1.3 to 2.4.1.4 across all artifacts. That includes the PKGBUILD source, PKGBUILD-bin, PKGBUILD-git, and all .NET and Meson project files. The update touches 12 files with two commits.

If you want to try Shelly, you have options. CachyOS provides a packaged version:

sudo pacman -S shelly

AUR helpers like yay and paru also support it:

yay -S shelly

You can build from source if you prefer:

git clone https://github.com/Seafoam-Labs/Shelly-ALPM.git
cd Shelly-ALPM
makepkg -si

Head here to theĀ GitHub repository.