Userspace VoLTE/IMS daemon for mainline Linux phones (developed on the Fairphone 6): a GLib-free core (SIP, SDP, USIM AKA, IPsec SA setup, RTP media, call engine) behind a GDBus control daemon, a standalone AMR-WB media leg, and a Plasma Dialer backend. C++26 modules built with Crafter Build; the tree is clean under the project's house-style linter (crafter-build lint) across all three build products. Assisted-by: Claude:claude-fable-5 Signed-off-by: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>
42 lines
1.9 KiB
Text
42 lines
1.9 KiB
Text
# SPDX-License-Identifier: GPL-3.0-only
|
|
# SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
# Maintainer: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>
|
|
# APKBUILD skeleton — buildable once crafter-build is packaged for Alpine
|
|
# (or replaced here by a bootstrap invocation). Until then this documents
|
|
# the packaging shape.
|
|
pkgname=imsd
|
|
pkgver=0.2.7
|
|
pkgrel=0
|
|
pkgdesc="Userspace IMS/VoLTE daemon for mainline Linux phones"
|
|
url="https://forgejo.catcrafts.net/Catcrafts/imsd"
|
|
arch="aarch64 x86_64"
|
|
license="GPL-3.0-only"
|
|
# the media leg dlopen's the AMR-WB codecs; pw-record/pw-play drive PipeWire —
|
|
# none of which abuild's .so auto-scan can see
|
|
depends="modemmanager opencore-amr vo-amrwbenc pipewire-tools"
|
|
# versioned provides = imsd satisfies soc-qcom-modem's 81voltd dependency AND
|
|
# excludes the real package: 81voltd serves the modem's own ims-PDN requests,
|
|
# which races imsd for the PDN and flaps it with a new prefix every ~2.5 min
|
|
# (fp6 journal/ims.md s57) — the two IMS stacks cannot share one PDN
|
|
provides="81voltd=$pkgver-r$pkgrel"
|
|
makedepends="clang lld libc++-dev glib-dev crafter-build"
|
|
source=""
|
|
options="!check" # crafter-build test needs qemu for cross; run natively in CI
|
|
|
|
build() {
|
|
crafter-build
|
|
crafter-build -- --product=media
|
|
crafter-build -- --product=dialerd
|
|
}
|
|
|
|
package() {
|
|
install -Dm755 bin/imsd-*/imsd "$pkgdir"/usr/bin/imsd
|
|
install -Dm755 bin/imsd-media-*/imsd-media "$pkgdir"/usr/libexec/imsd-media
|
|
install -Dm755 bin/imsd-dialerd-*/imsd-dialerd "$pkgdir"/usr/bin/imsd-dialerd
|
|
install -Dm755 packaging/ims-pdn-up.sh "$pkgdir"/usr/libexec/ims-pdn-up.sh
|
|
install -Dm644 packaging/imsd.service "$pkgdir"/usr/lib/systemd/system/imsd.service
|
|
install -Dm644 packaging/imsd-dialerd.desktop \
|
|
"$pkgdir"/etc/xdg/autostart/imsd-dialerd.desktop
|
|
install -Dm644 packaging/net.catcrafts.IMS1.conf \
|
|
"$pkgdir"/usr/share/dbus-1/system.d/net.catcrafts.IMS1.conf
|
|
}
|