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>
This commit is contained in:
parent
00bb46866b
commit
59f0506622
4 changed files with 40 additions and 9 deletions
7
lang/python/python/Config-python-light.in
Normal file
7
lang/python/python/Config-python-light.in
Normal file
|
@ -0,0 +1,7 @@
|
|||
menu "Configuration"
|
||||
|
||||
config PYTHON_BLUETOOTH_SUPPORT
|
||||
bool "Enable Bluetooth support"
|
||||
default n
|
||||
|
||||
endmenu
|
|
@ -14,7 +14,7 @@ PKG_NAME:=python
|
|||
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
|
||||
# XXX: reset PKG_RELEASE to 1 only if Python's pip & setuptools versions have also bumped;
|
||||
# otherwise, keep bumping PKG_RELEASE
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=5
|
||||
|
||||
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
|
||||
|
@ -39,9 +39,9 @@ HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
|
|||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_PACKAGE_python-setuptools CONFIG_PACKAGE_python-pip \
|
||||
CONFIG_PACKAGE_bluez-libs
|
||||
CONFIG_PYTHON_BLUETOOTH_SUPPORT
|
||||
|
||||
PKG_BUILD_DEPENDS:=python/host PACKAGE_bluez-libs:bluez-libs
|
||||
PKG_BUILD_DEPENDS:=python/host
|
||||
HOST_BUILD_DEPENDS:=bzip2/host expat/host
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
@ -79,7 +79,11 @@ endef
|
|||
define Package/python-light
|
||||
$(call Package/python/Default)
|
||||
TITLE:=Python $(PYTHON_VERSION) light installation
|
||||
DEPENDS:=+python-base +libffi +libbz2 +PACKAGE_bluez-libs:bluez-libs
|
||||
DEPENDS:=+python-base +libffi +libbz2 +PYTHON_BLUETOOTH_SUPPORT:bluez-libs
|
||||
endef
|
||||
|
||||
define Package/python-light/config
|
||||
source "$(SOURCE)/Config-python-light.in"
|
||||
endef
|
||||
|
||||
define Package/python-light/description
|
||||
|
@ -140,6 +144,10 @@ PYTHON_FOR_BUILD:= \
|
|||
_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata \
|
||||
$(HOST_PYTHON_BIN)
|
||||
|
||||
DISABLE_BLUETOOTH:= \
|
||||
ac_cv_header_bluetooth_bluetooth_h=no \
|
||||
ac_cv_header_bluetooth_h=no
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--sysconfdir=/etc \
|
||||
--enable-shared \
|
||||
|
@ -148,6 +156,7 @@ CONFIGURE_ARGS+= \
|
|||
--with-system-ffi \
|
||||
--with-ensurepip=no \
|
||||
--without-pymalloc \
|
||||
$(if $(CONFIG_PYTHON_BLUETOOTH_SUPPORT),,$(DISABLE_BLUETOOTH)) \
|
||||
PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)" \
|
||||
$(ENABLE_IPV6) \
|
||||
CONFIG_SITE="$(PKG_BUILD_DIR)/config.site" \
|
||||
|
|
7
lang/python/python3/Config-python3-light.in
Normal file
7
lang/python/python3/Config-python3-light.in
Normal file
|
@ -0,0 +1,7 @@
|
|||
menu "Configuration"
|
||||
|
||||
config PYTHON3_BLUETOOTH_SUPPORT
|
||||
bool "Enable Bluetooth support"
|
||||
default n
|
||||
|
||||
endmenu
|
|
@ -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" \
|
||||
|
|
Loading…
Reference in a new issue