# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=modemmanager
pkgver=1.22.0
pkgrel=110
pkgdesc="ModemManager library without polkit"
url="https://www.freedesktop.org/wiki/Software/ModemManager"
arch="all !mips !mips64 !s390x !riscv64" # limited by polkit
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
depends="dbus 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
	vala
	"
checkdepends="glib-dev py3-gobject3 py3-dbus"
options="!check" # https://bugs.freedesktop.org/show_bug.cgi?id=101197
subpackages="
	$pkgname-lang
	$pkgname-doc
	libmm-glib:libmm
	$pkgname-dev
	$pkgname-openrc
	$pkgname-bash-completion
	"
source="modemmanager-1.22.0-r110.tar.gz
modemmanager.rules
modemmanager.initd"
builddir="$srcdir"/modemmanager-$pkgver-r$pkgrel

build() {
	abuild-meson \
		-Db_lto=true \
		-Dsystemdsystemunitdir=no \
		-Ddbus_policy_dir=/usr/share/dbus-1/system.d \
		-Dgtk_doc=false \
		-Dsystemd_journal=false \
		-Dsystemd_suspend_resume=true \
		-Dvapi=true \
		-Dpolkit=no \
		. output
	meson compile -C output
}

check() {
	meson test --no-rebuild -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output
	rm -rf "$pkgdir"/usr/share/dbus-1/system-services #systemd-service
	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="
4e4ce724ec174d6ed29aacf75b6b7411ba7b5de0b332fe3e4577ba576bdb7fd3b4b382ec290dec676a86dab8d43094ad81a09a7289b0397ca6b2ef3f2bd8c01e  modemmanager-1.22.0-r110.tar.gz
6fab86c27502b29be0c6610d835a3249a4a81993eb986cff2c3ea9393fadd3f693ba4bb0532ae0e50a83d359559511859dd05f7ea2f0cb52839f535a7e49f8a0  modemmanager.rules
f86f293f584186ff8d112b6969bd1ce00f307e4ae12cc296637e3402502056f8d7741ad34ecac35161cffbd9d874cff679e9169f25656ef409b24d3f34c109b3  modemmanager.initd
"
