summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-02-05 23:47:03 -0500
committerMark H Weaver <mhw@netris.org>2015-02-06 15:26:56 -0500
commit7747c4ca3d1de722ae6c8b59158dc64c98ba93ad (patch)
tree26b9f776632fbefbb58ba66f0eaaa69474037977
parentb7921ba5a7651efbb0dedb75cb3dd0840aed041f (diff)
downloadguix-7747c4ca3d1de722ae6c8b59158dc64c98ba93ad.tar.gz
gnu: wicd: Fix curses client to work with urwid 1.3.
* gnu/packages/patches/wicd-urwid-1.3.patch: New file.
* gnu-system (dist_patch_DATA): Add it.
* gnu/packages/wicd.scm (wicd): Add patch.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/wicd-urwid-1.3.patch18
-rw-r--r--gnu/packages/wicd.scm4
3 files changed, 22 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index df5d9a7ace..865ada2c95 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -496,6 +496,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/vpnc-script.patch			\
   gnu/packages/patches/vtk-mesa-10.patch			\
   gnu/packages/patches/w3m-fix-compile.patch			\
+  gnu/packages/patches/wicd-urwid-1.3.patch			\
   gnu/packages/patches/wmctrl-64-fix.patch			\
   gnu/packages/patches/xf86-video-ark-remove-mibstore.patch	\
   gnu/packages/patches/xf86-video-ast-remove-mibstore.patch	\
diff --git a/gnu/packages/patches/wicd-urwid-1.3.patch b/gnu/packages/patches/wicd-urwid-1.3.patch
new file mode 100644
index 0000000000..1dc47f869b
--- /dev/null
+++ b/gnu/packages/patches/wicd-urwid-1.3.patch
@@ -0,0 +1,18 @@
+Update the wicd-curses client to work with urwid-1.3.  Based on a patch from:
+http://technik.blogbasis.net/wicd-curses-fix-fuer-attributeerror-screen-object-no-attribute-get_input_nonblocking-04-12-2014
+
+--- wicd-1.7.3/curses/wicd-curses.py.orig	2014-12-21 14:40:46.000000000 -0500
++++ wicd-1.7.3/curses/wicd-curses.py	2015-02-05 23:41:17.530901204 -0500
+@@ -1153,9 +1153,10 @@
+         if not ui._started:
+             return False
+ 
+-        input_data = ui.get_input_nonblocking()
++        ui.set_input_timeouts(max_wait=0)
++        input_data = ui.get_input()
+         # Resolve any "alarms" in the waiting
+-        self.handle_keys(input_data[1])
++        self.handle_keys(input_data)
+ 
+         # Update the screen
+         canvas = self.frame.render((self.size), True)
diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm
index 9f56d586a6..1953a56b6c 100644
--- a/gnu/packages/wicd.scm
+++ b/gnu/packages/wicd.scm
@@ -23,6 +23,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix licenses)
   #:use-module (guix utils)
+  #:use-module (gnu packages)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
@@ -42,7 +43,8 @@
                            (version-major+minor version) "/" version
                            "/+download/wicd-" version ".tar.gz"))
        (sha256
-        (base32 "00c4rq753bhg64rv1v9yl834ssq7igyy7cz3swp287b5n5bqiqwi"))))
+        (base32 "00c4rq753bhg64rv1v9yl834ssq7igyy7cz3swp287b5n5bqiqwi"))
+       (patches (list (search-patch "wicd-urwid-1.3.patch")))))
     (build-system python-build-system)
     (native-inputs `(("gettext" ,gnu-gettext)))
     (inputs `(("dbus" ,dbus)