# $Id$ PNAME="networkmanager" PVER="1.20.4" PBUILD="r1" SPLIT_PACKAGES="libnm libnm-glib 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" GLIB_DEPEND=">= sys-libs/dbus-libs-1.12 >= dev-libs/dbus-glib-0.110" 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} ${GLIB_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 mbuild 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_libnm-glib() { DESCRIPTION="Libraries for adding NetworkManager support to applications that use glib." DEPEND="== net-libs/libnm-${PVER} ${GLIB_DEPEND}" PCAT="net-libs" } split_info_networkmanager() { DESCRIPTION="Network configuration and management in an easy way." DEPEND="== net-libs/libnm-${PVER} == net-libs/libnm-glib-${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 myopts myopts='--libexecdir=/usr/$(mlibdir)/${PNAME} --localstatedir=/var --enable-more-warnings=yes --disable-gtk-doc --with-dist-version="${PNAME}-${PVER}, Magellan-Linux" --with-dbus-sys-dir=$(mget-dbus-config-dir) --with-udev-dir=$(mget-udev-dir) --with-systemdsystemunitdir=$(mget-systemd-unit-dir) --with-pppd-plugin-dir=/usr/$(mlibdir)/pppd/${PPP_PVER} --with-iptables=/sbin/iptables --with-kernel-firmware-dir=/usr/lib/firmware --with-config-dhcp-default=dhcpcd --with-config-logging-backend-default=keyfile,ibft --with-dhcpcd --without-dhclient --with-crypto=nss --with-libnm-glib --with-libsoup --with-nmcli --with-nmtui --with-wext --enable-bluez5-dun --enable-wifi --enable-teamdctl --enable-polkit --enable-polkit-agent --enable-json-validation --without-docs --without-resolvconf --without-consolekit --without-libaudit --without-netconfig --without-ofono --without-selinux --with-session-tracking=systemd --with-suspend-resume=systemd --with-systemd-journal --with-systemd-logind --enable-modify-system --with-modem-manager-1 --disable-ifcfg-rh --disable-ifcfg-suse --disable-ifnet --disable-ifupdown --disable-lto' if [[ $(mlibdir) != lib ]] then # required until pygobject3 honors multilib only-m32 mconfigure ${myopts} --disable-introspection || die only-m64 mconfigure ${myopts} --enable-introspection || die else mconfigure ${myopts} --enable-introspection || die fi mmake || die } src_install_libnm() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} 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_libnm-glib() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/include/libnm-glib \ usr/include/NetworkManager \ usr/$(mlibdir)/libnm-glib* \ usr/$(mlibdir)/libnm-util* \ usr/$(mlibdir)/girepository-1.0/NMClient* \ usr/$(mlibdir)/girepository-1.0/NetworkManager* \ usr/$(mlibdir)/pkgconfig/libnm-glib.pc \ usr/$(mlibdir)/pkgconfig/libnm-glib-vpn.pc \ usr/$(mlibdir)/pkgconfig/libnm-util.pc \ usr/$(mlibdir)/pkgconfig/NetworkManager.pc \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/libnm-glib*") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/libnm-util*") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/pkgconfig/libnm-glib.pc") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/pkgconfig/libnm-glib-vpn.pc") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/pkgconfig/libnm-util.pc") \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/pkgconfig/NetworkManager.pc") \ usr/share/gir-1.0/NMClient-* \ usr/share/gir-1.0/NetworkManager-* \ usr/share/gtk-doc/html/libnm-glib \ usr/share/gtk-doc/html/libnm-util \ usr/share/gtk-doc/html/NetworkManager \ usr/share/vala/vapi/libnm-glib.* \ usr/share/vala/vapi/libnm-util.* \ || die } src_install_networkmanager() { mmake DESTDIR=${BINDIR} 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 || die mdelete -r /usr/$(mlibdir)/pppd || die mdelete /usr/bin/nmtui* || die mdelete /usr/share/man/man1/nmtui* || die # needed directories mkeepdir /etc/NetworkManager/dispatcher.d || die mkeepdir /var/lib/NetworkManager || die mkeepdir /usr/$(mlibdir)/NetworkManager || 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() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-device-plugin-adsl.* \ || die } src_install_networkmanager-bluetooth() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-device-plugin-bluetooth.* \ || die } src_install_networkmanager-wifi() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-device-plugin-wifi.* \ || die } src_install_networkmanager-wwan() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-device-plugin-wwan.* \ usr/$(mlibdir)/NetworkManager/libnm-wan.* \ || die } src_install_networkmanager-ppp() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pppd \ usr/$(mlibdir)/NetworkManager/libnm-ppp-plugin.* \ || die } src_install_networkmanager-iscsi() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-settings-plugin-ibft.* \ || die } src_install_networkmanager-team() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/NetworkManager/libnm-device-plugin-team.* \ || die } src_install_networkmanager-tui() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/nmtui* \ usr/share/man/man1/nmtui* \ || die } 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 }