1 # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
2 # Contributor: Jan de Groot <jgc@archlinxu.org>
3 # Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
4 # Contributor: Tor Krill <tor@krill.nu>
5 # Contributor: Will Rea <sillywilly@gmail.com>
6 # Contributor: Valentine Sinitsyn <e_val@inbox.ru>
9 pkgname=(networkmanager libnm nm-cloud-setup)
12 pkgdesc="Network connection manager and user applications"
13 url="https://networkmanager.dev/"
56 _commit=b6cc7c7e695ba3b1f2a5c95b0d6df418b8556e57 # tags/1.42.6^0
57 source=("git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit")
62 git describe --tags | sed 's/-dev/dev/;s/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g'
72 -D dbus_conf_dir=/usr/share/dbus-1/system.d
75 -D dist_version="$pkgver-$pkgrel"
76 -D session_tracking_consolekit=false
77 -D suspend_resume=systemd
83 -D pppd_plugin_dir=/usr/lib/pppd/$_pppver
85 -D nm_cloud_setup=true
89 # configuration plugins
90 -D config_plugins_default=keyfile
94 # handlers for resolv.conf
96 -D config_dns_rc_manager_default=symlink
102 -D more_logging=false
106 arch-meson NetworkManager build "${meson_options[@]}"
107 meson compile -C build
111 meson test -C build --print-errorlogs
115 local p="$1" f d; shift
117 d="$srcdir/$p/${f#$pkgdir/}"
118 mkdir -p "$(dirname "$d")"
120 rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
124 package_networkmanager() {
137 mobile-broadband-provider-info
141 'bluez: Bluetooth support'
142 'dhclient: alternative DHCP client'
143 'dhcpcd: alternative DHCP client'
144 'dnsmasq: connection sharing'
145 'firewalld: firewall support'
146 'iptables: connection sharing'
147 'iwd: wpa_supplicant alternative'
148 'modemmanager: cellular network support'
149 'nftables: connection sharing'
150 'openresolv: alternative resolv.conf manager'
151 'pacrunner: PAC proxy support'
152 'polkit: let non-root users control networking'
153 'ppp: dialup connection support'
155 backup=(etc/NetworkManager/NetworkManager.conf)
157 meson install -C build --destdir "$pkgdir"
161 # /etc/NetworkManager
162 install -d etc/NetworkManager/{conf,dnsmasq}.d
163 install -dm700 etc/NetworkManager/system-connections
164 install -m644 /dev/stdin etc/NetworkManager/NetworkManager.conf <<END
165 # Configuration file for NetworkManager.
166 # See "man 5 NetworkManager.conf" for details.
169 # packaged configuration
170 install -Dm644 /dev/stdin usr/lib/NetworkManager/conf.d/20-connectivity.conf <<END
172 uri=http://ping.archlinux.org/nm-check.txt
177 _pick libnm usr/include/libnm
178 _pick libnm usr/lib/girepository-1.0/NM-*
179 _pick libnm usr/lib/libnm.*
180 _pick libnm usr/lib/pkgconfig/libnm.pc
181 _pick libnm usr/share/gir-1.0/NM-*
182 _pick libnm usr/share/gtk-doc/html/libnm
183 _pick libnm usr/share/vala/vapi/libnm.*
185 _pick cloud usr/lib/**/*nm-cloud-setup*
186 _pick cloud usr/share/man/*/nm-cloud-setup*
188 # Not actually packaged (https://bugs.archlinux.org/task/69138)
189 _pick ovs usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf
192 install -d usr/lib/NetworkManager/dispatcher.d/no-wait.d
196 pkgdesc="NetworkManager client library"
209 package_nm-cloud-setup() {
210 pkgdesc="Automatically configure NetworkManager in cloud"
211 depends=(networkmanager)
216 # vim:set sw=2 sts=-1 et: