summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-10-14 13:11:23 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-10-14 13:11:23 -0700
commit2c660e9a63bf162205bfa24f500ef097f1484978 (patch)
tree3c73ccbec012639f1f7e8e35ee906b1e5b376181
downloadnetworkmanager-2c660e9a63bf162205bfa24f500ef097f1484978.tar.xz
Initial commit
-rw-r--r--PKGBUILD155
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"
+}