python3 bug in __init__.py - plus fix

I am using Fedora 19, 64 bit, and the distribution's python 3.3.2, and
the most recent version of mpl from git

there seems to be a bug in the starup routine where proper conversion
from bytes to string (as needed for Python 3) is not done

the problem is in

/matplotlib/__init__.py, line 459 ... 460

    459 gs_exec, gs_v = checkdep_ghostscript()
    460 if compare_versions(gs_v, gs_sugg): pass

gs_exec, gs_v

('gs', b'9.07')

where clearly gs_v needs to be str

Could you please make checkdep_ghostscript() to be python3-save by
changing line 334 from

v = stdout[:-1]

to

v = stdout[:-1].decode('ascii')

(my apologies not following the bug report procedures; I hope you can
consider it anyway)

-Alexander

~/python/source3>ip
Python 3.3.2 (default, Aug 23 2013, 19:00:04)
Type "copyright", "credits" or "license" for more information.

IPython 0.13.2 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
[TerminalIPythonApp] GUI event loop or pylab initialization failed

···

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/lib/python3.3/site-packages/IPython/core/pylabtools.py in
find_gui_and_backend(gui)
    194 """
    195
--> 196 import matplotlib
    197
    198 if gui and gui != 'auto':

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in <module>()
    975
    976 rcParams['ps.usedistiller'] =
checkdep_ps_distiller(rcParams['ps.usedistiller'])
--> 977 rcParams['text.usetex'] = checkdep_usetex(rcParams['text.usetex'])
    978
    979 if rcParams['axes.formatter.use_locale']:

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in checkdep_usetex(s)
    458
    459 gs_exec, gs_v = checkdep_ghostscript()
--> 460 if compare_versions(gs_v, gs_sugg): pass
    461 elif compare_versions(gs_v, gs_req):
    462 verbose.report(('ghostscript-%s found. ghostscript-%s
or later is '

/home/alex/mpl/usr/lib64/python3.3/site-packages/matplotlib/__init__.py
in compare_versions(a, b)
    116 "return True if a is greater than or equal to b"
    117 if a:
--> 118 a = distutils.version.LooseVersion(a)
    119 b = distutils.version.LooseVersion(b)
    120 if a>=b: return True

/usr/lib64/python3.3/distutils/version.py in __init__(self, vstring)
    308 def __init__ (self, vstring=None):
    309 if vstring:
--> 310 self.parse(vstring)
    311
    312

/usr/lib64/python3.3/distutils/version.py in parse(self, vstring)
    316 # use by __str__
    317 self.vstring = vstring
--> 318 components = [x for x in self.component_re.split(vstring)
    319 if x and x != '.']
    320 for i, obj in enumerate(components):

TypeError: can't use a string pattern on a bytes-like object