summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am2
-rw-r--r--gnu/packages/patches/pybugz-encode-error.patch17
-rw-r--r--gnu/packages/patches/pybugz-stty.patch19
-rw-r--r--gnu/packages/python.scm5
4 files changed, 42 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 0bf3eece30..5ebcf67d5c 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -326,6 +326,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/petsc-fix-threadcomm.patch		\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
   gnu/packages/patches/procps-make-3.82.patch			\
+  gnu/packages/patches/pybugz-encode-error.patch		\
+  gnu/packages/patches/pybugz-stty.patch			\
   gnu/packages/patches/python-fix-tests.patch			\
   gnu/packages/patches/python-libffi-mips-n32-fix.patch		\
   gnu/packages/patches/qt4-tests.patch				\
diff --git a/gnu/packages/patches/pybugz-encode-error.patch b/gnu/packages/patches/pybugz-encode-error.patch
new file mode 100644
index 0000000000..ab78bf84b3
--- /dev/null
+++ b/gnu/packages/patches/pybugz-encode-error.patch
@@ -0,0 +1,17 @@
+In case of 'AttributeError', 'value' is None, so do not try to
+access it.
+Submitted upstream.
+
+--- pybugz-0.6.11/bugz.py	2006-09-02 14:35:37.000000000 +0200
++++ pybugz-0.6.11/bugz.py	2014-05-05 16:02:20.000000000 +0200
+@@ -1249,9 +1254,9 @@ class PrettyBugz(Bugz):
+         for field, name in FIELDS + MORE_FIELDS:
+             try:
+                 value = result.find('//%s' % field).text
++                print '%-12s: %s' % (name, value.encode(self.enc))
+             except AttributeError:
+                 continue
+-            print '%-12s: %s' % (name, value.encode(self.enc))
+ 
+         # Print out the cc'ed people
+         cced = result.findall('.//cc')
diff --git a/gnu/packages/patches/pybugz-stty.patch b/gnu/packages/patches/pybugz-stty.patch
new file mode 100644
index 0000000000..4453e9d027
--- /dev/null
+++ b/gnu/packages/patches/pybugz-stty.patch
@@ -0,0 +1,19 @@
+Gracefully deal with 'stty size' failures.
+Submitted upstream.
+
+--- pybugz-0.6.11/bugz.py	2006-09-02 14:35:37.000000000 +0200
++++ pybugz-0.6.11/bugz.py	2014-05-05 15:17:03.000000000 +0200
+@@ -288,7 +288,12 @@ def get_cols():
+     stty = which('stty')
+     if stty:
+         row_cols = commands.getoutput("%s size" % stty)
+-        rows, cols = map(int, row_cols.split())
++        try:
++            rows, cols = map(int, row_cols.split())
++        except:
++            # In some cases 'stty size' will just fail with
++            # "Inappropriate ioctl for device".
++            cols = DEFAULT_NUM_COLS
+         return cols
+     else:
+         return DEFAULT_NUM_COLS
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 372f763ee5..d3d4f390ff 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -578,7 +578,10 @@ commands.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd"))))
+                "17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd"))
+              (patches (map search-patch
+                            (list "pybugz-stty.patch"
+                                  "pybugz-encode-error.patch")))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2                         ; SyntaxError with Python 3