# $Id$ PNAME="networkmanager" PVER="1.20.4" PBUILD="r2" SPLIT_PACKAGES="libnm networkmanager networkmanager-adsl networkmanager-wwan networkmanager-bluetooth networkmanager-wifi networkmanager-ppp networkmanager-iscsi networkmanager-team networkmanager-tui" # todo dnsmasq support PCAT="net-misc" DESCRIPTION="Network configuration and management in an easy way." HOMEPAGE="http://projects.gnome.org/NetworkManager/" # hardcoded ppp version PPP_PVER=2.4.7 LIBNM_DEPEND=">= dev-libs/glib2-2.62 >= sys-fs/libgudev-242 >= dev-libs/nss-3.46 >= sys-libs/libuuid-2.34 >= dev-libs/jansson-2.12" NM_DEPEND=">= sys-apps/dbus-1.12 >= sys-fs/udev-242 >= sys-apps/systemd-242 >= dev-libs/libnl3-3.2.25 >= sys-apps/polkit-0.116 >= net-libs/libcurl-7.66 >= net-libs/libsoup-2.68 >= net-libs/libproxy-networkmanager-0.4 >= net-libs/libndp-1.7 >= net-dns/avahi-0.7 >= net-misc/dhcpcd-8.1 >= sys-apps/iproute2-5.3 >= net-misc/iptables-1.8 >= sys-libs/readline-8.0" PPP_DEPEND="== net-dialup/ppp-${PPP_PVER}" ADSL_DEPEND=">= net-dialup/rp-pppoe-3.11" BLUETOOTH_DEPEND=">= net-wlan/bluez-5.51 >= net-libs/libmm-glib-1.10" WIFI_DEPEND=">= net-wlan/wireless-tools-30_pre9 >= net-wlan/wpa-supplicant-2.9" WWAN_DEPEND=">= net-misc/modemmanager-1.10" TEAM_DEPEND=">= net-libs/libteam-1.29" TUI_DEPEND=">= dev-libs/newt-0.52" SDEPEND="${LIBNM_DEPEND} ${NM_DEPEND} ${ADSL_DEPEND} ${BLUETOOTH_DEPEND} ${WIFI_DEPEND} ${WWAN_DEPEND} ${TEAM_DEPEND} ${TUI_DEPEND} >= dev-util/pkgconfig-0.25 >= dev-util/intltool-0.50 >= dev-python/python3-gobject3-3.34 >= dev-libs/libxslt-1.1 >= dev-libs/gobject-introspection-1.62 >= dev-lang/vala-0.46" SRCFILE="NetworkManager-${PVER}.tar.xz" SRCDIR="${BUILDDIR}/NetworkManager-${PVER}" msetfeature "!check" sminclude multilib gnome2 mtools dbus udev systemd python3 meson cleanutils NM_CONF_TMP_REV=1.2 SRC_URI=( gnome://NetworkManager/${PVER%.*}/${SRCFILE} gnome://NetworkManager/${PVER%.*.*}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/nm-system-settings.conf mirror://${PNAME}/networkmanager.conf.tmpfile-${NM_CONF_TMP_REV} ) # use devel mode, odd numbers are stable versions too #UP2DATE="updatecmd_gnome NetworkManager --devel" UP2DATE="updatecmd_gnome NetworkManager" split_info_libnm() { DESCRIPTION="NetworkManager client library." DEPEND="${LIBNM_DEPEND}" PCAT="net-libs" } split_info_networkmanager() { DESCRIPTION="Network configuration and management in an easy way." DEPEND="== net-libs/libnm-${PVER} ${NM_DEPEND}" } split_info_networkmanager-adsl() { DESCRIPTION="ADSL device plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} ${ADSL_DEPEND}" } split_info_networkmanager-bluetooth() { DESCRIPTION="Bluetooth device plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} == net-misc/networkmanager-wwan-${PVER} ${BLUETOOTH_DEPEND}" } split_info_networkmanager-wifi() { DESCRIPTION="Wifi plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} ${WIFI_DEPEND}" } split_info_networkmanager-wwan() { DESCRIPTION="Mobile broadband device plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} ${WWAN_DEPEND}" } split_info_networkmanager-ppp() { DESCRIPTION="PPP device plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} ${PPP_DEPEND}" } split_info_networkmanager-iscsi() { DESCRIPTION="ISCSI settings plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER}" } split_info_networkmanager-team() { DESCRIPTION="Team device plugin for NetworkManager." DEPEND="== net-misc/networkmanager-${PVER} ${TEAM_DEPEND}" } split_info_networkmanager-tui() { DESCRIPTION="NetworkManager curses-based UI." DEPEND="== net-misc/networkmanager-${PVER} ${TUI_DEPEND}" } src_compile() { local myconf myconf="--localstatedir=/var --libexecdir=/usr/$(mlibdir)/NetworkManager $(meson_opt more_asserts no) $(meson_bool_true more_logging) $(meson_bool_false docs) $(meson_opt dist-version "'\"${PNAME}-${PVER}, Magellan-Linux\"'") $(meson_opt dbus_conf_dir $(mget-dbus-config-dir)) $(meson_opt udev_dir $(mget-udev-dir)) $(meson_opt systemdsystemunitdir $(mget-systemd-unit-dir)) $(meson_opt pppd_plugin_dir /usr/$(mlibdir)/pppd/${PPP_PVER}) $(meson_opt iptables /sbin/iptables) $(meson_opt kernel_firmware_dir /usr/lib/firmware) $(meson_opt config_dhcp_default dhcpcd) $(meson_opt config_plugins_default keyfile,ibft) $(meson_opt config_logging_backend_default journal) $(meson_bool_true dhcpcd) $(meson_bool_false dhclient) $(meson_bool_false dhcpcanon) $(meson_opt crypto nss) $(meson_bool_true nmcli) $(meson_bool_true nmtui) $(meson_bool_true wext) $(meson_bool_true bluez5_dun) $(meson_bool_true wifi) $(meson_bool_true teamdctl) $(meson_bool_true polkit) $(meson_bool_true polkit_agent) $(meson_bool_true json_validation) $(meson_opt resolvconf disabled) $(meson_bool_false session_tracking_consolekit) $(meson_opt libaudit no) $(meson_opt netconfig disabled) $(meson_bool_false ofono) $(meson_bool_false selinux) $(meson_opt session_tracking systemd) $(meson_opt suspend_resume systemd) $(meson_bool_true systemd_journal) $(meson_bool_true modify_system) $(meson_bool_true modem_manager) $(meson_bool_false ifcfg_rh) $(meson_bool_false ifupdown) $(meson_bool_false b_lto) $(meson_bool_true ebpf) $(meson_bool_false qt)" if [[ $(mlibdir) != lib ]] then # introspection for abi-m32 has issues to build on multilib systems MULTILIB_ABIS=m32 meson_configure ${myconf} $(meson_bool_false introspection) || die MULTILIB_ABIS=m64 meson_configure ${myconf} $(meson_bool_true introspection) || die else meson_configure ${myconf} $(meson_bool_true introspection) || die fi mninja || die } src_install_libnm() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/include/libnm \ usr/$(mlibdir)/libnm.* \ usr/$(mlibdir)/girepository-1.0/NM-* \ usr/$(mlibdir)/pkgconfig/libnm.pc \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/libnm.*") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/pkgconfig/libnm.pc") \ usr/share/gir-1.0/NM-* \ usr/share/gtk-doc/html/libnm \ usr/share/vala/vapi/libnm.* \ || die } src_install_networkmanager() { DESTDIR=${BINDIR} mninja install || die mdelete -r /usr/include || die mdelete -r /usr/$(mlibdir)/pkgconfig || die mdelete -r /usr/$(mlibdir)/girepository-1.0 || die mdelete -r /usr/share/vala || die mdelete -r /usr/share/gir-1.0 || die mdelete -r /usr/$(mlibdir)/NetworkManager/${PVER} || die mdelete /usr/$(mlibdir)/libnm.*|| die mdelete -r /usr/$(mlibdir)/pppd || die mdelete /usr/bin/nmtui* || die #mdelete /usr/share/man/man1/nmtui* || die if [[ $(mlibdir) != lib ]] then mdelete -r /usr/lib/pkgconfig || die #mdelete -r /usr/lib/girepository-1.0 || die mdelete -r /usr/lib/NetworkManager/${PVER} || die mdelete /usr/lib/libnm.*|| die fi # needed directories mkeepdir /etc/NetworkManager/dispatcher.d || die mkeepdir /var/lib/NetworkManager || die mkeepdir /usr/$(mlibdir)/NetworkManager/${PVER} || die # add keyfile plugin support mkeepdir /etc/NetworkManager/system-connections || die minstallfile -s nm-system-settings.conf /etc/NetworkManager/NetworkManager.conf || die # run directory for systemd minstalltmp networkmanager.conf.tmpfile-${NM_CONF_TMP_REV} networkmanager.conf || die minstalldocs AUTHORS ChangeLog NEWS README TODO || die } src_install_networkmanager-adsl() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-device-plugin-adsl.* \ || die } src_install_networkmanager-bluetooth() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-device-plugin-bluetooth.* \ || die } src_install_networkmanager-wifi() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-device-plugin-wifi.* \ || die } src_install_networkmanager-wwan() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-device-plugin-wwan.* \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-wan.* \ || die } src_install_networkmanager-ppp() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pppd \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-ppp-plugin.* \ || die } src_install_networkmanager-iscsi() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-settings-plugin-ibft.* \ || die } src_install_networkmanager-team() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/${PVER}/libnm-device-plugin-team.* \ || die } src_install_networkmanager-tui() { DESTDIR=${BINDIR} mninja install || die zapmost ${BINDIR} \ usr/bin/nmtui* \ || die # usr/share/man/man1/nmtui* } postinstall_networkmanager() { # reload dbus to load the nm config mreloadunit dbus.service /usr/bin/dbus-daemon # echo # echo "For bluetooth support you may want install 'net-wlan/bluez' and" # echo "to make use of bonjour capabilities install 'net-dns/avahi'" # echo } postremove_networkmanager() { # reload dbus to unload the nm config mreloadunit dbus.service /usr/bin/dbus-daemon }