diff options
| author | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-11-30 16:44:48 +0200 |
|---|---|---|
| committer | Alexandru Ardelean <ardeleanalex@gmail.com> | 2017-12-10 19:49:23 +0200 |
| commit | 59f0506622e7df5e6c4fe10f279a3f70e2366d37 (patch) | |
| tree | 2c8e54b7c11414076c00498260ed2a4edb54e239 /lang/python/python3 | |
| parent | 00bb46866ba946fcb6d1dcd3d3cc83833f234c39 (diff) | |
python,python3: define config option for bluetooth support
It was reported via
https://github.com/openwrt/packages/pull/5122#issuecomment-347395472
that if bluez-libs is selected as an installable package,
then the error below will show up:
```
* satisfy_dependencies_for: Cannot satisfy the following dependencies for python-light:
* bluez-libs *
* opkg_install_cmd: Cannot install package python-light.
```
This looks like a limitation in the design of package deps,
and maybe a misuse of conditional deps (i.e. PACKAGE_bluez-libs:bluez-libs).
So, to fix this, an idea we're adding an extra symbol
that enfoces installation of bluez-libs if selected.
We also need to add a way to disable bluetooth build
if PYTHON(3)_BLUETOOTH_SUPPORT is de-selected.
Otherwise, bluetooth is installed and the socket
module is broken due to linker errors.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python/python3')
| -rw-r--r-- | lang/python/python3/Config-python3-light.in | 7 | ||||
| -rw-r--r-- | lang/python/python3/Makefile | 18 |
2 files changed, 20 insertions, 5 deletions
diff --git a/lang/python/python3/Config-python3-light.in b/lang/python/python3/Config-python3-light.in new file mode 100644 index 000000000..eb22262a7 --- /dev/null +++ b/lang/python/python3/Config-python3-light.in @@ -0,0 +1,7 @@ +menu "Configuration" + +config PYTHON3_BLUETOOTH_SUPPORT + bool "Enable Bluetooth support" + default n + +endmenu diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 38e55ba54..924fec58f 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -16,7 +16,7 @@ PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO) PKG_NAME:=python3 # XXX: reset PKG_RELEASE to 1 only if Python's pip & setuptools versions have also bumped; # otherwise, keep bumping PKG_RELEASE -PKG_RELEASE:=10 +PKG_RELEASE:=11 PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz @@ -42,10 +42,9 @@ HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION) PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip \ - CONFIG_PACKAGE_bluez-libs + CONFIG_PYTHON3_BLUETOOTH_SUPPORT - -PKG_BUILD_DEPENDS:=python3/host PACKAGE_bluez-libs:bluez-libs +PKG_BUILD_DEPENDS:=python3/host HOST_BUILD_DEPENDS:=bzip2/host expat/host libffi/host include $(INCLUDE_DIR)/host-build.mk @@ -83,7 +82,11 @@ endef define Package/python3-light $(call Package/python3/Default) TITLE:=Python $(PYTHON_VERSION) light installation - DEPENDS:=+python3-base +libffi +libbz2 +PACKAGE_bluez-libs:bluez-libs + DEPENDS:=+python3-base +libffi +libbz2 +PYTHON3_BLUETOOTH_SUPPORT:bluez-libs +endef + +define Package/python3-light/config + source "$(SOURCE)/Config-python3-light.in" endef define Package/python3-light/description @@ -145,6 +148,10 @@ PYTHON_FOR_BUILD:= \ _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata \ $(HOST_PYTHON3_BIN) +DISABLE_BLUETOOTH:= \ + ac_cv_header_bluetooth_bluetooth_h=no \ + ac_cv_header_bluetooth_h=no + CONFIGURE_ARGS+= \ --sysconfdir=/etc \ --enable-shared \ @@ -153,6 +160,7 @@ CONFIGURE_ARGS+= \ --with-system-ffi \ --with-ensurepip=no \ --without-pymalloc \ + $(if $(CONFIG_PYTHON3_BLUETOOTH_SUPPORT),,$(DISABLE_BLUETOOTH)) \ PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)" \ $(ENABLE_IPV6) \ CONFIG_SITE="$(PKG_BUILD_DIR)/config.site" \ |
