gnu: pybugz: Add fixlet patches.
authorLudovic Courtès <ludo@gnu.org>
Mon, 5 May 2014 15:12:55 +0000 (17:12 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 5 May 2014 15:12:55 +0000 (17:12 +0200)
* gnu/packages/python.scm (python2-pybugz)[source]: Add 'patches'
  field.
* gnu/packages/patches/pybugz-encode-error.patch,
  gnu/packages/patches/pybugz-stty.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.

gnu-system.am
gnu/packages/patches/pybugz-encode-error.patch [new file with mode: 0644]
gnu/packages/patches/pybugz-stty.patch [new file with mode: 0644]
gnu/packages/python.scm

index 0bf3eec..5ebcf67 100644 (file)
@@ -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 (file)
index 0000000..ab78bf8
--- /dev/null
@@ -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 (file)
index 0000000..4453e9d
--- /dev/null
@@ -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
index 372f763..d3d4f39 100644 (file)
@@ -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