diff setup.py @ 14295:bb7e3b3e6e11

setup.py: workaround for missing bz2 module in IronPython IronPython does not provide the bz2 module on its own. This patch skips importing it to allow setup to continue. (minor tweaks by mpm)
author Zachary Gramana <zgramana@pottsconsultinggroup.com>
date Mon, 09 May 2011 15:16:56 -0400
parents 861f28212398
children d3a49a52f117
line wrap: on
line diff
--- a/setup.py	Wed May 11 08:07:51 2011 -0500
+++ b/setup.py	Mon May 09 15:16:56 2011 -0400
@@ -4,7 +4,7 @@
 # 'python setup.py install', or
 # 'python setup.py --help' for more options
 
-import sys
+import sys, platform
 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'):
     raise SystemExit("Mercurial requires Python 2.4 or later.")
 
@@ -36,11 +36,21 @@
     raise SystemExit(
         "Couldn't import standard zlib (incomplete Python install).")
 
+# The base IronPython distribution (as of 2.7.1) doesn't support bz2
+isironpython = False
 try:
-    import bz2
+    isironpython = platform.python_implementation().lower().find("ironpython") != -1
 except:
-    raise SystemExit(
-        "Couldn't import standard bz2 (incomplete Python install).")
+    pass
+
+if isironpython:
+    print "warning: IronPython detected (no bz2 support)"
+else:
+    try:
+        import bz2
+    except:
+        raise SystemExit(
+            "Couldn't import standard bz2 (incomplete Python install).")
 
 import os, subprocess, time
 import shutil