]> git.pld-linux.org Git - packages/domoticz.git/blob - domoticz-python.patch
- rel 4; fix python 3.8 build
[packages/domoticz.git] / domoticz-python.patch
1 diff -urN domoticz-4.10717.orig/hardware/plugins/DelayedLink.h domoticz-4.10717/hardware/plugins/DelayedLink.h
2 --- domoticz-4.10717.orig/hardware/plugins/DelayedLink.h        2019-05-10 11:37:55.000000000 +0200
3 +++ domoticz-4.10717/hardware/plugins/DelayedLink.h     2019-10-05 19:05:40.930495976 +0200
4 @@ -145,18 +145,10 @@
5                                 if (!shared_lib_) shared_lib_ = LoadLibrary("python35_d.dll");
6                                 if (!shared_lib_) shared_lib_ = LoadLibrary("python34_d.dll");
7  #      else
8 -                               if (!shared_lib_) shared_lib_ = LoadLibrary("python38.dll");
9 -                               if (!shared_lib_) shared_lib_ = LoadLibrary("python37.dll");
10 -                               if (!shared_lib_) shared_lib_ = LoadLibrary("python36.dll");
11 -                               if (!shared_lib_) shared_lib_ = LoadLibrary("python35.dll");
12 -                               if (!shared_lib_) shared_lib_ = LoadLibrary("python34.dll");
13 +                               if (!shared_lib_) shared_lib_ = LoadLibrary("python.dll");
14  #      endif
15  #else
16 -                               if (!shared_lib_) FindLibrary("python3.8", true);
17 -                               if (!shared_lib_) FindLibrary("python3.7", true);
18 -                               if (!shared_lib_) FindLibrary("python3.6", true);
19 -                               if (!shared_lib_) FindLibrary("python3.5", true);
20 -                               if (!shared_lib_) FindLibrary("python3.4", true);
21 +                               if (!shared_lib_) FindLibrary("python3", true);
22  #endif
23                                 if (shared_lib_)
24                                 {
25 @@ -271,24 +263,12 @@
26                                                 library = "lib" + sLibrary + ".so";
27                                                 shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
28                                         }
29 -                                       // look in directories covered by ldconfig but 'm' variant
30 -                                       if (!shared_lib_)
31 -                                       {
32 -                                               library = "lib" + sLibrary + "m.so";
33 -                                               shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
34 -                                       }
35                                         // look in /usr/lib directories
36                                         if (!shared_lib_)
37                                         {
38                                                 library = "/usr/lib/" + sLibrary + "/";
39                                                 FindLibrary(library, false);
40                                         }
41 -                                       // look in /usr/lib directories but 'm' variant
42 -                                       if (!shared_lib_)
43 -                                       {
44 -                                               library = "/usr/lib/" + sLibrary + "m/";
45 -                                               FindLibrary(library, false);
46 -                                       }
47                                         // look in /usr/local/lib directory (handles build from source)
48                                         if (!shared_lib_)
49                                         {
50 @@ -296,12 +276,6 @@
51                                                 shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
52  
53                                         }
54 -                                       // look in /usr/local/lib directory (handles build from source) but 'm' variant
55 -                                       if (!shared_lib_)
56 -                                       {
57 -                                               library = "/usr/local/lib/lib" + sLibrary + "m.so";
58 -                                               shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
59 -                                       }
60                                         // MacOS
61                                         // look for .dylib in /usr/local/lib
62                                         if (!shared_lib_)
63 From e9bd383ceb63db7cfe8a284014f0cdf8c2bfe4f0 Mon Sep 17 00:00:00 2001
64 From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
65 Date: Fri, 1 Nov 2019 10:54:11 +0100
66 Subject: [PATCH] DelayedLink.h: fix build with python 3.8
67
68 Fix build with python 3.8 by copy/pasting the vim workaround from
69 https://github.com/vim/vim/commit/13a1f3fb0c9d08bba6109fe2131c9524e6ba7e15
70
71 Fix 3703
72
73 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
74 ---
75  hardware/plugins/DelayedLink.h | 38 ++++++++++++++++++++++++++++++++++
76  1 file changed, 38 insertions(+)
77
78 diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h
79 index 4bf1973281..c90a7d8e69 100644
80 --- a/hardware/plugins/DelayedLink.h
81 +++ b/hardware/plugins/DelayedLink.h
82 @@ -14,6 +14,44 @@
83  #include <frameobject.h>
84  #include "../../main/Helper.h"
85  
86 +#if PY_VERSION_HEX >= 0x030800f0
87 +static inline void
88 +py3__Py_DECREF(const char *filename, int lineno, PyObject *op)
89 +{
90 +       (void)filename; /* may be unused, shut up -Wunused-parameter */
91 +       (void)lineno; /* may be unused, shut up -Wunused-parameter */
92 +       _Py_DEC_REFTOTAL;
93 +       if (--op->ob_refcnt != 0)
94 +       {
95 +#ifdef Py_REF_DEBUG
96 +       if (op->ob_refcnt < 0)
97 +       {
98 +               _Py_NegativeRefcount(filename, lineno, op);
99 +       }
100 +#endif
101 +       }
102 +       else
103 +       {
104 +               _Py_Dealloc(op);
105 +       }
106 +}
107 +
108 +#undef Py_DECREF
109 +#define Py_DECREF(op) py3__Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op))
110 +
111 +static inline void
112 +py3__Py_XDECREF(PyObject *op)
113 +{
114 +       if (op != NULL)
115 +       {
116 +               Py_DECREF(op);
117 +       }
118 +}
119 +
120 +#undef Py_XDECREF
121 +#define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op))
122 +#endif
123 +
124  namespace Plugins {
125  
126  #ifdef WIN32
This page took 0.074422 seconds and 4 git commands to generate.