Orion Poplawski fde84b2
From 48be23fc5ca94efa0f42a2242f1bb10f11992a42 Mon Sep 17 00:00:00 2001
Orion Poplawski fde84b2
From: Orion Poplawski <orion@cora.nwra.com>
Orion Poplawski fde84b2
Date: Wed, 6 Apr 2016 10:33:26 -0600
Orion Poplawski fde84b2
Subject: [PATCH 1/3] Do not use setup_requires for cython - source tarballs
Orion Poplawski fde84b2
 have shipped .c files
Orion Poplawski fde84b2
Orion Poplawski fde84b2
---
Orion Poplawski fde84b2
 setup.py | 2 --
Orion Poplawski fde84b2
 1 file changed, 2 deletions(-)
Orion Poplawski fde84b2
Orion Poplawski fde84b2
diff --git a/setup.py b/setup.py
Orion Poplawski fde84b2
index 53b5aa7..1ca10a5 100644
Orion Poplawski fde84b2
--- a/setup.py
Orion Poplawski fde84b2
+++ b/setup.py
Orion Poplawski fde84b2
@@ -131,8 +131,6 @@ def configuration(parent_package='', top_path=None):
Orion Poplawski fde84b2
             'Operating System :: MacOS',
Orion Poplawski fde84b2
         ],
Orion Poplawski fde84b2
         install_requires=INSTALL_REQUIRES,
Orion Poplawski fde84b2
-        # install cython when running setup.py (source install)
Orion Poplawski fde84b2
-        setup_requires=['cython>=0.21'],
Orion Poplawski fde84b2
         requires=REQUIRES,
Orion Poplawski fde84b2
         packages=setuptools.find_packages(exclude=['doc']),
Orion Poplawski fde84b2
         include_package_data=True,
Orion Poplawski fde84b2
Orion Poplawski fde84b2
From b90d0b505ac9ae8f51b85058635c063b896566f6 Mon Sep 17 00:00:00 2001
Orion Poplawski fde84b2
From: Orion Poplawski <orion@cora.nwra.com>
Orion Poplawski fde84b2
Date: Wed, 6 Apr 2016 10:38:34 -0600
Orion Poplawski fde84b2
Subject: [PATCH 2/3] Simply do not use cython to rebuild .c files if installed
Orion Poplawski fde84b2
 cython is too old, do not emit error
Orion Poplawski fde84b2
Orion Poplawski fde84b2
Give RuntimeError if cython is missing and we need it
Orion Poplawski fde84b2
---
Orion Poplawski fde84b2
 skimage/_build.py | 16 ++++++++++------
Orion Poplawski fde84b2
 1 file changed, 10 insertions(+), 6 deletions(-)
Orion Poplawski fde84b2
Orion Poplawski fde84b2
diff --git a/skimage/_build.py b/skimage/_build.py
Orion Poplawski fde84b2
index 2905ee2..e88d356 100644
Orion Poplawski fde84b2
--- a/skimage/_build.py
Orion Poplawski fde84b2
+++ b/skimage/_build.py
Orion Poplawski fde84b2
@@ -27,15 +27,19 @@ def cython(pyx_files, working_path=''):
Orion Poplawski fde84b2
     try:
Orion Poplawski fde84b2
         from Cython import __version__
Orion Poplawski fde84b2
         if LooseVersion(__version__) < '0.23':
Orion Poplawski fde84b2
-            raise RuntimeError('Cython >= 0.23 needed to build scikit-image')
Orion Poplawski fde84b2
+            raise ImportError
Orion Poplawski fde84b2
 
Orion Poplawski fde84b2
         from Cython.Build import cythonize
Orion Poplawski fde84b2
     except ImportError:
Orion Poplawski fde84b2
-        # If cython is not found, we do nothing -- the build will make use of
Orion Poplawski fde84b2
-        # the distributed .c files
Orion Poplawski fde84b2
-        print("Cython not found; falling back to pre-built %s" \
Orion Poplawski fde84b2
-              % " ".join([f.replace('.pyx.in', 'c').replace('.pyx', '.c')
Orion Poplawski fde84b2
-                          for f in pyx_files]))
Orion Poplawski fde84b2
+        # If cython is not found, the build will make use of
Orion Poplawski fde84b2
+        # the distributed .c files if present
Orion Poplawski fde84b2
+        c_files = [f.replace('.pyx.in', '.c').replace('.pyx', '.c') for f in pyx_files]
Orion Poplawski fde84b2
+        for cfile in [os.path.join(working_path, f) for f in c_files]:
Orion Poplawski fde84b2
+            if not os.path.isfile(cfile):
Orion Poplawski fde84b2
+                raise RuntimeError('Cython >= 0.23 is required to build scikit-image from SCM checkout')
Orion Poplawski fde84b2
+
Orion Poplawski fde84b2
+        print("Cython >= 0.23 not found; falling back to pre-built %s" \
Orion Poplawski fde84b2
+              % " ".join(c_files))
Orion Poplawski fde84b2
     else:
Orion Poplawski fde84b2
         for pyxfile in [os.path.join(working_path, f) for f in pyx_files]:
Orion Poplawski fde84b2
 
Orion Poplawski fde84b2
Orion Poplawski fde84b2
From db4f67ee6cc3f23442fd95597b20c63971bbb13f Mon Sep 17 00:00:00 2001
Orion Poplawski fde84b2
From: Orion Poplawski <orion@cora.nwra.com>
Orion Poplawski fde84b2
Date: Sat, 16 Apr 2016 15:10:54 -0600
Orion Poplawski fde84b2
Subject: [PATCH 3/3] SCM -> git
Orion Poplawski fde84b2
Orion Poplawski fde84b2
---
Orion Poplawski fde84b2
 skimage/_build.py | 2 +-
Orion Poplawski fde84b2
 1 file changed, 1 insertion(+), 1 deletion(-)
Orion Poplawski fde84b2
Orion Poplawski fde84b2
diff --git a/skimage/_build.py b/skimage/_build.py
Orion Poplawski fde84b2
index e88d356..b50128b 100644
Orion Poplawski fde84b2
--- a/skimage/_build.py
Orion Poplawski fde84b2
+++ b/skimage/_build.py
Orion Poplawski fde84b2
@@ -36,7 +36,7 @@ def cython(pyx_files, working_path=''):
Orion Poplawski fde84b2
         c_files = [f.replace('.pyx.in', '.c').replace('.pyx', '.c') for f in pyx_files]
Orion Poplawski fde84b2
         for cfile in [os.path.join(working_path, f) for f in c_files]:
Orion Poplawski fde84b2
             if not os.path.isfile(cfile):
Orion Poplawski fde84b2
-                raise RuntimeError('Cython >= 0.23 is required to build scikit-image from SCM checkout')
Orion Poplawski fde84b2
+                raise RuntimeError('Cython >= 0.23 is required to build scikit-image from git checkout')
Orion Poplawski fde84b2
 
Orion Poplawski fde84b2
         print("Cython >= 0.23 not found; falling back to pre-built %s" \
Orion Poplawski fde84b2
               % " ".join(c_files))