# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
maintainer="fossdd <fossdd@pwned.life>"
pkgname=modemmanager
pkgver=1.24.2
pkgrel=0
pkgdesc="ModemManager library"
url="https://www.freedesktop.org/wiki/Software/ModemManager"
arch="all"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
depends="dbus polkit libmm-glib=$pkgver-r$pkgrel"
depends_dev="libmm-glib=$pkgver-r$pkgrel"
makedepends="
$depends_dev
bash-completion-dev
dbus-dev
elogind-dev
gobject-introspection-dev
gtk-doc
libgudev-dev
libmbim-dev
libqmi-dev
linux-headers
meson
polkit-dev
vala
"
checkdepends="glib-dev py3-gobject3 py3-dbus"
subpackages="
$pkgname-lang
$pkgname-doc
libmm-glib:libmm
$pkgname-dbg
$pkgname-dev
$pkgname-openrc
$pkgname-bash-completion
"
source="https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/$pkgver/ModemManager-$pkgver.tar.gz
$pkgname.rules
$pkgname.initd
"
builddir="$srcdir"/ModemManager-$pkgver
build() {
# Temporarily disable gtkdoc generation due to error in helper script
# https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/902
abuild-meson \
-Db_lto=true \
-Dsystemdsystemunitdir=no \
-Ddbus_policy_dir=/usr/share/dbus-1/system.d \
-Dgtk_doc=false \
-Dpolkit=permissive \
-Dsystemd_journal=false \
-Dsystemd_suspend_resume=true \
-Dvapi=true \
. output
meson compile -C output
}
check() {
meson test -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
rm -rf "$pkgdir"/usr/share/dbus-1/system-services #systemd-service
install -m644 -D "$srcdir/$pkgname.rules" \
"$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.ModemManager.rules"
install -m755 -D "$srcdir/$pkgname.initd" \
"$pkgdir/etc/init.d/$pkgname"
# post-install message
mkdir -p "$pkgdir/usr/share/doc/$pkgname"
cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<- EOF
If your USB modem shows up as a Flash drive when you plug it in:
install 'usb-modeswitch' to automatically switch to USB modem mode whenever you plug it in.
To control your modem without the root password: add your user account to the 'plugdev' group.
EOF
}
libmm() {
depends=""
amove usr/lib/girepository-1.0
amove usr/lib/libmm-glib.so*
}
sha512sums="
341a795e6aa4f76f606a57921511233eb68510bea0bc6967449e2d2bb5949106c7d17ae964683797734c1cd688ac15ad076e08cc1d54aee22a16d23a9ca61510 ModemManager-1.24.2.tar.gz
6fab86c27502b29be0c6610d835a3249a4a81993eb986cff2c3ea9393fadd3f693ba4bb0532ae0e50a83d359559511859dd05f7ea2f0cb52839f535a7e49f8a0 modemmanager.rules
6e234cebcdec6d1afbca164ee5c13c96f7132ef31231d5c043cc5750ebe99e362a384d0463874b3c1c30799b433e0d3286add03af13c97fa406b4b5d2b78880c modemmanager.initd
"