From 02703108eca8353ff45c0842d9b882a0dc37c04b Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Tue, 26 May 2020 20:20:37 +0200 Subject: [PATCH] package/rust: allow using python3 interpreter Fedora packaging use python3 as python interpreter since rust 1.24.0 [1] by removing python2 tests from configure script [2]. Using python3 will help to remove python2 in a near future. [1] https://src.fedoraproject.org/rpms/rust/c/216b2d27716bf1031c526dbd0e01a1fa8e6d5aa2 [2] https://src.fedoraproject.org/rpms/rust/blob/216b2d27716bf1031c526dbd0e01a1fa8e6d5aa2/f/rust.spec#_314 Signed-off-by: Romain Naour Cc: Titouan Christophe Cc: Arnout Vandecappelle Cc: Patrick Havelange Tested-by: Titouan Christophe Signed-off-by: Thomas Petazzoni --- ...igure-use-default-python-interpreter.patch | 37 +++++++++++++++++++ package/rust/rust.mk | 17 ++++++--- 2 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 package/rust/0002-configure-use-default-python-interpreter.patch diff --git a/package/rust/0002-configure-use-default-python-interpreter.patch b/package/rust/0002-configure-use-default-python-interpreter.patch new file mode 100644 index 0000000000..0ae9fab786 --- /dev/null +++ b/package/rust/0002-configure-use-default-python-interpreter.patch @@ -0,0 +1,37 @@ +From aca7abb537f5caf1c9f027cf65dd0f53fb664e73 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 26 May 2020 18:24:25 +0200 +Subject: [PATCH] configure: use default python interpreter + +Don't try to use python2 if available, use the python interpreter available +in ouput/host/bin/python whatever the python version is. + +Signed-off-by: Romain Naour +--- + configure | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/configure b/configure +index eeb8d081d34..6014a982f47 100755 +--- a/configure ++++ b/configure +@@ -2,16 +2,4 @@ + + script="$(dirname $0)"/src/bootstrap/configure.py + +-try() { +- cmd=$1 +- shift +- T=$($cmd --version 2>/dev/null) +- if [ $? -eq 0 ]; then +- exec $cmd "$script" "$@" +- fi +-} +- +-try python2.7 "$@" +-try python27 "$@" +-try python2 "$@" + exec python $script "$@" +-- +2.25.4 + diff --git a/package/rust/rust.mk b/package/rust/rust.mk index 5d14fc6682..25153966f2 100644 --- a/package/rust/rust.mk +++ b/package/rust/rust.mk @@ -17,9 +17,16 @@ HOST_RUST_DEPENDENCIES = \ host-rust-bin \ host-cargo-bin \ host-openssl \ - host-python \ $(BR2_CMAKE_HOST_DEPENDENCY) +ifeq ($(BR2_PACKAGE_PYTHON3),y) +HOST_RUST_PYTHON_VERSION = $(PYTHON3_VERSION_MAJOR) +HOST_RUST_DEPENDENCIES += host-python3 +else +HOST_RUST_PYTHON_VERSION = $(PYTHON_VERSION_MAJOR) +HOST_RUST_DEPENDENCIES += host-python +endif + HOST_RUST_VERBOSITY = $(if $(VERBOSE),2,0) # Some vendor crates contain Cargo.toml.orig files. The associated @@ -44,7 +51,7 @@ define HOST_RUST_CONFIGURE_CMDS echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \ echo 'cargo = "$(HOST_CARGO_BIN_DIR)/cargo/bin/cargo"'; \ echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \ - echo 'python = "$(HOST_DIR)/bin/python2"'; \ + echo 'python = "$(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION)"'; \ echo 'submodules = false'; \ echo 'vendor = true'; \ echo 'compiler-docs = false'; \ @@ -61,12 +68,12 @@ define HOST_RUST_CONFIGURE_CMDS endef define HOST_RUST_BUILD_CMDS - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py build + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py build endef define HOST_RUST_INSTALL_CMDS - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py dist - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py install + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py dist + cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(HOST_RUST_PYTHON_VERSION) x.py install endef $(eval $(host-generic-package))