Description: allow running 2to3 in parallel
Author: Jakub Wilk
Forwarded: takowl@gmail.com

--- a/setup.py
+++ b/setup.py
@@ -264,6 +264,17 @@
                                   "ipython_win_post_install.py"}}
     
     if PY3:
+        num_processes = 1
+        for option in os.environ.get('DEB_BUILD_OPTIONS', '').split():
+            if option.startswith('parallel='):
+                num_processes = int(option.split('=', 1)[1])
+        if num_processes > 1:
+            import lib2to3.refactor
+            class RefactoringTool(lib2to3.refactor.MultiprocessRefactoringTool):
+                def refactor(self, items, write=False, doctests_only=False):
+                    return lib2to3.refactor.MultiprocessRefactoringTool.refactor(self, items, write=write, num_processes=num_processes,
+                                                                                 doctests_only=doctests_only)
+            lib2to3.refactor.RefactoringTool = RefactoringTool
         setuptools_extra_args['use_2to3'] = True
         from setuptools.command.build_py import build_py
         setup_args['cmdclass'] = {'build_py': record_commit_info('IPython', build_cmd=build_py)}
