# Maintainer: jc_gargma # Maintainer (Arch): Jan Alexander Steffens (heftig) # Contributor (Arch): Jan de Groot # Contributor (Arch): Wael Nasreddine # Contributor (Arch): Tor Krill # Contributor (Arch): Will Rea # Contributor (Arch): Valentine Sinitsyn # # I maintain this because: # Arch version is not configured for openrc # Arch version uses git _altname=NetworkManager pkgbase=networkmanager pkgname=(networkmanager libnm nm-cloud-setup) _basever=1.30 pkgver=${_basever}.4 pkgrel=1 pkgdesc="Network connection manager and user applications" pkgdesc+=", modified for openrc" url="https://wiki.gnome.org/Projects/NetworkManager" arch=(x86_64) license=(GPL2 LGPL2.1) _pppver=2.4.8 makedepends=(intltool dhclient iptables gobject-introspection gtk-doc "ppp=$_pppver" modemmanager iproute2 nss polkit wpa_supplicant curl libelogind libmm-glib libnewt libndp libteam vala perl-yaml python-gobject vala jansson bluez-libs glib2-docs iwd dnsmasq openresolv libpsl audit meson) checkdepends=(libx11 python-dbus) source=(https://download.gnome.org/sources/${_altname}/${_basever}/${_altname}-${pkgver}.tar.xz) b2sums=('c2d81fe03f75f4afd05cac06741d9e7fb0d2892bad30462788a39d9c84afd056614e8f8d3371f15f4de7398cc40a32861814498fc36911c43bbe8e43f5053cde') build() { local meson_args=( # system paths -D dbus_conf_dir=/usr/share/dbus-1/system.d # platform -D dist_version="$pkgver-$pkgrel" -D session_tracking_consolekit=false -D session_tracking=elogind -D suspend_resume=elogind -D systemdsystemunitdir=false -D systemd_journal=false -D config_logging_backend_default=syslog -D modify_system=true -D polkit_agent=true -D selinux=false # features -D iwd=true -D pppd_plugin_dir=/usr/lib/pppd/$_pppver -D teamdctl=true -D nm_cloud_setup=true -D bluez5_dun=true -D ebpf=true # configuration plugins -D config_plugins_default=keyfile # handlers for resolv.conf -D netconfig=no -D config_dns_rc_manager_default=auto # dhcp clients -D dhcpcd=no # miscellaneous -D vapi=true -D docs=true -D more_asserts=no -D more_logging=false -D qt=false ) arch-meson ${_altname}-${pkgver} build "${meson_args[@]}" meson compile -C build } # tests do not work in an offline build environment #check() { # meson test -C build --print-errorlogs #} _pick() { local p="$1" f d; shift for f; do d="$srcdir/$p/${f#$pkgdir/}" mkdir -p "$(dirname "$d")" mv "$f" "$d" rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" done } package_networkmanager() { depends=(libnm iproute2 polkit wpa_supplicant libmm-glib libnewt libndp libteam curl bluez-libs libpsl audit mobile-broadband-provider-info) optdepends=('dnsmasq: connection sharing' 'bluez: Bluetooth support' 'ppp: dialup connection support' 'modemmanager: cellular network support' 'iwd: wpa_supplicant alternative' 'dhclient: alternative DHCP client' 'openresolv: alternative resolv.conf manager' 'firewalld: Firewall support') backup=(etc/NetworkManager/NetworkManager.conf) groups=(gnome) DESTDIR="$pkgdir" meson install -C build # /etc/NetworkManager install -d "$pkgdir"/etc/NetworkManager/{conf,dnsmasq}.d install -dm700 "$pkgdir/etc/NetworkManager/system-connections" install -m644 /dev/stdin "$pkgdir/etc/NetworkManager/NetworkManager.conf" <