summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pysimdjson/files')
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-4.0.0-unbundle.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-python/pysimdjson/files/pysimdjson-4.0.0-unbundle.patch b/dev-python/pysimdjson/files/pysimdjson-4.0.0-unbundle.patch
new file mode 100644
index 000000000000..de52bc063a24
--- /dev/null
+++ b/dev-python/pysimdjson/files/pysimdjson-4.0.0-unbundle.patch
@@ -0,0 +1,95 @@
+diff --git a/setup.py b/setup.py
+index f1de675..4c23028 100644
+--- a/setup.py
++++ b/setup.py
+@@ -27,53 +27,59 @@ if system == 'Darwin':
+ os.environ.setdefault('MACOSX_DEPLOYMENT_TARGET', '10.14')
+ extra_compile_args.append('-std=c++11')
+
+-if os.getenv('BUILD_WITH_CYTHON') and not CYTHON_AVAILABLE:
++build_with_cython = os.getenv('BUILD_WITH_CYTHON')
++if build_with_cython and not CYTHON_AVAILABLE:
+ print(
+ 'BUILD_WITH_CYTHON environment variable is set, but cython'
+ ' is not available. Falling back to pre-cythonized version if'
+ ' available.'
+ )
++ build_with_cython = False
+
+-if os.getenv('BUILD_WITH_CYTHON') and CYTHON_AVAILABLE:
+- macros = []
+- compiler_directives = {
+- 'embedsignature': True
+- }
++build_with_system_lib = os.getenv('BUILD_WITH_SYSTEM_LIB')
++
++macros = []
++compiler_directives = {}
++libraries = []
++sources = [
++ 'simdjson/errors.cpp',
++]
++
++if build_with_system_lib:
++ libraries.append('simdjson')
++else:
++ sources.append('simdjson/simdjson.cpp')
++
++if build_with_cython:
++ compiler_directives['embedsignature'] = True
+
+ if os.getenv('BUILD_FOR_DEBUG'):
+ # Enable line tracing, which also enables support for coverage
+ # reporting.
+- macros = [
++ macros += [
+ ('CYTHON_TRACE', 1),
+ ('CYTHON_TRACE_NOGIL', 1)
+ ]
+ compiler_directives['linetrace'] = True
+
+- extensions = cythonize([
+- Extension(
+- 'csimdjson',
+- [
+- 'simdjson/simdjson.cpp',
+- 'simdjson/errors.cpp',
+- 'simdjson/csimdjson.pyx'
+- ],
+- define_macros=macros,
+- extra_compile_args=extra_compile_args
+- )
+- ], compiler_directives=compiler_directives)
++ sources.append('simdjson/csimdjson.pyx')
+ else:
+- extensions = [
+- Extension(
+- 'csimdjson',
+- [
+- 'simdjson/simdjson.cpp',
+- 'simdjson/errors.cpp',
+- 'simdjson/csimdjson.cpp'
+- ],
+- extra_compile_args=extra_compile_args,
+- language='c++'
+- )
+- ]
++ sources.append('simdjson/csimdjson.cpp')
++
++
++extensions = [
++ Extension(
++ 'csimdjson',
++ sources,
++ define_macros=macros,
++ extra_compile_args=extra_compile_args,
++ libraries=libraries,
++ language='c++',
++ )
++]
++
++if build_with_cython:
++ extensions = cythonize(extensions, compiler_directives=compiler_directives)
+
+ setup(
+ name='pysimdjson',