- C 80.6%
- HTML 3.9%
- Assembly 3.4%
- Rust 3%
- Roff 2%
- Other 6.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| examples | ||
| kasanx | ||
| src | ||
| testsrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
hbuild
Rust build system for Horizon Linux, reads kasanx templates, produces apk v2 packages.
Because xbps-src was bash and bash is how bugs happen. Written in the spirit of Kasane Teto: born as a hoax, became real through sheer community stubbornness, and now she's a commercial diva. Same energy, different compiler.
What is this?
hbuild is to Horizon what xbps-src was to Void, or cbuild is to Chimera, a tool that takes package templates and turns them into installable packages. But written in Rust (no bash), using TOML templates (kasanx), and outputting standard apk v2 packages that apk-tools can install.
Components
- hbuild, the build tool (this repo)
- kasanx, package template format (TOML, see docs/PACKAGING.md)
- hports, community package repository (git.euri.pl)
Quick Start
# Build a package
hbuild pkg user/2bwm
# Or for the whole tree
hbuild bulk main user
See docs/QUICKSTART.md for a 5-minute walkthrough.
Template Example
[package]
name = "2bwm"
version = "0.3"
description = "Fast floating window manager"
license = "MIT"
[source]
urls = ["https://github.com/venam/2bwm/archive/{version}.tar.gz"]
sha256 = "abc..."
[build]
system = "cmake"
depends = ["cmake", "libx11-dev"]
[runtime]
depends = ["libx11"]
Build Systems
hbuild has built-in recipes for:
cmakemesonmakecargo(Rust)gopythonautotoolscustom(anything else via[[step]])
Signing
Packages are signed with your SSH key, the same key that identifies you in the hports community index. No central authority, just crypto.
hbuild sign --key ~/.ssh/id_ed25519_hports package.apk
Status
Alpha, schema stable-ish, implementation in progress. Not yet ready for production.
License
BSD-3-Clause (same as the rest of Horizon).
See Also
- docs/PACKAGING.md, full kasanx reference
- docs/QUICKSTART.md, get started in 5 minutes
- examples/, working templates
- apk-tools, the package manager hbuild outputs for
Support
Fund the distro at https://liberapay.com/maja-wittbrodt/.