diff options
-rw-r--r-- | net-misc/wicd/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/wicd/files/wicd-1.7.2.4-second-urwid.patch | 43 | ||||
-rw-r--r-- | net-misc/wicd/files/wicd-1.7.2.4-urwid.patch | 66 | ||||
-rw-r--r-- | net-misc/wicd/wicd-1.7.2.4-r2.ebuild | 139 |
4 files changed, 256 insertions, 1 deletions
diff --git a/net-misc/wicd/ChangeLog b/net-misc/wicd/ChangeLog index 8ba4e603134b..d9141e3ff5bf 100644 --- a/net-misc/wicd/ChangeLog +++ b/net-misc/wicd/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/wicd # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/wicd/ChangeLog,v 1.128 2012/10/16 21:24:40 tomka Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/wicd/ChangeLog,v 1.129 2012/11/16 18:03:11 tomka Exp $ + +*wicd-1.7.2.4-r2 (16 Nov 2012) + + 16 Nov 2012; Thomas Kahle <tomka@gentoo.org> + +files/wicd-1.7.2.4-second-urwid.patch, +files/wicd-1.7.2.4-urwid.patch, + +wicd-1.7.2.4-r2.ebuild: + Fix urwid-1.1 compatibility (bug 441966) 16 Oct 2012; Thomas Kahle <tomka@gentoo.org> wicd-1.7.2.4-r1.ebuild: marked x86 per bug 433976 diff --git a/net-misc/wicd/files/wicd-1.7.2.4-second-urwid.patch b/net-misc/wicd/files/wicd-1.7.2.4-second-urwid.patch new file mode 100644 index 000000000000..9a0bae6c9625 --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.2.4-second-urwid.patch @@ -0,0 +1,43 @@ +=== modified file 'curses/curses_misc.py' +--- curses/curses_misc.py 2012-11-15 09:26:21 +0000 ++++ curses/curses_misc.py 2012-11-16 09:22:47 +0000 +@@ -352,7 +352,7 @@ + if urwid.VERSION < (1, 1, 0): + self.focus = focus + else: +- self.focus_position = focus ++ self._w.focus_position = focus + + self.callback = callback + self.user_args = user_args +@@ -368,7 +368,10 @@ + if urwid.VERSION < (1, 1, 0): + self.focus = index + else: +- self.focus_position = index ++ try: ++ self._w.focus_position = index ++ except IndexError: ++ pass + + # API changed between urwid 0.9.8.4 and 0.9.9 + try: +@@ -386,7 +389,7 @@ + if urwid.VERSION < (1, 1, 0): + index = self.focus + else: +- index = self.focus_position ++ index = self._w.focus_position + + self.cbox = DynWrap(SelText([self.list[index]+self.DOWN_ARROW]), + attrs=self.attrs,focus_attr=self.focus_attr) +@@ -434,7 +437,7 @@ + if urwid.VERSION < (1, 1, 0): + return None, self.focus + else: +- return None, self.focus_position ++ return None, self._w.focus_position + + def get_sensitive(self): + return self.cbox.get_sensitive() + diff --git a/net-misc/wicd/files/wicd-1.7.2.4-urwid.patch b/net-misc/wicd/files/wicd-1.7.2.4-urwid.patch new file mode 100644 index 000000000000..63eba2ed48b6 --- /dev/null +++ b/net-misc/wicd/files/wicd-1.7.2.4-urwid.patch @@ -0,0 +1,66 @@ +=== modified file 'curses/curses_misc.py' +--- curses/curses_misc.py 2012-05-06 15:16:15 +0000 ++++ curses/curses_misc.py 2012-11-15 09:26:21 +0000 +@@ -349,7 +349,10 @@ + # We need this to pick our keypresses + self.use_enter = use_enter + +- self.focus = focus ++ if urwid.VERSION < (1, 1, 0): ++ self.focus = focus ++ else: ++ self.focus_position = focus + + self.callback = callback + self.user_args = user_args +@@ -362,7 +365,11 @@ + self.list = list + + def set_focus(self,index): +- self.focus = index ++ if urwid.VERSION < (1, 1, 0): ++ self.focus = index ++ else: ++ self.focus_position = index ++ + # API changed between urwid 0.9.8.4 and 0.9.9 + try: + self.cbox.set_w(SelText(self.list[index]+self.DOWN_ARROW)) +@@ -376,16 +383,21 @@ + def build_combobox(self,parent,ui,row): + str,trash = self.label.get_text() + +- self.cbox = DynWrap(SelText([self.list[self.focus]+self.DOWN_ARROW]), ++ if urwid.VERSION < (1, 1, 0): ++ index = self.focus ++ else: ++ index = self.focus_position ++ ++ self.cbox = DynWrap(SelText([self.list[index]+self.DOWN_ARROW]), + attrs=self.attrs,focus_attr=self.focus_attr) + if str != '': + w = urwid.Columns([('fixed',len(str),self.label),self.cbox], + dividechars=1) +- self.overlay = self.ComboSpace(self.list,parent,ui,self.focus, ++ self.overlay = self.ComboSpace(self.list,parent,ui,index, + pos=(len(str)+1,row)) + else: + w = urwid.Columns([self.cbox]) +- self.overlay = self.ComboSpace(self.list,parent,ui,self.focus, ++ self.overlay = self.ComboSpace(self.list,parent,ui,index, + pos=(0,row)) + + self._w = w +@@ -419,7 +431,10 @@ + if self.overlay: + return self.overlay._listbox.get_focus() + else: +- return None,self.focus ++ if urwid.VERSION < (1, 1, 0): ++ return None, self.focus ++ else: ++ return None, self.focus_position + + def get_sensitive(self): + return self.cbox.get_sensitive() + diff --git a/net-misc/wicd/wicd-1.7.2.4-r2.ebuild b/net-misc/wicd/wicd-1.7.2.4-r2.ebuild new file mode 100644 index 000000000000..990fc8761571 --- /dev/null +++ b/net-misc/wicd/wicd-1.7.2.4-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/wicd/wicd-1.7.2.4-r2.ebuild,v 1.1 2012/11/16 18:03:11 tomka Exp $ + +EAPI=3 + +PYTHON_DEPEND="2" +PYTHON_USE_WITH="ncurses? xml" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.* *-jython" +DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1" + +inherit eutils distutils systemd + +DESCRIPTION="A lightweight wired and wireless network manager for Linux" +HOMEPAGE="https://launchpad.net/wicd" +SRC_URI="http://launchpad.net/wicd/1.7/${PV}/+download/${P}.tar.gz + mac4lin? ( http://dev.gentoo.org/~anarchy/dist/wicd-mac4lin-icons.tar.xz ) + ambiance? ( http://freetimesblog.altervista.org/blog/wp-content/uploads/downloads/2010/05/Icone-Wicd-Lucid.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~mips ~x86" +IUSE="X ambiance +gtk ioctl libnotify mac4lin ncurses nls +pm-utils" + +DEPEND="nls? ( dev-python/Babel )" +# Maybe virtual/dhcp would work, but there are enough problems with +# net-misc/dhcp that I want net-misc/dhcpcd to be guarenteed to be considered +# first if none are installed. +RDEPEND=" + dev-python/dbus-python + X? ( gtk? ( dev-python/pygtk + || ( + x11-misc/ktsuss + x11-libs/gksu + kde-base/kdesu + ) + ) + ) + || ( + net-misc/dhcpcd + net-misc/dhcp + net-misc/pump + ) + net-wireless/wireless-tools + net-wireless/wpa_supplicant + || ( + sys-apps/net-tools + sys-apps/ethtool + ) + !gtk? ( dev-python/pygobject:2 ) + ioctl? ( dev-python/python-iwscan dev-python/python-wpactrl ) + libnotify? ( dev-python/notify-python ) + ncurses? ( + dev-python/urwid + dev-python/pygobject:2 + ) + pm-utils? ( >=sys-power/pm-utils-1.1.1 ) + " +DOCS="CHANGES NEWS AUTHORS README" + +src_prepare() { + # Fix bug 441966 (urwid-1.1.0 compatibility) + epatch "${FILESDIR}"/${P}-urwid.patch + epatch "${FILESDIR}"/${P}-second-urwid.patch + epatch "${FILESDIR}"/${PN}-1.7.1_beta2-init.patch + epatch "${FILESDIR}"/${PN}-init-sve-start.patch + # Add a template for hex psk's and wpa (Bug 306423) + epatch "${FILESDIR}"/${PN}-1.7.1_pre20111210-wpa-psk-hex-template.patch + # Fix bug 416579 (should be included in next release) + epatch "${FILESDIR}"/${P}-fix-dbus-error.patch + # get rid of opts variable to fix bug 381885 + sed -i "/opts/d" "in/init=gentoo=wicd.in" || die + # Make init script provide net per bug 405775 + epatch "${FILESDIR}"/${PN}-1.7.1-provide-net.patch + # Need to ensure that generated scripts use Python 2 at run time. + sed -e "s:self.python = '/usr/bin/python':self.python = '/usr/bin/python2':" \ + -i setup.py || die "sed failed" + if use nls; then + # Asturian is faulty with PyBabel + # (https://bugs.launchpad.net/wicd/+bug/928589) + rm po/ast.po + else + # nuke translations + rm po/*.po + fi + python_copy_sources +} + +src_configure() { + local myconf + use gtk || myconf="${myconf} --no-install-gtk" + use libnotify || myconf="${myconf} --no-use-notifications" + use ncurses || myconf="${myconf} --no-install-ncurses" + use pm-utils || myconf="${myconf} --no-install-pmutils" + configuration() { + $(PYTHON) ./setup.py configure --no-install-docs --resume=/usr/share/wicd/scripts/ --suspend=/usr/share/wicd/scripts/ --verbose ${myconf} + } + python_execute_function -s configuration +} + +src_install() { + distutils_src_install + keepdir /var/lib/wicd/configurations \ + || die "keepdir failed, critical for this app" + keepdir /etc/wicd/scripts/{postconnect,disconnect,preconnect} \ + || die "keepdir failed, critical for this app" + keepdir /var/log/wicd \ + || die "keepdir failed, critical for this app" + use nls || rm -rf "${D}"/usr/share/locale + systemd_dounit "${S}/other/wicd.service" + + if use mac4lin; then + rm -rf "${D}"/usr/share/pixmaps/wicd || die "Failed to remove old icons" + mv "${WORKDIR}"/wicd "${D}"/usr/share/pixmaps/ + fi + if use ambiance; then + # Overwrite tray icons with ambiance icon + rm "${WORKDIR}/Icone Wicd Lucid"/signal* + cp "${WORKDIR}/Icone Wicd Lucid"/*.png "${D}"/usr/share/pixmaps/wicd/ + fi +} + +pkg_postinst() { + distutils_pkg_postinst + + elog "You may need to restart the dbus service after upgrading wicd." + echo + elog "To start wicd at boot, add /etc/init.d/wicd to a runlevel and:" + elog "- Remove all net.* initscripts (except for net.lo) from all runlevels" + elog "- Add these scripts to the RC_PLUG_SERVICES line in /etc/rc.conf" + elog "(For example, rc_hotplug=\"!net.eth* !net.wlan*\")" + # Maintainer's note: the consolekit use flag short circuits a dbus rule and + # allows the connection. Else, you need to be in the group. + if ! has_version sys-auth/pambase[consolekit]; then + ewarn "Wicd-1.6 and newer requires your user to be in the 'users' group. If" + ewarn "you are not in that group, then modify /etc/dbus-1/system.d/wicd.conf" + fi +} |