summaryrefslogtreecommitdiff
path: root/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch')
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch b/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch
new file mode 100644
index 000000000000..0a419e5dbc40
--- /dev/null
+++ b/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch
@@ -0,0 +1,72 @@
+diff --git a/setup.py b/setup.py
+index 865544d..24fdc36 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,5 +1,6 @@
+ import os.path
+ import platform
++import itertools
+
+ from setuptools import setup, find_packages, Extension
+
+@@ -17,11 +18,18 @@ with open(os.path.join(root, 'README.md'), 'rb') as readme:
+
+ system = platform.system()
+
++libraries = []
++extra_sources = []
+ extra_compile_args = []
+
+ if system == 'Darwin':
+ extra_compile_args.append('-std=c++11')
+
++if os.getenv('BUILD_WITH_SYSTEM_LIB'):
++ libraries.append('simdjson')
++else:
++ extra_sources.append('simdjson/simdjson.cpp')
++
+ if os.getenv('BUILD_WITH_CYTHON') and not CYTHON_AVAILABLE:
+ print(
+ 'BUILD_WITH_CYTHON environment variable is set, but cython'
+@@ -49,12 +57,15 @@ if os.getenv('BUILD_WITH_CYTHON') and CYTHON_AVAILABLE:
+ extensions = cythonize([
+ Extension(
+ 'csimdjson',
+- [
+- 'simdjson/simdjson.cpp',
+- 'simdjson/util.cpp',
+- 'simdjson/csimdjson.pyx'
+- ],
++ list(itertools.chain(
++ [
++ 'simdjson/util.cpp',
++ 'simdjson/csimdjson.pyx'
++ ],
++ extra_sources
++ )),
+ define_macros=macros,
++ libraries=libraries,
+ extra_compile_args=extra_compile_args
+ )
+ ], compiler_directives=compiler_directives, force=force)
+@@ -62,12 +73,15 @@ else:
+ extensions = [
+ Extension(
+ 'csimdjson',
+- [
+- 'simdjson/simdjson.cpp',
+- 'simdjson/util.cpp',
+- 'simdjson/csimdjson.cpp'
+- ],
++ list(itertools.chain(
++ [
++ 'simdjson/util.cpp',
++ 'simdjson/csimdjson.cpp'
++ ],
++ extra_sources
++ )),
+ extra_compile_args=extra_compile_args,
++ libraries=libraries,
+ language='c++'
+ )
+ ]