summaryrefslogtreecommitdiffstats
path: root/python/PyStemmer/python-3.7-compatibility.patch
blob: aeebafd725d737fb489933fa1b75bb7106e0ef03 (plain)
From b29ce2109f49c0b82517fa9d3e2bbacc1f8b34ec Mon Sep 17 00:00:00 2001
From: konstantin <kslavnov@gmail.com>
Date: Sun, 30 Sep 2018 20:30:07 +0300
Subject: [PATCH] Fix installation for python 3.7

Changes list:
- Use setuptools instead of distutils to handle `setup_requires` in `setup()`.
- Require Cython package for setup and always build `.pyx` to `.c`. It also requires `python-dev` to be installed (see `.travis.yml`).
---
 setup.py    | 27 +++++++++------------------
 1 files changed, 9 insertions(+), 18 deletions(-)
 
diff --git a/setup.py b/setup.py
index 5fa89f5..fc53b69 100644
--- a/setup.py
+++ b/setup.py
@@ -1,13 +1,13 @@
 #!/usr/bin/env python
 
-from distutils.core import setup, Extension
+from setuptools import setup, Extension
 import os.path
 
-try:
+
+def build_ext(*args, **kwargs):
     from Cython.Distutils import build_ext
-    have_pyrex = 1
-except:
-    have_pyrex = 0
+    return build_ext(*args, **kwargs)
+
 
 # Directory which libstemmer sources are unpacked in.
 library_dir = 'libstemmer_c'
@@ -39,16 +39,8 @@
 # Set the include path to include libstemmer.
 include_dirs = ('src', os.path.join(library_dir, 'include'))
 
-if have_pyrex:
-    # Add the pyrex sources, and a special rule so distutils knows how to
-    # use them.
-    src_files.append('src/Stemmer.pyx')
-    cmdclass = {'build_ext': build_ext}
-else:
-    # Add just the C sources.
-    src_files.append('src/Stemmer.c')
-    cmdclass = {}
-      
+src_files.append('src/Stemmer.pyx')
+
 long_description = r"""
 
 Stemming algorithms
@@ -125,9 +117,8 @@
       "Topic :: Text Processing :: Indexing",
       "Topic :: Text Processing :: Linguistic",
       ],
-
+      setup_requires=['Cython>=0.28.5,<1.0'],
       ext_modules = [Extension('Stemmer', src_files,
                                include_dirs = include_dirs)],
-      cmdclass = cmdclass
+      cmdclass = {'build_ext': build_ext}
      )
-