Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d94036c

Browse files
committed
Merge pull request #1949 from mdboom/setup/gi-explicit-version
Build failes under ubuntu 13.04
2 parents 6dd6a75 + 6d08c1a commit d94036c

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

setup.cfg.template

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@
5959
#tkagg = auto
6060
#macosx = auto
6161
#windowing = auto
62+
#gtk3cairo = auto
63+
#gtk3agg = auto
6264

6365
[rc_options]
6466
# User-configurable options

setupext.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1424,12 +1424,19 @@ def get_extension(self):
14241424

14251425
def backend_gtk3agg_internal_check(x):
14261426
try:
1427-
from gi.repository import Gtk, Gdk, GObject
1427+
import gi
14281428
except ImportError:
14291429
return (False, "Requires pygobject to be installed.")
14301430

1431-
if sys.version_info[0] >= 3:
1432-
return (False, "gtk3agg does not work on Python 3")
1431+
try:
1432+
gi.require_version("Gtk", "3.0")
1433+
except ValueError:
1434+
return (False, "Requires gtk3 development files to be installed.")
1435+
1436+
try:
1437+
from gi.repository import Gtk, Gdk, GObject
1438+
except ImportError:
1439+
return (False, "Requires pygobject to be installed.")
14331440

14341441
return (True, "version %s.%s.%s" % (
14351442
Gtk.get_major_version(),
@@ -1444,6 +1451,9 @@ def check(self):
14441451
if 'TRAVIS' in os.environ:
14451452
raise CheckFailed("Can't build with Travis")
14461453

1454+
if sys.version_info[0] >= 3:
1455+
return "gtk3agg backend does not work on Python 3"
1456+
14471457
# This check needs to be performed out-of-process, because
14481458
# importing gi and then importing regular old pygtk afterward
14491459
# segfaults the interpreter.
@@ -1468,6 +1478,16 @@ def backend_gtk3cairo_internal_check(x):
14681478
except ImportError:
14691479
return (False, "Requires cairo to be installed.")
14701480

1481+
try:
1482+
import gi
1483+
except ImportError:
1484+
return (False, "Requires pygobject to be installed.")
1485+
1486+
try:
1487+
gi.require_version("Gtk", "3.0")
1488+
except ValueError:
1489+
return (False, "Requires gtk3 development files to be installed.")
1490+
14711491
try:
14721492
from gi.repository import Gtk, Gdk, GObject
14731493
except ImportError:
@@ -1611,7 +1631,7 @@ def check(self):
16111631
try:
16121632
import pyqtconfig
16131633
except ImportError:
1614-
raise CheckFailed("not found")
1634+
raise CheckFailed("pyqt not found")
16151635
else:
16161636
try:
16171637
qt_version = pyqtconfig.Configuration().qt_version
@@ -1641,7 +1661,7 @@ def check(self):
16411661
try:
16421662
from PyQt4 import pyqtconfig
16431663
except ImportError:
1644-
raise CheckFailed("not found")
1664+
raise CheckFailed("PyQt4 not found")
16451665
else:
16461666

16471667
BackendAgg.force = True
@@ -1660,7 +1680,7 @@ def check(self):
16601680
from PySide import __version__
16611681
from PySide import QtCore
16621682
except ImportError:
1663-
raise CheckFailed("not found")
1683+
raise CheckFailed("PySide not found")
16641684
else:
16651685
BackendAgg.force = True
16661686

@@ -1675,7 +1695,7 @@ def check(self):
16751695
try:
16761696
import cairo
16771697
except ImportError:
1678-
raise CheckFailed("not found")
1698+
raise CheckFailed("cairo not found")
16791699
else:
16801700
return "version %s" % cairo.version
16811701

0 commit comments

Comments
 (0)