# $Id$ PNAME="networkmanager" PVER="0.9.10.0" PBUILD="r4" SPLIT_PACKAGES="libnm-glib networkmanager networkmanager-adsl networkmanager-wwan networkmanager-bluetooth networkmanager-wifi networkmanager-tui" # todo networkmanager-wimax, dnsmasq 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 GLIB_DEPEND=">= dev-libs/glib2-2.42 >= sys-libs/dbus-libs-1.8 >= dev-libs/dbus-glib-0.102 >= dev-libs/nss-3.17 >= sys-fs/libgudev-216 >= sys-libs/libuuid-2.25 >= sys-libs/readline-6.3" NM_DEPEND=">= sys-apps/dbus-1.8 >= sys-fs/udev-215 >= sys-apps/systemd-216 >= dev-libs/libnl3-3.2.25 >= sys-apps/polkit-0.112 >= net-libs/libsoup-2.48 >= net-libs/libproxy-networkmanager-0.4 >= net-libs/libndp-1.4 >= net-libs/libteam-1.12 >= net-dns/avahi-0.6.31 >= net-misc/dhcpcd-6.4 == net-dialup/ppp-${PPP_PVER} >= sys-apps/iproute2-3.12 >= net-misc/iptables-1.4.21" ADSL_DEPEND=">= net-dialup/rp-pppoe-3.11" BLUETOOTH_DEPEND=">= net-wlan/bluez-5.24" WIFI_DEPEND=">= net-wlan/wireless-tools-30_pre9 >= net-wlan/wpa-supplicant-2.3" WWAN_DEPEND=">= net-misc/modemmanager-1.4" #WIMAX_DEPEND="" TUI_DEPEND=">= dev-libs/newt-0.52" SDEPEND="${GLIB_DEPEND} ${NM_DEPEND} ${ADSL_DEPEND} ${BLUETOOTH_DEPEND} ${WIFI_DEPEND} ${WWAN_DEPEND} ${TUI_DEPEND} >= dev-util/pkgconfig-0.25 >= dev-util/intltool-0.50 >= dev-libs/gobject-introspection-1.40 >= dev-lang/vala-0.26" # ${WIMAX_DEPEND} SRCFILE="NetworkManager-${PVER}.tar.xz" SRCDIR="${BUILDDIR}/NetworkManager-${PVER}" sminclude gnome2 mtools dbus udev systemd SRC_URI=( gnome://NetworkManager/${PVER%.*}/${SRCFILE} gnome://NetworkManager/${PVER%.*.*}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/nm-system-settings.conf mirror://${PNAME}/networkmanager.conf.tmpfile mirror://${PNAME}/${PNAME}-0.9.6.0-hostname.patch ) # use devel mode uneven numbers are stable versions too UP2DATE="updatecmd_gnome NetworkManager --devel" split_info_libnm-glib() { DESCRIPTION="Libraries for adding NetworkManager support to applications that use glib." DEPEND="${GLIB_DEPEND}" PCAT="net-libs" } split_info_networkmanager() { DESCRIPTION="Network configuration and management in an easy way." DEPEND="== 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-wimax() #{ # DESCRIPTION="Intel WiMAX device support for NetworkManager." # DEPEND="== net-misc/networkmanager-${PVER} # ${WIMAX_DEPEND}" #} split_info_networkmanager-tui() { DESCRIPTION="NetworkManager curses-based UI." DEPEND="== net-misc/networkmanager-${PVER} ${TUI_DEPEND}" } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # do not change the hostname on magellan mpatch ${PNAME}-0.9.6.0-hostname.patch || die } src_compile() { cd ${SRCDIR} mconfigure \ --libexecdir=/usr/$(mlibdir)/${PNAME} \ --localstatedir=/var \ --enable-more-warnings=yes \ --disable-gtk-doc \ --with-distro=magellan \ --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-pppoe=/usr/sbin/pppoe \ --with-kernel-firmware-dir=/usr/lib/firmware \ --with-dhcpcd=yes \ --with-dhclient=no \ --with-crypto=nss \ --enable-wimax=no \ --enable-polkit=yes \ --enable-introspection \ --without-docs \ --without-resolvconf \ --with-session-tracking=systemd \ --enable-modify-system \ --with-modem-manager-1 \ || die mmake || die } src_install_libnm-glib() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C libnm-util install || die mmake DESTDIR=${BINDIR} -C libnm-glib install || die mmake DESTDIR=${BINDIR} -C vapi install || die mmake DESTDIR=${BINDIR} -C include install || die mmake DESTDIR=${BINDIR} install-pkgconfigDATA || die } src_install_networkmanager() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} install || die # remove libnm-glib mmake DESTDIR=${BINDIR} -C libnm-util uninstall || die mmake DESTDIR=${BINDIR} -C libnm-glib uninstall || die mmake DESTDIR=${BINDIR} -C vapi uninstall || die mmake DESTDIR=${BINDIR} -C include uninstall || die mmake DESTDIR=${BINDIR} uninstall-pkgconfigDATA || die # remove adsl mmake DESTDIR=${BINDIR} -C src/devices/adsl uninstall || die # remove bluetooth mmake DESTDIR=${BINDIR} -C src/devices/bluetooth uninstall || die # remove wifi mmake DESTDIR=${BINDIR} -C src/devices/wifi uninstall || die # remove wwan mmake DESTDIR=${BINDIR} -C src/devices/wwan uninstall || die # remove tui mmake DESTDIR=${BINDIR} -C tui uninstall || die # remove left over directories 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 # 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 networkmanager.conf || die minstalldocs AUTHORS ChangeLog NEWS README TODO || die } src_install_networkmanager-adsl() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C src/devices/adsl install || die } src_install_networkmanager-bluetooth() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C src/devices/wwan install || die mmake DESTDIR=${BINDIR} -C src/devices/bluetooth install || die mmake DESTDIR=${BINDIR} -C src/devices/wwan uninstall || die } src_install_networkmanager-wifi() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C src/devices/wifi install || die } src_install_networkmanager-wwan() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C src/devices/wwan install || die } #src_install_networkmanager-wimax() #{ # cd ${SRCDIR} # mmake DESTDIR=${BINDIR} -C src/devices/wimax install || die #} src_install_networkmanager-tui() { cd ${SRCDIR} mmake DESTDIR=${BINDIR} -C tui install || 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 }