Watch
1
0
Fork
You've already forked souveraine
0

track cross-build cargo config + souveraine user unit

.cargo/config.toml + aarch64-pkg-config wrapper are load-bearing for the
cross build (CI artifact job + local build-cross.sh both depend on them);
were gitignored before. souveraine.service is the systemd user unit the
packaging/deploy scripts template.
This commit is contained in:
Fimeg 2026-07-12 14:57:19 -04:00
commit ad56206294
3 changed files with 34 additions and 0 deletions

10
.cargo/aarch64-pkg-config Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
# ponytail: cross pkg-config wrapper for aarch64-unknown-linux-gnu.
# cargo's [env] block doesn't reliably reach build-script pkg-config probes,
# so alsa-sys's built-in cross guard trips. This wrapper sets the vars itself
# and is referenced via PKG_CONFIG in .cargo/config.toml — every pkg-config
# probe in the tree (alsa-sys today, any future -sys crate) goes through it.
export PKG_CONFIG_ALLOW_CROSS=1
export PKG_CONFIG_LIBDIR=/usr/aarch64-linux-gnu/lib/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu
exec /usr/bin/pkg-config "$@"

10
.cargo/config.toml Normal file
View file

@ -0,0 +1,10 @@
# ponytail: cross-build target for the Pixel 3 / any aarch64 Arch box.
# Sysroot (/usr/aarch64-linux-gnu, from the aarch64-linux-gnu-gcc/glibc Arch
# packages) holds glibc 2.43 + the cross alsa-lib we built in. Linker is the
# cross gcc.
#
# The PKG_CONFIG_* vars alsa-sys needs are NOT set here — cargo's [env] block
# doesn't reliably reach build-script pkg-config probes. scripts/build-cross.sh
# exports them on the cargo invocation so they inherit to every build script.
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"

View file

@ -0,0 +1,14 @@
# Souveraine server — systemd user unit.
# Install: cp to ~/.config/systemd/user/ && systemctl --user enable --now souveraine
# The quickshell surface starts this on demand when autostart is enabled.
[Unit]
Description=Souveraine server
After=network.target
[Service]
ExecStart=%h/.local/bin/souveraine server
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target