Packaged for the [uhhm] Arch registry, like every other uhhm binary
Test / test (push) Successful in 27s

PKGBUILD from the tagged checkout (tag must equal pkgver), built per
architecture by the release workflow: x86_64 on ergo's bare runner,
aarch64 on klokka's, uploaded to project.uhhm.no/api/packages/bl/arch/
uhhm with the REGISTRY_TOKEN repo secret. The package ships /usr/bin/
gdo, gdo.service and an /etc/gdo/env template; the installer script is
gone. !lto: makepkg's -flto hid ring's C symbols from the Rust linker.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-23 20:07:54 +02:00
co-authored by Claude Fable 5.1
parent 983491295e
commit d52e3d3378
12 changed files with 165 additions and 57 deletions
+44
View File
@@ -0,0 +1,44 @@
# Maintainer: Bendik Aagaard Lynghaug <bendik.lynghaug@gmail.com>
# Built from the tagged checkout by .gitea/workflows/release.yml, once
# per architecture, and uploaded to the [uhhm] registry on
# project.uhhm.no (namespace bl). pkgver is the version; the tag has
# to agree with it.
pkgname=gdo
pkgver=0.1.1
pkgrel=1
pkgdesc="Sends the code that opens the iris: delivers portal's outgoing mail from JetStream to the host's SMTP"
arch=('x86_64' 'aarch64')
url="https://project.uhhm.no/uhhm/gdo"
license=('MIT')
depends=('glibc' 'gcc-libs')
makedepends=('cargo')
optdepends=('postfix: the SMTP it hands mail to'
'nats-server: the JetStream it reads from'
'typst: PDF themes (GDO_TYPST_THEME)')
backup=('etc/gdo/env')
# !lto: makepkg's -flto would turn ring's C objects into GCC bitcode the
# Rust linker cannot see (undefined ring_core_* symbols).
options=('!debug' '!lto')
# Sources are the checkout itself: makepkg resolves local sources by
# basename next to the PKGBUILD, so the tagged tree CI builds from is
# the source of truth, as in uhhm/corp.
build() {
cd "$startdir"
cargo build --release --locked
}
check() {
cd "$startdir"
cargo test --release --locked
}
package() {
cd "$startdir"
install -Dm755 "${CARGO_TARGET_DIR:-target}/release/gdo" "$pkgdir/usr/bin/gdo"
install -Dm644 deploy/gdo.service "$pkgdir/usr/lib/systemd/system/gdo.service"
install -Dm600 deploy/env "$pkgdir/etc/gdo/env"
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}