paru-like AUR helper for Horizon huports. Clone, build, and install source packages locally.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-11 21:27:11 +01:00
src hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
.gitignore hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
Cargo.lock hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
Cargo.toml hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
LICENSE hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
NOTICE hu: paru-like huports builder 2026-11-09 23:14:21 +01:00
README.md readme: liberapay funding 2026-11-11 21:27:11 +01:00

hu

hu builds Horizon huports packages locally. Sources stay in cgit; the helper clones a package repository, uses hbuild to build it with the local chroot, and optionally installs the resulting APK.

Commands

The command line is intentionally paru-like:

hu <query>              search and install interactively
hu <package>...         install packages directly
hu -S <package>...      install packages
hu -Ss [term]           search huports
hu -Si <package>...     show package info
hu -G <package>...      clone package sources
hu -Gp <package>...     print package manifests
hu list                 list package names
hu build <package>      build without installing

Multiple search results open a numbered menu. The menu accepts 1 2 3, 1-3, and comma-separated numbers. --noconfirm skips the installation prompt; --no-color and NO_COLOR disable ANSI color.

hu -S and hu install run apk add --allow-untrusted as root. When not root they use sudo; set HU_SUDO=doas to use doas instead.

Requirements

  • git
  • curl
  • hbuild
  • apk from apk-tools for installation

The helper never pushes, signs, or writes to huports. It only clones from https://pkgs.euri-linux.pl/git/huports/<package>.git and builds in its own cache. Maintainer publishing remains a separate hbuild operation.

Environment

Variable Default
HU_HBUILD hbuild
HU_CACHE $XDG_CACHE_HOME/hu or ~/.cache/hu
HU_CGIT_URL https://pkgs.euri-linux.pl/cgit/
HU_GIT_BASE https://pkgs.euri-linux.pl/git/huports
HU_REPO_BASE https://pkgs.euri-linux.pl/huports
HU_SUDO sudo

Package format

Each huports repository carries a root kasanx.toml. It can be a complete hbuild template with [package], [source], and [build], or a flat manifest with package fields at the top and [source]/[build] tables below. The helper wraps the flat form into the [package] table hbuild expects. A manifest without [source] and [build] can be inspected with hu info, but cannot be built.

Layout

~/.cache/hu/
├── repos/<package>/
└── work/<package>/
    ├── kasanx/user/<package>/
    │   ├── kasanx.toml
    │   ├── files -> <cache>/repos/<package>/files
    │   └── patches -> <cache>/repos/<package>/patches
    └── packages/user/x86_64/*.apk

License

BSD-3-Clause. See LICENSE.

The command-line interface is modeled after paru 2.1.0, which is GPL-3.0. No paru source code is included or adapted in this project. Paru was read only to understand its user-facing behavior and option layout.

Support

Fund the distro at https://liberapay.com/maja-wittbrodt/.