aboutsummaryrefslogtreecommitdiffstats
path: root/main/py-hiredis/system-hiredis.patch
blob: 57dc709b993a1be9f5d6a5650af2fedc172db9bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- a/setup.py
+++ b/setup.py
@@ -21,27 +21,9 @@ class install_lib(_install_lib.install_lib):
         if self.distribution.has_ext_modules():
           self.run_command('build_ext')
 
-# To link the extension with the C library, distutils passes the "-lLIBRARY"
-# option to the linker. This makes it go through its library search path. If it
-# finds a shared object of the specified library in one of the system-wide
-# library paths, it will dynamically link it.
-#
-# We want the linker to statically link the version of hiredis that is included
-# with hiredis-py. However, the linker may pick up the shared library version
-# of hiredis, if it is available through one of the system-wide library paths.
-# To prevent this from happening, we use an obfuscated library name such that
-# the only version the linker will be able to find is the right version.
-#
-# This is a terrible hack, but patching distutils to do the right thing for all
-# supported Python versions is worse...
-#
-# Also see: https://github.com/pietern/hiredis-py/issues/15
-lib = ("hiredis_for_hiredis_py", {
-  "sources": ["vendor/hiredis/%s.c" % src for src in ("hiredis", "net", "sds")]})
-
 ext = Extension("hiredis.hiredis",
   sources=glob.glob("src/*.c"),
-  include_dirs=["vendor"])
+  libraries=["hiredis"])
 
 setup(
   name="hiredis",
@@ -53,7 +35,6 @@ setup(
   keywords=["Redis"],
   license="BSD",
   packages=["hiredis"],
-  libraries=[lib],
   ext_modules=[ext],
 
   # Override "install_lib" command