浏览代码

python-pexpect: fix byte-compilation with Python 2

pexpect contains one file, async.py, that is only meant to be used
with Python 3. Due to this, it fails to byte-compile with Python 2,
which will become a problem once we make byte-compilation failures
fatal failures that abort the build.

As suggested by upstream at
https://github.com/pexpect/pexpect/issues/290, we simply remove the
problematic file when building with Python 2.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 9 年之前
父节点
当前提交
944d0a9545
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      package/python-pexpect/python-pexpect.mk

+ 10 - 0
package/python-pexpect/python-pexpect.mk

@@ -11,4 +11,14 @@ PYTHON_PEXPECT_LICENSE = ISC
 PYTHON_PEXPECT_LICENSE_FILES = LICENSE
 PYTHON_PEXPECT_SETUP_TYPE = distutils
 
+# async.py is not usable with Python 2, and removing is the solution
+# recommended by upstream:
+# https://github.com/pexpect/pexpect/issues/290
+ifeq ($(BR2_PACKAGE_PYTHON),y)
+define PYTHON_PEXPECT_REMOVE_ASYNC_PY
+	$(RM) $(@D)/pexpect/async.py
+endef
+PYTHON_PEXPECT_POST_PATCH_HOOKS += PYTHON_PEXPECT_REMOVE_ASYNC_PY
+endif
+
 $(eval $(python-package))