DEV Community

Shresth Paul
Shresth Paul

Posted on

Maintaining Arch Linux AUR Packages: Updates for python-nspektr and rapidyaml

As part of my ongoing effort to maintain and improve Arch Linux AUR packages, I recently updated two projects — python-nspektr and rapidyaml. Both required more than just bumping versions: I had to revisit sources, streamline dependencies, and ensure smooth builds for both C++ and Python components.

Here’s a breakdown of what changed and how you can use these updated packages.

1. Updating python-nspektr

Previous state: Built from a Git commit (0.5.0).
Update: Now at 0.5.1, sourced from the official PyPI release.
Why it matters: Using the PyPI tarball results in a cleaner package with minimal dependencies, ensuring stability for Arch users.
How to install (AUR):

yay -S python-nspektr
Enter fullscreen mode Exit fullscreen mode

Verify installation:

python -c "import nspektr; print(nspektr.__version__)"
Enter fullscreen mode Exit fullscreen mode

2. Updating rapidyaml (C++ library)This update focused solely on the C++ rapidyaml library, not the Python bindings.

Previous state: Version 0.9.0 built from Git.
Update: Now bumped to 0.10.0, with improved packaging for the C++ components.
AUR change: When I updated rapidyaml, the separate python-rapidyaml package was automatically dropped from the AUR. This wasn’t because of a change in the upstream project’s Python bindings, but rather because the AUR packaging now only includes the C++ library.
What was tested:

  • Verified the C++ rapidyaml library with a simple YAML parsing test. -Python bindings remain available upstream, but they’re no longer part of the Arch AUR package.

How to install (AUR):

yay -S rapidyaml
Enter fullscreen mode Exit fullscreen mode

Test the C++ library:

#include <ryml.hpp>
#include <iostream>
int main() {
    c4::yml::Tree tree = ryml::parse_in_arena(R"(
        hello: world
        number: 42
    )");
    std::cout << tree["hello"].val() << std::endl; // prints: world
}
Enter fullscreen mode Exit fullscreen mode

Compile and run:

g++ test.cpp -o test -lryml
./test
Enter fullscreen mode Exit fullscreen mode

Updated Packages Overview
PackageVersion Updated ToNotespython-nspektr0.5.1Switched from Git commit to PyPI tarball, trimmed dependenciesrapidyaml0.10.0Includes both C++ library and Python bindings (AUR auto-removed the separate python-rapidyaml package)

Closing Thoughts
Maintaining AUR packages isn’t just about version bumps — it’s about keeping packages clean, reliable, and easy for users to install. With these updates, both python-nspektr and rapidyaml are now aligned and ready for Arch Linux users.

If you’re also maintaining AUR packages, here are some quick tips:

  • Prefer PyPI tarballs over Git commits for Python projects.
  • Keep C++ libraries and their Python bindings in sync.
  • Always test with a real-world example after building.
  • Don’t forget to regenerate your .SRCINFO with:
makepkg --printsrcinfo > .SRCINFO
Enter fullscreen mode Exit fullscreen mode

I’ll continue sharing updates from my AUR maintenance journey — stay tuned for more!

Top comments (0)