- bash 87.5%
- Shell 7.7%
- C 2.7%
- Python 0.6%
- Roff 0.4%
- Other 0.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github | ||
| common | ||
| etc | ||
| horizon-patches | ||
| srcpkgs | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| CONTRIBUTING.md | ||
| COPYING | ||
| LICENSE | ||
| Manual.md | ||
| README.md | ||
| xbps-src | ||
horizon-packages
package build recipes for Euri Linux: Horizon.
built from the void-packages framework using xbps-src. not Void Linux — the recipes are ours, the packages are ours, the build system is borrowed.
what is this?
~14,000 package templates that build Horizon's software repository. each template describes how to download, compile, and package a piece of software for Horizon's x86_64-musl target.
horizon is: LLVM + musl + dinit + XBPS. no GCC. no glibc. no systemd.
quick start
# bootstrap the build environment
./xbps-src binary-bootstrap
# build a package
./xbps-src pkg sway
# build everything (skip already-built)
./build-all.sh
requires: xbps-src chroot (auto-created), ~50GB disk space, patience.
repo structure
srcpkgs/ package templates (one dir per package)
linux7.2/ our kernel (7.2.3, BORE scheduler, -O3, horizon branding)
llvm23/ LLVM/Clang 23 (the Horizon toolchain)
base-system/ base system metapackage
horizon-wm/ custom XCB tiling window manager
...
common/ shared build infrastructure (shlibs, cross-profiles, helpers)
build-all.sh full alphabetical build script (multi-pass, skip-built)
build-iso.sh targeted build for ISO-critical packages
what we changed from void-packages
- xbps template: default repo →
pkgs.euri-linux.pl/x86_64-musl - base-system: Horizon's package selection (musl, dinit, LLVM)
- linux7.2: version 7.2.3,
KBUILD_BUILD_USER=euri, BORE scheduler, -O3, ZSTD zswap - build_dependencies.sh: subpackage dependency resolution fix
- ~407 package version updates from upstream (periodically synced)
building the full repo
# full build (skips already-built packages)
./build-all.sh
# targeted ISO build
./build-iso.sh
the ISO build needs ~55 packages (base-system + sway + deps). the full repo has 2800+.
notes
- x86_64-musl only. no glibc, no ARM (yet).
- packages are built against Void Linux's bootstrap packages for base tooling, but the repo serves only Horizon packages at runtime.
- the build system (xbps-src) is Void's. the packages are Horizon's.
- not affiliated with Void Linux. we just use their build tools.
WARNING: borrowed packages
some packages in this repo are borrowed from Void Linux and have NOT been modified yet. they work, but they're not truly Horizon packages. here's how to spot them:
red flags that a package is borrowed:
maintainercontains a Void email (e.g.[email protected],[email protected],[email protected])homepagepoints to voidlinux.org or a Void maintainer's pageshort_descmentions Void Linux- no
# Horizoncomment at the top of the template - unchanged from upstream void-packages (diff against upstream shows no changes)
horizon packages will have:
maintainer="Michał <[email protected]>"homepagepointing tohttps://git.euri-linux.pl/Euri-Linuxor upstream project# Horizoncomment at the top of the template (when applicable)
these borrowed packages will be replaced with our own builds once i get a fffricking break — i have been compiling packages for over 2 weeks since the first commit of Horizon. do NOT treat them as Horizon originals.
license
the build infrastructure and templates are BSD 3-Clause. individual packages keep their upstream licenses — check each package's license before commercial use.
see LICENSE for details.
links
- packages: pkgs.euri-linux.pl
- source: git.euri-linux.pl/Euri-Linux
- status: status.euri.pl