diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2020-10-14 13:11:23 -0700 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2020-10-14 13:11:23 -0700 |
commit | 2c660e9a63bf162205bfa24f500ef097f1484978 (patch) | |
tree | 3c73ccbec012639f1f7e8e35ee906b1e5b376181 | |
download | networkmanager-2c660e9a63bf162205bfa24f500ef097f1484978.tar.xz |
Initial commit
-rw-r--r-- | PKGBUILD | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..a0991cd --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,155 @@ +# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net> +# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Maintainer (Arch): Jan de Groot <jgc@archlinxu.org> +# Contributor (Arch): Wael Nasreddine <gandalf@siemens-mobiles.org> +# Contributor (Arch): Tor Krill <tor@krill.nu> +# Contributor (Arch): Will Rea <sillywilly@gmail.com> +# Contributor (Arch): Valentine Sinitsyn <e_val@inbox.ru> + +# # I maintain this because: +# Arch version is not configured for openrc + +pkgbase=networkmanager +pkgname=(networkmanager libnm nm-cloud-setup) +pkgver=1.26.4 +pkgrel=1 +pkgdesc="Network connection manager and user applications" +url="https://wiki.gnome.org/Projects/NetworkManager" +arch=(x86_64) +license=(GPL2 LGPL2.1) +_pppver=2.4.7 +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 git vala jansson bluez-libs + glib2-docs iwd dnsmasq openresolv libpsl audit meson) +checkdepends=(libx11 python-dbus) +_commit=d256565e57af6e7f707be3f0d415eb2f225c4b78 # tags/1.26.4^0 +source=("git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd NetworkManager + git describe | sed 's/-dev/dev/;s/-rc/rc/;s/-/+/g' +} + +prepare() { + cd NetworkManager +} + +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 + + # 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 NetworkManager build "${meson_args[@]}" + meson compile -C build +} + +#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" <<END +# Configuration file for NetworkManager. +# See "man 5 NetworkManager.conf" for details. +END + + # packaged configuration + install -Dm644 /dev/stdin "$pkgdir/usr/lib/NetworkManager/conf.d/20-connectivity.conf" <<END +[connectivity] +uri=http://www.archlinux.org/check_network_status.txt +END + + shopt -s globstar + + _pick libnm "$pkgdir"/usr/include/libnm + _pick libnm "$pkgdir"/usr/lib/girepository-1.0/NM-* + _pick libnm "$pkgdir"/usr/lib/libnm.* + _pick libnm "$pkgdir"/usr/lib/pkgconfig/libnm.pc + _pick libnm "$pkgdir"/usr/share/gir-1.0/NM-* + _pick libnm "$pkgdir"/usr/share/gtk-doc/html/libnm + _pick libnm "$pkgdir"/usr/share/vala/vapi/libnm.* + + _pick nm-cloud-setup "$pkgdir"/usr/lib/**/*nm-cloud-setup* + + # Restore empty dir + mkdir "$pkgdir/usr/lib/NetworkManager/dispatcher.d/no-wait.d" +} + +package_libnm() { + pkgdesc="NetworkManager client library" + depends=(glib2 nss util-linux-libs jansson libelogind) + provides=(libnm.so) + + mv libnm/* "$pkgdir" +} + +package_nm-cloud-setup() { + pkgdesc="Automatically configure NetworkManager in cloud" + depends=(networkmanager) + + mv nm-cloud-setup/* "$pkgdir" +} |