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 @@ (define-public python2-pybugz 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