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
5 if (!shared_lib_) shared_lib_ = LoadLibrary("python35_d.dll");
6 if (!shared_lib_) shared_lib_ = LoadLibrary("python34_d.dll");
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");
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);
26 library = "lib" + sLibrary + ".so";
27 shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
29 - // look in directories covered by ldconfig but 'm' variant
32 - library = "lib" + sLibrary + "m.so";
33 - shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
35 // look in /usr/lib directories
38 library = "/usr/lib/" + sLibrary + "/";
39 FindLibrary(library, false);
41 - // look in /usr/lib directories but 'm' variant
44 - library = "/usr/lib/" + sLibrary + "m/";
45 - FindLibrary(library, false);
47 // look in /usr/local/lib directory (handles build from source)
51 shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
54 - // look in /usr/local/lib directory (handles build from source) but 'm' variant
57 - library = "/usr/local/lib/lib" + sLibrary + "m.so";
58 - shared_lib_ = dlopen(library.c_str(), RTLD_LAZY | RTLD_GLOBAL);
61 // look for .dylib in /usr/local/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
68 Fix build with python 3.8 by copy/pasting the vim workaround from
69 https://github.com/vim/vim/commit/13a1f3fb0c9d08bba6109fe2131c9524e6ba7e15
73 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
75 hardware/plugins/DelayedLink.h | 38 ++++++++++++++++++++++++++++++++++
76 1 file changed, 38 insertions(+)
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
83 #include <frameobject.h>
84 #include "../../main/Helper.h"
86 +#if PY_VERSION_HEX >= 0x030800f0
88 +py3__Py_DECREF(const char *filename, int lineno, PyObject *op)
90 + (void)filename; /* may be unused, shut up -Wunused-parameter */
91 + (void)lineno; /* may be unused, shut up -Wunused-parameter */
93 + if (--op->ob_refcnt != 0)
96 + if (op->ob_refcnt < 0)
98 + _Py_NegativeRefcount(filename, lineno, op);
109 +#define Py_DECREF(op) py3__Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op))
112 +py3__Py_XDECREF(PyObject *op)
121 +#define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op))