package/python-pymodbus: drop asyncio files for python 2.x to fix pycompile issue
authorPeter Korsgaard <peter@korsgaard.com>
Sun, 11 Oct 2020 09:09:30 +0000 (11:09 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 12 Oct 2020 06:36:53 +0000 (08:36 +0200)
Pymodbus has optional support for asyncio.  Pycompile unfortunately errors
out on these files when running under Python 2.x:

../scripts/pycompile.py ..
error:   File "/usr/lib/python2.7/site-packages/pymodbus/client/asynchronous/asyncio/__init__.py", line 257
    yield from self._connect()
             ^
SyntaxError: invalid syntax

As a workaround, simply drop the unusable files from TARGET_DIR if building
for python 2.x.

Fixes:
http://autobuild.buildroot.net/results/cc4/cc48927cbe9ae6c2d8b12d65467ec40df82febf6/

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/python-pymodbus/python-pymodbus.mk

index d96e21a55ca7d5ee9bf5bb7f0fd6ac87e94f3f23..9135a4d0c4782ef069ee8be7fdcea0bad7675ddb 100644 (file)
@@ -11,4 +11,13 @@ PYTHON_PYMODBUS_SETUP_TYPE = setuptools
 PYTHON_PYMODBUS_LICENSE = BSD-3-Clause
 PYTHON_PYMODBUS_LICENSE_FILES = doc/LICENSE
 
+ifeq ($(BR2_PACKAGE_PYTHON),y)
+# only needed/valid for python 3.x
+define PYTHON_PYMODBUS_RM_PY3_FILES
+       rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pymodbus/client/asynchronous/asyncio
+endef
+
+PYTHON_PYMODBUS_POST_INSTALL_TARGET_HOOKS += PYTHON_PYMODBUS_RM_PY3_FILES
+endif
+
 $(eval $(python-package))