All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 00/10] Merge rust and cargo
@ 2020-02-07 18:08 Arnout Vandecappelle
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
                   ` (11 more replies)
  0 siblings, 12 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

The source code for Cargo, the build and package manager for Rust, is now
shipped along with the compiler and standard library.

So there can not be a standalone package for Cargo anymore.

This series does the following:
- move the installation of cargo config to toolchain post-install hook.
- update host-rust to build and install Cargo.
- install host-cargo-bin if host-rust-bin is selected instead of host-rust.
- update dependencies for package(s) using Cargo.
- remove cargo packaging.
- update the packaging documentation.
- bump rust (+cargo) to 1.40.
- remove cargo-bin as well (now bundled with rust binaries).

It was previously posted by Eric Le Bihan [1] and by Patrick Havelange
[2]. I wanted to merge it, but I made some invasive changes (the first
patch) so I'm reposting just to be sure.

Regards,
Arnout

[1] http://patchwork.ozlabs.org/project/buildroot/list/?series=140900
[2] http://patchwork.ozlabs.org/project/buildroot/list/?series=153317

Arnout Vandecappelle (Essensium/Mind) (1):
  package/rustc: install cargo config as toolchain post-install hook

Eric Le Bihan (7):
  package/rust: build and install cargo
  package/cargo-bin: install if rust-bin selected
  package/rust-bin: host variant depends on host-cargo-bin
  package/rust: drop dependency on host-cargo-bin
  package/ripgrep: depends on host-rustc
  package/cargo: drop package
  docs/manual: cargo packages depend on host-rustc

Patrick Havelange (2):
  package/rust: bump to 1.40
  package/cargo-bin: remove and use cargo-bin from rust-bin package

 DEVELOPERS                                    |   2 -
 docs/manual/adding-packages-cargo.txt         |   4 +-
 package/Config.in.host                        |   1 -
 package/cargo-bin/cargo-bin.hash              |  13 -
 package/cargo-bin/cargo-bin.mk                |  13 -
 package/cargo/Config.in.host                  |   9 -
 package/cargo/cargo.hash                      |   8 -
 package/cargo/cargo.mk                        |  91 ------
 package/ripgrep/Config.in                     |   2 +-
 package/ripgrep/ripgrep.mk                    |   2 +-
 package/rust-bin/rust-bin.hash                |  93 +++---
 package/rust-bin/rust-bin.mk                  |  29 +-
 ...esence-of-LLVM-library-in-stage0-lib.patch | 264 ------------------
 package/rust/rust.hash                        |   6 +-
 package/rust/rust.mk                          |   8 +-
 .../config.in => rustc/cargo-config.in}       |   0
 package/rustc/rustc.mk                        |  12 +
 support/testing/tests/package/test_rust.py    |   2 -
 18 files changed, 85 insertions(+), 474 deletions(-)
 delete mode 100644 package/cargo-bin/cargo-bin.hash
 delete mode 100644 package/cargo-bin/cargo-bin.mk
 delete mode 100644 package/cargo/Config.in.host
 delete mode 100644 package/cargo/cargo.hash
 delete mode 100644 package/cargo/cargo.mk
 delete mode 100644 package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
 rename package/{cargo/config.in => rustc/cargo-config.in} (100%)

-- 
2.24.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:42   ` David PIERRET
                     ` (2 more replies)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
                   ` (10 subsequent siblings)
  11 siblings, 3 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

The cargo config file is much like the cmake and meson configuration
files, something that tells the cargo build system how the
cross-toolchain is configured. It can be used not only with our own
host-cargo package, but also with a pre-installed cargo.

Therefore, install the cargo config file as a toolchain post-install
hook, just like we do for cmake and meson. However, we don't have a
pkg-cargo infrastructure (yet) so we can't put it there. The cargo
package itself will be removed soon, so that's not appropriate either.
Therefore, put it in the rustc package - any cargo package will need
rustc.

Remove the config handling from the cargo package.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/cargo/cargo.mk                             |  6 ------
 package/{cargo/config.in => rustc/cargo-config.in} |  0
 package/rustc/rustc.mk                             | 12 ++++++++++++
 3 files changed, 12 insertions(+), 6 deletions(-)
 rename package/{cargo/config.in => rustc/cargo-config.in} (100%)

diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
index a387281b4c..3f6646d027 100644
--- a/package/cargo/cargo.mk
+++ b/package/cargo/cargo.mk
@@ -80,12 +80,6 @@ endef
 
 define HOST_CARGO_INSTALL_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo
-	$(INSTALL) -D package/cargo/config.in \
-		$(HOST_DIR)/share/cargo/config
-	$(SED) 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
-		$(HOST_DIR)/share/cargo/config
-	$(SED) 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
-		$(HOST_DIR)/share/cargo/config
 endef
 
 $(eval $(host-generic-package))
diff --git a/package/cargo/config.in b/package/rustc/cargo-config.in
similarity index 100%
rename from package/cargo/config.in
rename to package/rustc/cargo-config.in
diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk
index 6eea9b4fc5..35ffc36106 100644
--- a/package/rustc/rustc.mk
+++ b/package/rustc/rustc.mk
@@ -20,3 +20,15 @@ endif
 RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu
 
 $(eval $(host-virtual-package))
+
+ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
+define RUSTC_INSTALL_CARGO_CONFIG
+	mkdir -p $(HOST_DIR)/share/cargo
+	sed -e 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
+		-e 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
+		package/rustc/cargo-config.in \
+		> $(HOST_DIR)/share/cargo/config
+endef
+# check-package disable TypoInPackageVariable - TOOLCHAIN intended
+TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += RUSTC_INSTALL_CARGO_CONFIG
+endif
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-02-09 10:21   ` Yann E. MORIN
                     ` (2 more replies)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected Arnout Vandecappelle
                   ` (9 subsequent siblings)
  11 siblings, 3 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

Cargo source code is not provided anymore as a separate tarball but is
now built along with the Rust compiler.

So update rust host variant to build Cargo and install the
cross-compilation configuration file.

All this will be overwritten again by the host-cargo package, but
that will be removed in later commits.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Tested-by: Sam Voss <sam.voss@rockwellcollins.com>
[Arnout: merge all install commands in HOST_RUST_INSTALL_CMDS]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/rust/rust.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 5d14fc6682..9bbed15082 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -47,11 +47,14 @@ define HOST_RUST_CONFIGURE_CMDS
 		echo 'python = "$(HOST_DIR)/bin/python2"'; \
 		echo 'submodules = false'; \
 		echo 'vendor = true'; \
+		echo 'extended = true'; \
+		echo 'tools = ["cargo"]'; \
 		echo 'compiler-docs = false'; \
 		echo 'docs = false'; \
 		echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
 		echo '[install]'; \
 		echo 'prefix = "$(HOST_DIR)"'; \
+		echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
 		echo '[rust]'; \
 		echo 'channel = "stable"'; \
 		echo '[target.$(RUSTC_TARGET_NAME)]'; \
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:47   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin Arnout Vandecappelle
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

If host-rust-bin, the pre-built Rust compiler, is selected as a rustc
provider, then also install the pre-built cargo binary to be coherent.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
[Arnout: don't install cargo config, alread moved]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/cargo-bin/cargo-bin.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
index 3614f7a53d..3eaf417531 100644
--- a/package/cargo-bin/cargo-bin.mk
+++ b/package/cargo-bin/cargo-bin.mk
@@ -10,4 +10,10 @@ CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
 CARGO_BIN_LICENSE = Apache-2.0 or MIT
 CARGO_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
 
+ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y)
+define HOST_CARGO_BIN_INSTALL_CMDS
+	$(@D)/install.sh --prefix=$(HOST_DIR) --disable-ldconfig
+endef
+endif
+
 $(eval $(host-generic-package))
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (2 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:50   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 05/10] package/rust: drop dependency " Arnout Vandecappelle
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

Ensure installation of pre-built cargo binary by adding it to the
dependency list of the host variant of the pre-built Rust compiler.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/rust-bin/rust-bin.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
index a374215e20..bef3102450 100644
--- a/package/rust-bin/rust-bin.mk
+++ b/package/rust-bin/rust-bin.mk
@@ -10,6 +10,7 @@ RUST_BIN_LICENSE = Apache-2.0 or MIT
 RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
 
 HOST_RUST_BIN_PROVIDES = host-rustc
+HOST_RUST_BIN_DEPENDENCIES = host-cargo-bin
 
 HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
 
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 05/10] package/rust: drop dependency on host-cargo-bin
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (3 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:51   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc Arnout Vandecappelle
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

As host-rust depends on host-rust-bin, which depends on host-cargo-bin,
remove unneeded dependency.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/rust/rust.mk | 1 -
 1 file changed, 1 deletion(-)

diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 9bbed15082..588e1088f8 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -15,7 +15,6 @@ HOST_RUST_PROVIDES = host-rustc
 HOST_RUST_DEPENDENCIES = \
 	toolchain \
 	host-rust-bin \
-	host-cargo-bin \
 	host-openssl \
 	host-python \
 	$(BR2_CMAKE_HOST_DEPENDENCY)
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (4 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 05/10] package/rust: drop dependency " Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:53   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 07/10] package/cargo: drop package Arnout Vandecappelle
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

As all providers of rustc also install cargo, there is no need to depend
on the standalone cargo package anymore. Instead add host-rustc to the
dependency list.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/ripgrep/Config.in  | 2 +-
 package/ripgrep/ripgrep.mk | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/ripgrep/Config.in b/package/ripgrep/Config.in
index 5446ad046c..0ea2902b34 100644
--- a/package/ripgrep/Config.in
+++ b/package/ripgrep/Config.in
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_RIPGREP
 	bool "ripgrep"
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
-	select BR2_PACKAGE_HOST_CARGO
+	select BR2_PACKAGE_HOST_RUSTC
 	help
 	  ripgrep is a line-oriented search tool that
 	  recursively searches your current directory
diff --git a/package/ripgrep/ripgrep.mk b/package/ripgrep/ripgrep.mk
index 0bb7017a96..832c076f26 100644
--- a/package/ripgrep/ripgrep.mk
+++ b/package/ripgrep/ripgrep.mk
@@ -9,7 +9,7 @@ RIPGREP_SITE = $(call github,burntsushi,ripgrep,$(RIPGREP_VERSION))
 RIPGREP_LICENSE = MIT
 RIPGREP_LICENSE_FILES = LICENSE-MIT
 
-RIPGREP_DEPENDENCIES = host-cargo
+RIPGREP_DEPENDENCIES = host-rustc
 RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
 RIPGREP_CARGO_MODE = $(if $(BR2_ENABLE_DEBUG),debug,release)
 
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 07/10] package/cargo: drop package
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (5 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:56   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc Arnout Vandecappelle
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

As no package depends on the standalone cargo package, it can be
dropped.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 DEVELOPERS                                 |  1 -
 package/Config.in.host                     |  1 -
 package/cargo/Config.in.host               |  9 ---
 package/cargo/cargo.hash                   |  8 --
 package/cargo/cargo.mk                     | 85 ----------------------
 support/testing/tests/package/test_rust.py |  2 -
 6 files changed, 106 deletions(-)
 delete mode 100644 package/cargo/Config.in.host
 delete mode 100644 package/cargo/cargo.hash
 delete mode 100644 package/cargo/cargo.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 3520072034..e0f6e7278c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -709,7 +709,6 @@ N:	Eric Le Bihan <eric.le.bihan.dev@free.fr>
 F:	docs/manual/adding-packages-meson.txt
 F:	package/adwaita-icon-theme/
 F:	package/cargo-bin/
-F:	package/cargo/
 F:	package/darkhttpd/
 F:	package/eudev/
 F:	package/execline/
diff --git a/package/Config.in.host b/package/Config.in.host
index 62e860d7c3..d69961e813 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -3,7 +3,6 @@ menu "Host utilities"
 	source "package/aespipe/Config.in.host"
 	source "package/android-tools/Config.in.host"
 	source "package/btrfs-progs/Config.in.host"
-	source "package/cargo/Config.in.host"
 	source "package/cbootimage/Config.in.host"
 	source "package/checkpolicy/Config.in.host"
 	source "package/checksec/Config.in.host"
diff --git a/package/cargo/Config.in.host b/package/cargo/Config.in.host
deleted file mode 100644
index c33c6851f2..0000000000
--- a/package/cargo/Config.in.host
+++ /dev/null
@@ -1,9 +0,0 @@
-config BR2_PACKAGE_HOST_CARGO
-	bool "host cargo"
-	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
-	select BR2_PACKAGE_HOST_RUSTC
-	help
-	  Cargo is the package manager for the Rust programming
-	  language.
-
-	  https://crates.io/
diff --git a/package/cargo/cargo.hash b/package/cargo/cargo.hash
deleted file mode 100644
index baa2cfbc33..0000000000
--- a/package/cargo/cargo.hash
+++ /dev/null
@@ -1,8 +0,0 @@
-# Locally generated
-sha256 1a4bae6910ca895157a1abe8225eb2b7e9b49ee1ee1e4e72fb81cb8e1446bff9  cargo-0.26.0.tar.gz
-sha256 dc7240d60a869fa24a68c8734fb7c810c27cca0a6dad52df6279865e4e8e7fae  rust-installer-4f994850808a572e2cc8d43f968893c8e942e9bf.tar.gz
-sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
-sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
-sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880  LICENSE-THIRD-PARTY
-# From https://src.fedoraproject.org/repo/pkgs/cargo/cargo-0.26.0-vendor.tar.xz/sha512
-sha512 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048  cargo-0.26.0-vendor.tar.xz
diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
deleted file mode 100644
index 3f6646d027..0000000000
--- a/package/cargo/cargo.mk
+++ /dev/null
@@ -1,85 +0,0 @@
-################################################################################
-#
-# cargo
-#
-################################################################################
-
-CARGO_VERSION = 0.26.0
-CARGO_SITE = $(call github,rust-lang,cargo,$(CARGO_VERSION))
-CARGO_LICENSE = Apache-2.0 or MIT
-CARGO_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
-
-CARGO_DEPS_SHA512 = 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048
-CARGO_DEPS_SITE = https://src.fedoraproject.org/repo/pkgs/cargo/$(CARGO_DEPS_SOURCE)/sha512/$(CARGO_DEPS_SHA512)
-CARGO_DEPS_SOURCE = cargo-$(CARGO_VERSION)-vendor.tar.xz
-
-CARGO_INSTALLER_VERSION = 4f994850808a572e2cc8d43f968893c8e942e9bf
-CARGO_INSTALLER_SITE = $(call github,rust-lang,rust-installer,$(CARGO_INSTALLER_VERSION))
-CARGO_INSTALLER_SOURCE = rust-installer-$(CARGO_INSTALLER_VERSION).tar.gz
-
-HOST_CARGO_EXTRA_DOWNLOADS = \
-	$(CARGO_DEPS_SITE)/$(CARGO_DEPS_SOURCE) \
-	$(CARGO_INSTALLER_SITE)/$(CARGO_INSTALLER_SOURCE)
-
-HOST_CARGO_DEPENDENCIES = \
-	$(BR2_CMAKE_HOST_DEPENDENCY) \
-	host-pkgconf \
-	host-openssl \
-	host-libhttpparser \
-	host-libssh2 \
-	host-libcurl \
-	host-rustc \
-	host-cargo-bin
-
-HOST_CARGO_SNAP_BIN = $(HOST_CARGO_BIN_DIR)/cargo/bin/cargo
-HOST_CARGO_HOME = $(HOST_DIR)/share/cargo
-
-define HOST_CARGO_EXTRACT_DEPS
-	@mkdir -p $(@D)/vendor
-	$(call suitable-extractor,$(CARGO_DEPS_SOURCE)) \
-		$(HOST_CARGO_DL_DIR)/$(CARGO_DEPS_SOURCE) | \
-		$(TAR) --strip-components=1 -C $(@D)/vendor $(TAR_OPTIONS) -
-endef
-
-HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_DEPS
-
-define HOST_CARGO_EXTRACT_INSTALLER
-	@mkdir -p $(@D)/src/rust-installer
-	$(call suitable-extractor,$(CARGO_INSTALLER_SOURCE)) \
-		$(HOST_CARGO_DL_DIR)/$(CARGO_INSTALLER_SOURCE) | \
-		$(TAR) --strip-components=1 -C $(@D)/src/rust-installer $(TAR_OPTIONS) -
-endef
-
-HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_INSTALLER
-
-define HOST_CARGO_SETUP_DEPS
-	mkdir -p $(@D)/.cargo
-	( \
-		echo "[source.crates-io]"; \
-		echo "registry = 'https://github.com/rust-lang/crates.io-index'"; \
-		echo "replace-with = 'vendored-sources'"; \
-		echo "[source.vendored-sources]"; \
-		echo "directory = '$(@D)/vendor'"; \
-	) > $(@D)/.cargo/config
-endef
-
-HOST_CARGO_PRE_CONFIGURE_HOOKS += HOST_CARGO_SETUP_DEPS
-
-HOST_CARGO_SNAP_OPTS = \
-	--release \
-	$(if $(VERBOSE),--verbose)
-
-HOST_CARGO_ENV = \
-	RUSTFLAGS="$(addprefix -Clink-arg=,$(HOST_LDFLAGS))" \
-	CARGO_HOME=$(HOST_CARGO_HOME)
-
-define HOST_CARGO_BUILD_CMDS
-	(cd $(@D); $(HOST_MAKE_ENV) $(HOST_CARGO_ENV) $(HOST_CARGO_SNAP_BIN) \
-		build $(HOST_CARGO_SNAP_OPTS))
-endef
-
-define HOST_CARGO_INSTALL_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo
-endef
-
-$(eval $(host-generic-package))
diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py
index 9854c3692e..15bb93dd97 100644
--- a/support/testing/tests/package/test_rust.py
+++ b/support/testing/tests/package/test_rust.py
@@ -73,7 +73,6 @@ class TestRustBin(TestRustBase):
         BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
         BR2_TARGET_ROOTFS_CPIO=y
         # BR2_TARGET_ROOTFS_TAR is not set
-        BR2_PACKAGE_HOST_CARGO=y
         BR2_PACKAGE_HOST_RUSTC=y
         """
 
@@ -102,7 +101,6 @@ class TestRust(TestRustBase):
         BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
         BR2_TARGET_ROOTFS_CPIO=y
         # BR2_TARGET_ROOTFS_TAR is not set
-        BR2_PACKAGE_HOST_CARGO=y
         BR2_PACKAGE_HOST_RUSTC=y
         BR2_PACKAGE_HOST_RUST=y
         """
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (6 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 07/10] package/cargo: drop package Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 10:57   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40 Arnout Vandecappelle
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Eric Le Bihan <eric.le.bihan.dev@free.fr>

As Cargo is either installed by host-rust or host-rust-bin, the
Cargo-based packages should depend on host-rustc.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
[Arnout: also select HOST_RUSTC in Config.in]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 docs/manual/adding-packages-cargo.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt
index b6029e1eed..bb078b6981 100644
--- a/docs/manual/adding-packages-cargo.txt
+++ b/docs/manual/adding-packages-cargo.txt
@@ -18,7 +18,7 @@ The +Config.in+ file of Cargo-based package 'foo' should contain:
 01: config BR2_PACKAGE_FOO
 02: 	bool "foo"
 03: 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
-04: 	select BR2_PACKAGE_HOST_CARGO
+04: 	select BR2_PACKAGE_HOST_RUSTC
 05: 	help
 06: 	  This is a comment that explains what foo is.
 07:
@@ -44,7 +44,7 @@ package. Let's start with an example:
 10: FOO_LICENSE = GPL-3.0+
 11: FOO_LICENSE_FILES = COPYING
 12:
-13: FOO_DEPENDENCIES = host-cargo
+13: FOO_DEPENDENCIES = host-rustc
 14:
 15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
 16: FOO_CARGO_MODE = $(if $(BR2_ENABLE_DEBUG),debug,release)
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (7 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 11:02   ` David PIERRET
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package Arnout Vandecappelle
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Patrick Havelange <patrick.havelange@essensium.com>

- remove of the llvm workaround patch as it is integrated in this
  newer version.
- bump cargo-bin to 0.41 (corresponds to rust 1.40) and update
  licenses hashes.
- bump rust-bin to 1.40.

Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/cargo-bin/cargo-bin.hash              |  22 +-
 package/cargo-bin/cargo-bin.mk                |   2 +-
 package/rust-bin/rust-bin.hash                |  90 +++---
 package/rust-bin/rust-bin.mk                  |   2 +-
 ...esence-of-LLVM-library-in-stage0-lib.patch | 264 ------------------
 package/rust/rust.hash                        |   6 +-
 package/rust/rust.mk                          |   2 +-
 7 files changed, 62 insertions(+), 326 deletions(-)
 delete mode 100644 package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch

diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash
index 0e9e9c5c61..22cad3c0ee 100644
--- a/package/cargo-bin/cargo-bin.hash
+++ b/package/cargo-bin/cargo-bin.hash
@@ -1,13 +1,13 @@
-# From https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 13acdb3c9f2505805ceed8a696f5f62ab8cd73e443cd43d6edd588aad88e1c32  cargo-0.33.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
-sha256 6628db22370f397676195555d768f0449a60f0a694bcac24611f4cd1cfc97cdc  cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 c2c31db68c4dcb50ad856a19e6f11489a0d4df1212f31bd068dfbb73c5425761  cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.asc
+sha256 c48bc132f4025ff39b1b6dc52aef9d406c3f926ce05fe92d943ceab7a5fd6058  cargo-0.41.0-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
+sha256 7705f21d938a72ba6f01818661b2dea29183209940a335f18d1761e1e03d3710  cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 9b6ae643fa240c5ecbc1dc390f4020b6a683f25bac6f7437ebd4b9d32a8d0b6c  cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz
 # Locally generated
-sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
+sha256 8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb  LICENSE-APACHE
 sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
-sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880  LICENSE-THIRD-PARTY
+sha256 cbc759b1f17a2ac38fe3eb9e9563b1a08ba0f900611c49faaf68b46907b6d898  LICENSE-THIRD-PARTY
diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
index 3eaf417531..246fdbf856 100644
--- a/package/cargo-bin/cargo-bin.mk
+++ b/package/cargo-bin/cargo-bin.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CARGO_BIN_VERSION = 0.33.0
+CARGO_BIN_VERSION = 0.41.0
 CARGO_BIN_SITE = https://static.rust-lang.org/dist
 CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
 CARGO_BIN_LICENSE = Apache-2.0 or MIT
diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash
index 96d81a347c..12195f2911 100644
--- a/package/rust-bin/rust-bin.hash
+++ b/package/rust-bin/rust-bin.hash
@@ -1,48 +1,48 @@
-# From https://static.rust-lang.org/dist/rustc-1.33.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 90b6414eddbce4a245cdcaea8353d3a637ef565d2bd119e25a6c2bf3e38cdf63  rustc-1.33.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 57c5ced1a826d34f26e50adf041528dd0000f2a59e8be32d2359386843382ce1  rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz.asc
-sha256 3e3449dada8306b3ff91f23c7803c7312a47e93af140f757b29b74f1e226a505  rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz.asc
-sha256 ddb372a43fb2ba9949e78643df43d6ae447b70cefd440ccdd6b9f6c2ff929ea7  rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz.asc
-sha256 1142d5064d8cbfab16ab71130e5a84804a1ebdfeb10173e6238adc0d757937b6  rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
-sha256 8492b5c91a9ea7ee7e22881382c1b9ad8bb9a4147aff0dfee09940b34783e3d5  rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 e945dd37ab9b143dbcbcdbeaba63b8de47411a4ff815d2e178f745e183078127  rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz.asc
-sha256 abf6b7050c1cdef092ecfde5128067434bb7989def19cfe95c06bfd71de07ba0  rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz.asc
-sha256 9cad816c989c991ffd342d03956b54209d7d32743ebb9b0624b2d36d5bbd525f  rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc
-sha256 c7ac98e7a7c3757b5bb8bde596455d50a8787236e290bc1f49e2d59d486ae564  rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz.asc
-sha256 4ec3cade12e2e527f81d0b315e6a37152bf73938aab4a9216aef7d06ef913eb6  rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz.asc
-sha256 0ab78e0cb710f35d108abce90bbf426947fed6222d2f6c04c9eba4ca00adea06  rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz.asc
-sha256 4bc32bf4660a9fc5cd2af9e09f1bfb668b335442097fed6f3892b50950e97d3c  rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
-sha256 984d3ca2a47db04345a2bddd657761f66d209ef95a02097ad4bd549f45a0dc9f  rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 6f20343ed73faf5fdfc423bec38a9bb1910a0a962af6f2dddd7184407543ed0e  rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
+sha256 257e4789043098a5e3b4fa85ea988019f37d640a10f83d39ada00fb23e057b8a  rustc-1.40.0-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 b1c00618b7a98156e88b14682508a503284f85748eab23de749a20dcc8847111  rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.asc
+sha256 1abd1865e8339c2cac6992a11f6f98b66fa2b97f67acaddcf1992e39a7001bfc  rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.asc
+sha256 14bd261dfc586dc8e1cb336b3c58b63de2af4881c970dd9b1e87f1364a866bcb  rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.asc
+sha256 f16b2cf9103127140f85d21c2753d85d45b90a9309967e3a788867fd7d95a6c1  rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
+sha256 9d4aad78db894a76e9682f2095ac024cc4748b2933f9f7248bf571923f7693c4  rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
+sha256 beab29565d12a6b9db4ef471c34d4c034295760095f7edc3f7b6c51fc08589a0  rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.asc
+sha256 c25790d43e0a01e5f45607b067b22ae96163d5eae877cee1b2b35ce0d43ab9b5  rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.asc
+sha256 7000ab95cd64f177af831d8880b9a5d7b5a23e5a18b9e9adab32bf90859bfa4e  rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc
+sha256 9a4cfebee845dfd50f0f10c3019b89af3747c3aed1a797042285f3cea5a3eb30  rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.asc
+sha256 ab738a37c1cac1aaec7cb34556fa9bfff46dc912baf360a27e9d81311120ec4a  rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.asc
+sha256 5c29b326d4d564c9fa9b82292890f47794496d3cedf106f83f935189b7ecaca5  rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.asc
+sha256 da7af341b3a01f684a2d9fea23f098816aa8a0f9588b58d25ec7f0622743b5b0  rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
+sha256 4eb3141fb6c3d3e101b5d4493664c9a01d4bb9eebdf4b96f5c26a81188c2452d  rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 5a0b14a51f51b0194f70a2023749d9cb49c3b2e11f0d4c8232960b91fad336ac  rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz
 # Locally generated
 sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
 sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
index bef3102450..a5966768a4 100644
--- a/package/rust-bin/rust-bin.mk
+++ b/package/rust-bin/rust-bin.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-RUST_BIN_VERSION = 1.33.0
+RUST_BIN_VERSION = 1.40.0
 RUST_BIN_SITE = https://static.rust-lang.org/dist
 RUST_BIN_LICENSE = Apache-2.0 or MIT
 RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
diff --git a/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch b/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
deleted file mode 100644
index 0c756e3028..0000000000
--- a/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-From 2d21df8a3fd7a68ba9f52389ead7f06f13190c12 Mon Sep 17 00:00:00 2001
-From: Mark Rousskov <mark.simulacrum@gmail.com>
-Date: Mon, 21 Jan 2019 17:47:57 -0700
-Subject: [PATCH] Workaround presence of LLVM library in stage0/lib
-
-This commit works around the newly-introduced LLVM shared library.
-
-This is needed such that llvm-config run from
-librustc_llvm's build script can correctly locate it's own LLVM, not the
-one in stage0/lib. The LLVM build system uses the DT_RUNPATH/RUNPATH
-header within the llvm-config binary, which we want to use, but because
-Cargo always adds the host compiler's "libdir" (stage0/lib in our
-case) to the dynamic linker's search path, we weren't properly finding
-the freshly-built LLVM in llvm/lib. By restoring the environment
-variable setting the search path to what bootstrap sees, the problem is
-resolved and librustc_llvm correctly links and finds the appropriate
-LLVM.
-
-Several run-make-fulldeps tests are also updated with similar handling.
-
-Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
----
- src/bootstrap/builder.rs                      |  9 ++++++++-
- src/bootstrap/compile.rs                      |  1 +
- src/bootstrap/util.rs                         |  6 +++++-
- src/build_helper/lib.rs                       | 19 +++++++++++++++++++
- src/librustc_asan/build.rs                    |  2 ++
- src/librustc_llvm/build.rs                    |  2 ++
- src/librustc_lsan/build.rs                    |  2 ++
- src/librustc_msan/build.rs                    |  2 ++
- src/librustc_tsan/build.rs                    |  2 ++
- .../cross-lang-lto-upstream-rlibs/Makefile    |  4 ++--
- .../run-make-fulldeps/cross-lang-lto/Makefile | 19 ++++++++++---------
- 11 files changed, 55 insertions(+), 13 deletions(-)
-
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index a69ba20749..f742bce180 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -21,7 +21,7 @@ use crate::install;
- use crate::native;
- use crate::test;
- use crate::tool;
--use crate::util::{add_lib_path, exe, libdir};
-+use crate::util::{self, add_lib_path, exe, libdir};
- use crate::{Build, DocTests, Mode, GitRepo};
- 
- pub use crate::Compiler;
-@@ -791,6 +791,13 @@ impl<'a> Builder<'a> {
-             .env("CARGO_TARGET_DIR", out_dir)
-             .arg(cmd);
- 
-+        // See comment in librustc_llvm/build.rs for why this is necessary, largely llvm-config
-+        // needs to not accidentally link to libLLVM in stage0/lib.
-+        cargo.env("REAL_LIBRARY_PATH_VAR", &util::dylib_path_var());
-+        if let Some(e) = env::var_os(util::dylib_path_var()) {
-+            cargo.env("REAL_LIBRARY_PATH", e);
-+        }
-+
-         if cmd != "install" {
-             cargo.arg("--target")
-                  .arg(target);
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index b581271663..ec04dee6c3 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -712,6 +712,7 @@ pub fn build_codegen_backend(builder: &Builder,
-             if builder.is_rust_llvm(target) && backend != "emscripten" {
-                 cargo.env("LLVM_RUSTLLVM", "1");
-             }
-+
-             cargo.env("LLVM_CONFIG", &llvm_config);
-             if backend != "emscripten" {
-                 let target_config = builder.config.target_config.get(&target);
-diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs
-index 2880f1a084..37c6c040da 100644
---- a/src/bootstrap/util.rs
-+++ b/src/bootstrap/util.rs
-@@ -70,7 +70,11 @@ pub fn dylib_path_var() -> &'static str {
- /// Parses the `dylib_path_var()` environment variable, returning a list of
- /// paths that are members of this lookup path.
- pub fn dylib_path() -> Vec<PathBuf> {
--    env::split_paths(&env::var_os(dylib_path_var()).unwrap_or_default()).collect()
-+    let var = match env::var_os(dylib_path_var()) {
-+        Some(v) => v,
-+        None => return vec![],
-+    };
-+    env::split_paths(&var).collect()
- }
- 
- /// `push` all components to `buf`. On windows, append `.exe` to the last component.
-diff --git a/src/build_helper/lib.rs b/src/build_helper/lib.rs
-index 5a704e5577..c66c5c9249 100644
---- a/src/build_helper/lib.rs
-+++ b/src/build_helper/lib.rs
-@@ -23,6 +23,25 @@ macro_rules! t {
-     };
- }
- 
-+// Because Cargo adds the compiler's dylib path to our library search path, llvm-config may
-+// break: the dylib path for the compiler, as of this writing, contains a copy of the LLVM
-+// shared library, which means that when our freshly built llvm-config goes to load it's
-+// associated LLVM, it actually loads the compiler's LLVM. In particular when building the first
-+// compiler (i.e., in stage 0) that's a problem, as the compiler's LLVM is likely different from
-+// the one we want to use. As such, we restore the environment to what bootstrap saw. This isn't
-+// perfect -- we might actually want to see something from Cargo's added library paths -- but
-+// for now it works.
-+pub fn restore_library_path() {
-+    println!("cargo:rerun-if-env-changed=REAL_LIBRARY_PATH_VAR");
-+    println!("cargo:rerun-if-env-changed=REAL_LIBRARY_PATH");
-+    let key = env::var_os("REAL_LIBRARY_PATH_VAR").expect("REAL_LIBRARY_PATH_VAR");
-+    if let Some(env) = env::var_os("REAL_LIBRARY_PATH") {
-+        env::set_var(&key, &env);
-+    } else {
-+        env::remove_var(&key);
-+    }
-+}
-+
- pub fn run(cmd: &mut Command) {
-     println!("running: {:?}", cmd);
-     run_silent(cmd);
-diff --git a/src/librustc_asan/build.rs b/src/librustc_asan/build.rs
-index 2d921b6669..b42d775deb 100644
---- a/src/librustc_asan/build.rs
-+++ b/src/librustc_asan/build.rs
-@@ -8,6 +8,8 @@ use cmake::Config;
- 
- fn main() {
-     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
-+        build_helper::restore_library_path();
-+
-         let (native, target) = match sanitizer_lib_boilerplate("asan") {
-             Ok(native) => native,
-             _ => return,
-diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs
-index ec3dff783c..cd91fcb299 100644
---- a/src/librustc_llvm/build.rs
-+++ b/src/librustc_llvm/build.rs
-@@ -24,6 +24,8 @@ fn main() {
-         return;
-     }
- 
-+    build_helper::restore_library_path();
-+
-     let target = env::var("TARGET").expect("TARGET was not set");
-     let llvm_config = env::var_os("LLVM_CONFIG")
-         .map(PathBuf::from)
-diff --git a/src/librustc_lsan/build.rs b/src/librustc_lsan/build.rs
-index 470f2bb3e5..ad528bb039 100644
---- a/src/librustc_lsan/build.rs
-+++ b/src/librustc_lsan/build.rs
-@@ -8,6 +8,8 @@ use cmake::Config;
- 
- fn main() {
-     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
-+        build_helper::restore_library_path();
-+
-         let (native, target) = match sanitizer_lib_boilerplate("lsan") {
-             Ok(native) => native,
-             _ => return,
-diff --git a/src/librustc_msan/build.rs b/src/librustc_msan/build.rs
-index e1140278f2..085514b5a0 100644
---- a/src/librustc_msan/build.rs
-+++ b/src/librustc_msan/build.rs
-@@ -8,6 +8,8 @@ use cmake::Config;
- 
- fn main() {
-     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
-+        build_helper::restore_library_path();
-+
-         let (native, target) = match sanitizer_lib_boilerplate("msan") {
-             Ok(native) => native,
-             _ => return,
-diff --git a/src/librustc_tsan/build.rs b/src/librustc_tsan/build.rs
-index f63bb46b87..0db3db392d 100644
---- a/src/librustc_tsan/build.rs
-+++ b/src/librustc_tsan/build.rs
-@@ -8,6 +8,8 @@ use cmake::Config;
- 
- fn main() {
-     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
-+        build_helper::restore_library_path();
-+
-         let (native, target) = match sanitizer_lib_boilerplate("tsan") {
-             Ok(native) => native,
-             _ => return,
-diff --git a/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile b/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
-index 0a6f226a02..6992dab1a1 100644
---- a/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
-+++ b/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
-@@ -9,7 +9,7 @@ all: staticlib.rs upstream.rs
- 
- 	# Check No LTO
- 	$(RUSTC) staticlib.rs -Z cross-lang-lto -Ccodegen-units=1 -L. -o $(TMPDIR)/staticlib.a
--	(cd $(TMPDIR); llvm-ar x ./staticlib.a)
-+	(cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
- 	# Make sure the upstream object file was included
- 	ls $(TMPDIR)/upstream.*.rcgu.o
- 
-@@ -19,5 +19,5 @@ all: staticlib.rs upstream.rs
- 	# Check ThinLTO
- 	$(RUSTC) upstream.rs -Z cross-lang-lto -Ccodegen-units=1 -Clto=thin
- 	$(RUSTC) staticlib.rs -Z cross-lang-lto -Ccodegen-units=1 -Clto=thin -L. -o $(TMPDIR)/staticlib.a
--	(cd $(TMPDIR); llvm-ar x ./staticlib.a)
-+	(cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
- 	ls $(TMPDIR)/upstream.*.rcgu.o
-diff --git a/src/test/run-make-fulldeps/cross-lang-lto/Makefile b/src/test/run-make-fulldeps/cross-lang-lto/Makefile
-index 1d072e03de..4d1fb7b953 100644
---- a/src/test/run-make-fulldeps/cross-lang-lto/Makefile
-+++ b/src/test/run-make-fulldeps/cross-lang-lto/Makefile
-@@ -5,8 +5,9 @@
- # LLVM bitcode files (as used by linker LTO plugins) when compiling with
- # -Z cross-lang-lto.
- 
--ASSERT_IS_BITCODE_OBJ=llvm-bcanalyzer # this only succeeds for bitcode files
--EXTRACT_OBJS=(cd $(TMPDIR); rm -f ./*.o; llvm-ar x $(1))
-+# this only succeeds for bitcode files
-+ASSERT_IS_BITCODE_OBJ=($(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-bcanalyzer $(1))
-+EXTRACT_OBJS=(cd $(TMPDIR); rm -f ./*.o; $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x $(1))
- 
- BUILD_LIB=$(RUSTC) lib.rs -Copt-level=2 -Z cross-lang-lto=on -Ccodegen-units=1
- BUILD_EXE=$(RUSTC) main.rs -Copt-level=2 -Z cross-lang-lto=on -Ccodegen-units=1 --emit=obj
-@@ -16,31 +17,31 @@ all: staticlib staticlib-fat-lto staticlib-thin-lto rlib exe cdylib rdylib
- staticlib: lib.rs
- 	$(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib.a
- 	$(call EXTRACT_OBJS, liblib.a)
--	for file in $(TMPDIR)/liblib.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
-+	for file in $(TMPDIR)/liblib.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
- 
- staticlib-fat-lto: lib.rs
- 	$(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib-fat-lto.a -Clto=fat
- 	$(call EXTRACT_OBJS, liblib-fat-lto.a)
--	for file in $(TMPDIR)/liblib-fat-lto.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
-+	for file in $(TMPDIR)/liblib-fat-lto.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
- 
- staticlib-thin-lto: lib.rs
- 	$(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib-thin-lto.a -Clto=thin
- 	$(call EXTRACT_OBJS, liblib-thin-lto.a)
--	for file in $(TMPDIR)/liblib-thin-lto.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
-+	for file in $(TMPDIR)/liblib-thin-lto.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
- 
- rlib: lib.rs
- 	$(BUILD_LIB) --crate-type=rlib -o $(TMPDIR)/liblib.rlib
- 	$(call EXTRACT_OBJS, liblib.rlib)
--	for file in $(TMPDIR)/liblib.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
-+	for file in $(TMPDIR)/liblib.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
- 
- cdylib: lib.rs
- 	$(BUILD_LIB) --crate-type=cdylib --emit=obj -o $(TMPDIR)/cdylib.o
--	$(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/cdylib.o
-+	$(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/cdylib.o)
- 
- rdylib: lib.rs
- 	$(BUILD_LIB) --crate-type=dylib --emit=obj -o $(TMPDIR)/rdylib.o
--	$(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/rdylib.o
-+	$(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/rdylib.o)
- 
- exe: lib.rs
- 	$(BUILD_EXE) -o $(TMPDIR)/exe.o
--	$(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/exe.o
-+	$(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/exe.o)
--- 
-2.17.2
-
diff --git a/package/rust/rust.hash b/package/rust/rust.hash
index 62e2e1855c..67c537f670 100644
--- a/package/rust/rust.hash
+++ b/package/rust/rust.hash
@@ -1,6 +1,6 @@
-# From https://static.rust-lang.org/dist/rustc-1.33.0-src.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-src.tar.xz.asc
-sha256 f4b1a72f1a29b23dcc9d7be5f60878f0434560513273906aa93dcd5c0de39b71  rustc-1.33.0-src.tar.xz
+# From https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.asc
+sha256 6e2aa3a91697f4b225c6b394cbae6b97666f061dba491f666a5281698fe2aace  rustc-1.40.0-src.tar.xz
 # Locally generated
 sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
 sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 588e1088f8..cc3cf1bd01 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-RUST_VERSION = 1.33.0
+RUST_VERSION = 1.40.0
 RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz
 RUST_SITE = https://static.rust-lang.org/dist
 RUST_LICENSE = Apache-2.0 or MIT
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (8 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40 Arnout Vandecappelle
@ 2020-02-07 18:08 ` Arnout Vandecappelle
  2020-03-27 11:08   ` David PIERRET
  2020-07-27 11:51   ` Thomas Petazzoni
  2020-02-07 21:19 ` [Buildroot] [PATCH v3 00/10] Merge rust and cargo Matthew Weber
  2020-07-27 11:48 ` Thomas Petazzoni
  11 siblings, 2 replies; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-07 18:08 UTC (permalink / raw)
  To: buildroot

From: Patrick Havelange <patrick.havelange@essensium.com>

Rust upstream distributes tarballs with separate rust and cargo
binaries, but also tarballs with everything together. The latter
contains a bit more than what we need, so the download is slightly
larger than separate cargo-bin and rust-bin. But it simplifies our life
if we do the same in rust-bin as in rust (i.e. get both rust and cargo).

Also added hashes for rust-bin powerpc64le, which was missing before.

Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 DEVELOPERS                       |  1 -
 package/cargo-bin/cargo-bin.hash | 13 -------------
 package/cargo-bin/cargo-bin.mk   | 19 -------------------
 package/rust-bin/rust-bin.hash   | 15 +++++++++------
 package/rust-bin/rust-bin.mk     | 28 ++++++++++++----------------
 package/rust/rust.mk             |  2 +-
 6 files changed, 22 insertions(+), 56 deletions(-)
 delete mode 100644 package/cargo-bin/cargo-bin.hash
 delete mode 100644 package/cargo-bin/cargo-bin.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index e0f6e7278c..ace16c06e6 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -708,7 +708,6 @@ F:	package/gstreamer1/gst1-plugins-bayer2rgb-neon/
 N:	Eric Le Bihan <eric.le.bihan.dev@free.fr>
 F:	docs/manual/adding-packages-meson.txt
 F:	package/adwaita-icon-theme/
-F:	package/cargo-bin/
 F:	package/darkhttpd/
 F:	package/eudev/
 F:	package/execline/
diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash
deleted file mode 100644
index 22cad3c0ee..0000000000
--- a/package/cargo-bin/cargo-bin.hash
+++ /dev/null
@@ -1,13 +0,0 @@
-# From https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 c48bc132f4025ff39b1b6dc52aef9d406c3f926ce05fe92d943ceab7a5fd6058  cargo-0.41.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
-sha256 7705f21d938a72ba6f01818661b2dea29183209940a335f18d1761e1e03d3710  cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 9b6ae643fa240c5ecbc1dc390f4020b6a683f25bac6f7437ebd4b9d32a8d0b6c  cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz
-# Locally generated
-sha256 8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb  LICENSE-APACHE
-sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
-sha256 cbc759b1f17a2ac38fe3eb9e9563b1a08ba0f900611c49faaf68b46907b6d898  LICENSE-THIRD-PARTY
diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
deleted file mode 100644
index 246fdbf856..0000000000
--- a/package/cargo-bin/cargo-bin.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-#
-# cargo-bin
-#
-################################################################################
-
-CARGO_BIN_VERSION = 0.41.0
-CARGO_BIN_SITE = https://static.rust-lang.org/dist
-CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
-CARGO_BIN_LICENSE = Apache-2.0 or MIT
-CARGO_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
-
-ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y)
-define HOST_CARGO_BIN_INSTALL_CMDS
-	$(@D)/install.sh --prefix=$(HOST_DIR) --disable-ldconfig
-endef
-endif
-
-$(eval $(host-generic-package))
diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash
index 12195f2911..1fdce9ad6f 100644
--- a/package/rust-bin/rust-bin.hash
+++ b/package/rust-bin/rust-bin.hash
@@ -1,9 +1,12 @@
-# From https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 257e4789043098a5e3b4fa85ea988019f37d640a10f83d39ada00fb23e057b8a  rustc-1.40.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 b1c00618b7a98156e88b14682508a503284f85748eab23de749a20dcc8847111  rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
+sha256 82454e1b60b2bc24779d9c949cc0e1da43f3e423dbfc6b45b5afddf65829fc9d  rust-1.40.0-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 37492d6467bcea611b2c7388aed50b655524f81410e255142ef6cfb6cef1ec53  rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
+sha256 82454e1b60b2bc24779d9c949cc0e1da43f3e423dbfc6b45b5afddf65829fc9d  rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
 # From https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.sha256
 # Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.asc
 sha256 1abd1865e8339c2cac6992a11f6f98b66fa2b97f67acaddcf1992e39a7001bfc  rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz
diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
index a5966768a4..be8d623aa2 100644
--- a/package/rust-bin/rust-bin.mk
+++ b/package/rust-bin/rust-bin.mk
@@ -10,18 +10,14 @@ RUST_BIN_LICENSE = Apache-2.0 or MIT
 RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
 
 HOST_RUST_BIN_PROVIDES = host-rustc
-HOST_RUST_BIN_DEPENDENCIES = host-cargo-bin
 
-HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
-
-HOST_RUST_BIN_EXTRA_DOWNLOADS = \
-	rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
+HOST_RUST_BIN_SOURCE = rust-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
 
 ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
-HOST_RUST_BIN_EXTRA_DOWNLOADS += rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz
+HOST_RUST_BIN_EXTRA_DOWNLOADS = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz
 endif
 
-HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME)/rust-std-$(RUSTC_HOST_NAME)
+HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUSTC_HOST_NAME)
 
 define HOST_RUST_BIN_LIBSTD_EXTRACT
 	mkdir -p $(@D)/std
@@ -31,36 +27,36 @@ define HOST_RUST_BIN_LIBSTD_EXTRACT
 	)
 	mkdir -p $(@D)/rustc/lib/rustlib/$(RUSTC_HOST_NAME)/lib
 	cd $(@D)/rustc/lib/rustlib/$(RUSTC_HOST_NAME)/lib; \
-		ln -sf ../../../../../std/$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME)/lib/* .
+		ln -sf ../../../../../$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME)/lib/* .
 endef
 
 HOST_RUST_BIN_POST_EXTRACT_HOOKS += HOST_RUST_BIN_LIBSTD_EXTRACT
 
-HOST_RUST_BIN_INSTALL_OPTS = \
+HOST_RUST_BIN_INSTALL_COMMON_OPTS = \
 	--prefix=$(HOST_DIR) \
 	--disable-ldconfig
 
+HOST_RUST_BIN_INSTALL_OPTS = \
+	$(HOST_RUST_BIN_INSTALL_COMMON_OPTS) \
+	--components=rustc,cargo,rust-std-$(RUSTC_HOST_NAME)
+
 define HOST_RUST_BIN_INSTALL_RUSTC
 	(cd $(@D); \
 		./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
 endef
 
-define HOST_RUST_BIN_INSTALL_LIBSTD_HOST
-	(cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME); \
-		./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
-endef
-
 ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
 define HOST_RUST_BIN_INSTALL_LIBSTD_TARGET
 	(cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME); \
-		./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
+		./install.sh $(HOST_RUST_BIN_INSTALL_COMMON_OPTS))
 endef
 endif
 
 define HOST_RUST_BIN_INSTALL_CMDS
 	$(HOST_RUST_BIN_INSTALL_RUSTC)
-	$(HOST_RUST_BIN_INSTALL_LIBSTD_HOST)
 	$(HOST_RUST_BIN_INSTALL_LIBSTD_TARGET)
 endef
 
+HOST_RUST_BIN_POST_INSTALL_HOOKS += HOST_RUST_INSTALL_CARGO_CONFIG
+
 $(eval $(host-generic-package))
diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index cc3cf1bd01..a81aa6dc2b 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -41,7 +41,7 @@ define HOST_RUST_CONFIGURE_CMDS
 	( \
 		echo '[build]'; \
 		echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \
-		echo 'cargo = "$(HOST_CARGO_BIN_DIR)/cargo/bin/cargo"'; \
+		echo 'cargo = "$(HOST_RUST_BIN_DIR)/cargo/bin/cargo"'; \
 		echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \
 		echo 'python = "$(HOST_DIR)/bin/python2"'; \
 		echo 'submodules = false'; \
-- 
2.24.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 00/10] Merge rust and cargo
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (9 preceding siblings ...)
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package Arnout Vandecappelle
@ 2020-02-07 21:19 ` Matthew Weber
  2020-07-27 11:48 ` Thomas Petazzoni
  11 siblings, 0 replies; 30+ messages in thread
From: Matthew Weber @ 2020-02-07 21:19 UTC (permalink / raw)
  To: buildroot

All,


On Fri, Feb 7, 2020 at 12:09 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> The source code for Cargo, the build and package manager for Rust, is now
> shipped along with the compiler and standard library.
>
> So there can not be a standalone package for Cargo anymore.
>
> This series does the following:
> - move the installation of cargo config to toolchain post-install hook.
> - update host-rust to build and install Cargo.
> - install host-cargo-bin if host-rust-bin is selected instead of host-rust.
> - update dependencies for package(s) using Cargo.
> - remove cargo packaging.
> - update the packaging documentation.
> - bump rust (+cargo) to 1.40.
> - remove cargo-bin as well (now bundled with rust binaries).
>

Build and runtime tested (x86 32bit )

Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com>

> It was previously posted by Eric Le Bihan [1] and by Patrick Havelange
> [2]. I wanted to merge it, but I made some invasive changes (the first
> patch) so I'm reposting just to be sure.
>
> Regards,
> Arnout
>
> [1] http://patchwork.ozlabs.org/project/buildroot/list/?series=140900
> [2] http://patchwork.ozlabs.org/project/buildroot/list/?series=153317
>
> Arnout Vandecappelle (Essensium/Mind) (1):
>   package/rustc: install cargo config as toolchain post-install hook
>
> Eric Le Bihan (7):
>   package/rust: build and install cargo
>   package/cargo-bin: install if rust-bin selected
>   package/rust-bin: host variant depends on host-cargo-bin
>   package/rust: drop dependency on host-cargo-bin
>   package/ripgrep: depends on host-rustc
>   package/cargo: drop package
>   docs/manual: cargo packages depend on host-rustc
>
> Patrick Havelange (2):
>   package/rust: bump to 1.40
>   package/cargo-bin: remove and use cargo-bin from rust-bin package
>
>  DEVELOPERS                                    |   2 -
>  docs/manual/adding-packages-cargo.txt         |   4 +-
>  package/Config.in.host                        |   1 -
>  package/cargo-bin/cargo-bin.hash              |  13 -
>  package/cargo-bin/cargo-bin.mk                |  13 -
>  package/cargo/Config.in.host                  |   9 -
>  package/cargo/cargo.hash                      |   8 -
>  package/cargo/cargo.mk                        |  91 ------
>  package/ripgrep/Config.in                     |   2 +-
>  package/ripgrep/ripgrep.mk                    |   2 +-
>  package/rust-bin/rust-bin.hash                |  93 +++---
>  package/rust-bin/rust-bin.mk                  |  29 +-
>  ...esence-of-LLVM-library-in-stage0-lib.patch | 264 ------------------
>  package/rust/rust.hash                        |   6 +-
>  package/rust/rust.mk                          |   8 +-
>  .../config.in => rustc/cargo-config.in}       |   0
>  package/rustc/rustc.mk                        |  12 +
>  support/testing/tests/package/test_rust.py    |   2 -
>  18 files changed, 85 insertions(+), 474 deletions(-)
>  delete mode 100644 package/cargo-bin/cargo-bin.hash
>  delete mode 100644 package/cargo-bin/cargo-bin.mk
>  delete mode 100644 package/cargo/Config.in.host
>  delete mode 100644 package/cargo/cargo.hash
>  delete mode 100644 package/cargo/cargo.mk
>  delete mode 100644 package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
>  rename package/{cargo/config.in => rustc/cargo-config.in} (100%)
>
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



--

Matthew Weber | Associate Director Software Engineer | Commercial Avionics

COLLINS AEROSPACE

400 Collins Road NE, Cedar Rapids, Iowa 52498, USA

Tel: +1 319 295 7349 | FAX: +1 319 263 6099

matthew.weber at collins.com | collinsaerospace.com



CONFIDENTIALITY WARNING: This message may contain proprietary and/or
privileged information of Collins Aerospace and its affiliated
companies. If you are not the intended recipient, please 1) Do not
disclose, copy, distribute or use this message or its contents. 2)
Advise the sender by return email. 3) Delete all copies (including all
attachments) from your computer. Your cooperation is greatly
appreciated.


Any export restricted material should be shared using my
matthew.weber at corp.rockwellcollins.com address.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
@ 2020-02-09 10:21   ` Yann E. MORIN
  2020-02-09 16:37     ` Arnout Vandecappelle
  2020-04-29 13:15   ` Romain Naour
  2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 1 reply; 30+ messages in thread
From: Yann E. MORIN @ 2020-02-09 10:21 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2020-02-07 19:08 +0100, Arnout Vandecappelle (Essensium/Mind) spake thusly:
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> 
> Cargo source code is not provided anymore as a separate tarball but is
> now built along with the Rust compiler.
> 
> So update rust host variant to build Cargo and install the
> cross-compilation configuration file.
> 
> All this will be overwritten again by the host-cargo package, but
> that will be removed in later commits.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Tested-by: Sam Voss <sam.voss@rockwellcollins.com>
> [Arnout: merge all install commands in HOST_RUST_INSTALL_CMDS]
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

The commit does not look to do what it says in the commit log.

The commit log says "merge all install commands in HOST_RUST_INSTALL_CMDS"
but HOST_RUST_INSTALL_CMDS are not touched; only CONFIGURE_CMDS are.

So, I'm not sure I follow what's going on...

Regards,
Yann E. MORIN.

> ---
>  package/rust/rust.mk | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 5d14fc6682..9bbed15082 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -47,11 +47,14 @@ define HOST_RUST_CONFIGURE_CMDS
>  		echo 'python = "$(HOST_DIR)/bin/python2"'; \
>  		echo 'submodules = false'; \
>  		echo 'vendor = true'; \
> +		echo 'extended = true'; \
> +		echo 'tools = ["cargo"]'; \
>  		echo 'compiler-docs = false'; \
>  		echo 'docs = false'; \
>  		echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
>  		echo '[install]'; \
>  		echo 'prefix = "$(HOST_DIR)"'; \
> +		echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
>  		echo '[rust]'; \
>  		echo 'channel = "stable"'; \
>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
> -- 
> 2.24.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-09 10:21   ` Yann E. MORIN
@ 2020-02-09 16:37     ` Arnout Vandecappelle
  2020-03-27 10:44       ` David PIERRET
  0 siblings, 1 reply; 30+ messages in thread
From: Arnout Vandecappelle @ 2020-02-09 16:37 UTC (permalink / raw)
  To: buildroot



On 09/02/2020 11:21, Yann E. MORIN wrote:
> Arnout, All,
> 
> On 2020-02-07 19:08 +0100, Arnout Vandecappelle (Essensium/Mind) spake thusly:
>> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>>
>> Cargo source code is not provided anymore as a separate tarball but is
>> now built along with the Rust compiler.
>>
>> So update rust host variant to build Cargo and install the
>> cross-compilation configuration file.

 Hm, this last part of the sentence is not valid anymore.

>>
>> All this will be overwritten again by the host-cargo package, but
>> that will be removed in later commits.
>>
>> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
>> Tested-by: Sam Voss <sam.voss@rockwellcollins.com>
>> [Arnout: merge all install commands in HOST_RUST_INSTALL_CMDS]
>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> 
> The commit does not look to do what it says in the commit log.
> 
> The commit log says "merge all install commands in HOST_RUST_INSTALL_CMDS"
> but HOST_RUST_INSTALL_CMDS are not touched; only CONFIGURE_CMDS are.

 The previous version split up the _INSTALL_CMDS into separate variables. I
undid that change and merged them together in a single HOST_RUST_INSTALL_CMDS,
so there's no change anymore. Well, originally there still was the installation
of cargo/config but I moved that somewhere else and in a separate commit. So
probably a better description would have been "don't change
HOST_RUST_INSTALL_CMDS; move cargo/config generation to post-toolchain hook and
in a separate commit".

 Regards,
 Arnout

> 
> So, I'm not sure I follow what's going on...
> 
> Regards,
> Yann E. MORIN.
> 
>> ---
>>  package/rust/rust.mk | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
>> index 5d14fc6682..9bbed15082 100644
>> --- a/package/rust/rust.mk
>> +++ b/package/rust/rust.mk
>> @@ -47,11 +47,14 @@ define HOST_RUST_CONFIGURE_CMDS
>>  		echo 'python = "$(HOST_DIR)/bin/python2"'; \
>>  		echo 'submodules = false'; \
>>  		echo 'vendor = true'; \
>> +		echo 'extended = true'; \
>> +		echo 'tools = ["cargo"]'; \
>>  		echo 'compiler-docs = false'; \
>>  		echo 'docs = false'; \
>>  		echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
>>  		echo '[install]'; \
>>  		echo 'prefix = "$(HOST_DIR)"'; \
>> +		echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
>>  		echo '[rust]'; \
>>  		echo 'channel = "stable"'; \
>>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
>> -- 
>> 2.24.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
@ 2020-03-27 10:42   ` David PIERRET
  2020-05-18 10:51   ` Patrick Havelange
  2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:42 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards,
David

On Fri, Feb 7, 2020 at 7:08 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> The cargo config file is much like the cmake and meson configuration
> files, something that tells the cargo build system how the
> cross-toolchain is configured. It can be used not only with our own
> host-cargo package, but also with a pre-installed cargo.
>
> Therefore, install the cargo config file as a toolchain post-install
> hook, just like we do for cmake and meson. However, we don't have a
> pkg-cargo infrastructure (yet) so we can't put it there. The cargo
> package itself will be removed soon, so that's not appropriate either.
> Therefore, put it in the rustc package - any cargo package will need
> rustc.
>
> Remove the config handling from the cargo package.
>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/cargo/cargo.mk                             |  6 ------
>  package/{cargo/config.in => rustc/cargo-config.in} |  0
>  package/rustc/rustc.mk                             | 12 ++++++++++++
>  3 files changed, 12 insertions(+), 6 deletions(-)
>  rename package/{cargo/config.in => rustc/cargo-config.in} (100%)
>
> diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
> index a387281b4c..3f6646d027 100644
> --- a/package/cargo/cargo.mk
> +++ b/package/cargo/cargo.mk
> @@ -80,12 +80,6 @@ endef
>
>  define HOST_CARGO_INSTALL_CMDS
>         $(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo
> -       $(INSTALL) -D package/cargo/config.in \
> -               $(HOST_DIR)/share/cargo/config
> -       $(SED) 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
> -               $(HOST_DIR)/share/cargo/config
> -       $(SED) 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
> -               $(HOST_DIR)/share/cargo/config
>  endef
>
>  $(eval $(host-generic-package))
> diff --git a/package/cargo/config.in b/package/rustc/cargo-config.in
> similarity index 100%
> rename from package/cargo/config.in
> rename to package/rustc/cargo-config.in
> diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk
> index 6eea9b4fc5..35ffc36106 100644
> --- a/package/rustc/rustc.mk
> +++ b/package/rustc/rustc.mk
> @@ -20,3 +20,15 @@ endif
>  RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu
>
>  $(eval $(host-virtual-package))
> +
> +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
> +define RUSTC_INSTALL_CARGO_CONFIG
> +       mkdir -p $(HOST_DIR)/share/cargo
> +       sed -e 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
> +               -e 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
> +               package/rustc/cargo-config.in \
> +               > $(HOST_DIR)/share/cargo/config
> +endef
> +# check-package disable TypoInPackageVariable - TOOLCHAIN intended
> +TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += RUSTC_INSTALL_CARGO_CONFIG
> +endif
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-09 16:37     ` Arnout Vandecappelle
@ 2020-03-27 10:44       ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:44 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards

David

On Sun, Feb 9, 2020 at 5:37 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 09/02/2020 11:21, Yann E. MORIN wrote:
> > Arnout, All,
> >
> > On 2020-02-07 19:08 +0100, Arnout Vandecappelle (Essensium/Mind) spake thusly:
> >> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> >>
> >> Cargo source code is not provided anymore as a separate tarball but is
> >> now built along with the Rust compiler.
> >>
> >> So update rust host variant to build Cargo and install the
> >> cross-compilation configuration file.
>
>  Hm, this last part of the sentence is not valid anymore.
>
> >>
> >> All this will be overwritten again by the host-cargo package, but
> >> that will be removed in later commits.
> >>
> >> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> >> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> >> Tested-by: Sam Voss <sam.voss@rockwellcollins.com>
> >> [Arnout: merge all install commands in HOST_RUST_INSTALL_CMDS]
> >> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: David Pierret <david.pierret@smile.fr>
> >
> > The commit does not look to do what it says in the commit log.
> >
> > The commit log says "merge all install commands in HOST_RUST_INSTALL_CMDS"
> > but HOST_RUST_INSTALL_CMDS are not touched; only CONFIGURE_CMDS are.
>
>  The previous version split up the _INSTALL_CMDS into separate variables. I
> undid that change and merged them together in a single HOST_RUST_INSTALL_CMDS,
> so there's no change anymore. Well, originally there still was the installation
> of cargo/config but I moved that somewhere else and in a separate commit. So
> probably a better description would have been "don't change
> HOST_RUST_INSTALL_CMDS; move cargo/config generation to post-toolchain hook and
> in a separate commit".
>
>  Regards,
>  Arnout
>
> >
> > So, I'm not sure I follow what's going on...
> >
> > Regards,
> > Yann E. MORIN.
> >
> >> ---
> >>  package/rust/rust.mk | 3 +++
> >>  1 file changed, 3 insertions(+)
> >>
> >> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> >> index 5d14fc6682..9bbed15082 100644
> >> --- a/package/rust/rust.mk
> >> +++ b/package/rust/rust.mk
> >> @@ -47,11 +47,14 @@ define HOST_RUST_CONFIGURE_CMDS
> >>              echo 'python = "$(HOST_DIR)/bin/python2"'; \
> >>              echo 'submodules = false'; \
> >>              echo 'vendor = true'; \
> >> +            echo 'extended = true'; \
> >> +            echo 'tools = ["cargo"]'; \
> >>              echo 'compiler-docs = false'; \
> >>              echo 'docs = false'; \
> >>              echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
> >>              echo '[install]'; \
> >>              echo 'prefix = "$(HOST_DIR)"'; \
> >> +            echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
> >>              echo '[rust]'; \
> >>              echo 'channel = "stable"'; \
> >>              echo '[target.$(RUSTC_TARGET_NAME)]'; \
> >> --
> >> 2.24.1
> >>
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot at busybox.net
> >> http://lists.busybox.net/mailman/listinfo/buildroot
> >
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected Arnout Vandecappelle
@ 2020-03-27 10:47   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:47 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:09 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> If host-rust-bin, the pre-built Rust compiler, is selected as a rustc
> provider, then also install the pre-built cargo binary to be coherent.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> [Arnout: don't install cargo config, alread moved]
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/cargo-bin/cargo-bin.mk | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
> index 3614f7a53d..3eaf417531 100644
> --- a/package/cargo-bin/cargo-bin.mk
> +++ b/package/cargo-bin/cargo-bin.mk
> @@ -10,4 +10,10 @@ CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
>  CARGO_BIN_LICENSE = Apache-2.0 or MIT
>  CARGO_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
>
> +ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y)
> +define HOST_CARGO_BIN_INSTALL_CMDS
> +       $(@D)/install.sh --prefix=$(HOST_DIR) --disable-ldconfig
> +endef
> +endif
> +
>  $(eval $(host-generic-package))
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin Arnout Vandecappelle
@ 2020-03-27 10:50   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:50 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David


On Fri, Feb 7, 2020 at 7:09 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> Ensure installation of pre-built cargo binary by adding it to the
> dependency list of the host variant of the pre-built Rust compiler.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/rust-bin/rust-bin.mk | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
> index a374215e20..bef3102450 100644
> --- a/package/rust-bin/rust-bin.mk
> +++ b/package/rust-bin/rust-bin.mk
> @@ -10,6 +10,7 @@ RUST_BIN_LICENSE = Apache-2.0 or MIT
>  RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
>
>  HOST_RUST_BIN_PROVIDES = host-rustc
> +HOST_RUST_BIN_DEPENDENCIES = host-cargo-bin
>
>  HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
>
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 05/10] package/rust: drop dependency on host-cargo-bin
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 05/10] package/rust: drop dependency " Arnout Vandecappelle
@ 2020-03-27 10:51   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:51 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:09 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> As host-rust depends on host-rust-bin, which depends on host-cargo-bin,
> remove unneeded dependency.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/rust/rust.mk | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 9bbed15082..588e1088f8 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -15,7 +15,6 @@ HOST_RUST_PROVIDES = host-rustc
>  HOST_RUST_DEPENDENCIES = \
>         toolchain \
>         host-rust-bin \
> -       host-cargo-bin \
>         host-openssl \
>         host-python \
>         $(BR2_CMAKE_HOST_DEPENDENCY)
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc Arnout Vandecappelle
@ 2020-03-27 10:53   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:53 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:10 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> As all providers of rustc also install cargo, there is no need to depend
> on the standalone cargo package anymore. Instead add host-rustc to the
> dependency list.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/ripgrep/Config.in  | 2 +-
>  package/ripgrep/ripgrep.mk | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/ripgrep/Config.in b/package/ripgrep/Config.in
> index 5446ad046c..0ea2902b34 100644
> --- a/package/ripgrep/Config.in
> +++ b/package/ripgrep/Config.in
> @@ -1,7 +1,7 @@
>  config BR2_PACKAGE_RIPGREP
>         bool "ripgrep"
>         depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
> -       select BR2_PACKAGE_HOST_CARGO
> +       select BR2_PACKAGE_HOST_RUSTC
>         help
>           ripgrep is a line-oriented search tool that
>           recursively searches your current directory
> diff --git a/package/ripgrep/ripgrep.mk b/package/ripgrep/ripgrep.mk
> index 0bb7017a96..832c076f26 100644
> --- a/package/ripgrep/ripgrep.mk
> +++ b/package/ripgrep/ripgrep.mk
> @@ -9,7 +9,7 @@ RIPGREP_SITE = $(call github,burntsushi,ripgrep,$(RIPGREP_VERSION))
>  RIPGREP_LICENSE = MIT
>  RIPGREP_LICENSE_FILES = LICENSE-MIT
>
> -RIPGREP_DEPENDENCIES = host-cargo
> +RIPGREP_DEPENDENCIES = host-rustc
>  RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
>  RIPGREP_CARGO_MODE = $(if $(BR2_ENABLE_DEBUG),debug,release)
>
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 07/10] package/cargo: drop package
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 07/10] package/cargo: drop package Arnout Vandecappelle
@ 2020-03-27 10:56   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:56 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:10 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> As no package depends on the standalone cargo package, it can be
> dropped.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  DEVELOPERS                                 |  1 -
>  package/Config.in.host                     |  1 -
>  package/cargo/Config.in.host               |  9 ---
>  package/cargo/cargo.hash                   |  8 --
>  package/cargo/cargo.mk                     | 85 ----------------------
>  support/testing/tests/package/test_rust.py |  2 -
>  6 files changed, 106 deletions(-)
>  delete mode 100644 package/cargo/Config.in.host
>  delete mode 100644 package/cargo/cargo.hash
>  delete mode 100644 package/cargo/cargo.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 3520072034..e0f6e7278c 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -709,7 +709,6 @@ N:  Eric Le Bihan <eric.le.bihan.dev@free.fr>
>  F:     docs/manual/adding-packages-meson.txt
>  F:     package/adwaita-icon-theme/
>  F:     package/cargo-bin/
> -F:     package/cargo/
>  F:     package/darkhttpd/
>  F:     package/eudev/
>  F:     package/execline/
> diff --git a/package/Config.in.host b/package/Config.in.host
> index 62e860d7c3..d69961e813 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -3,7 +3,6 @@ menu "Host utilities"
>         source "package/aespipe/Config.in.host"
>         source "package/android-tools/Config.in.host"
>         source "package/btrfs-progs/Config.in.host"
> -       source "package/cargo/Config.in.host"
>         source "package/cbootimage/Config.in.host"
>         source "package/checkpolicy/Config.in.host"
>         source "package/checksec/Config.in.host"
> diff --git a/package/cargo/Config.in.host b/package/cargo/Config.in.host
> deleted file mode 100644
> index c33c6851f2..0000000000
> --- a/package/cargo/Config.in.host
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -config BR2_PACKAGE_HOST_CARGO
> -       bool "host cargo"
> -       depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
> -       select BR2_PACKAGE_HOST_RUSTC
> -       help
> -         Cargo is the package manager for the Rust programming
> -         language.
> -
> -         https://crates.io/
> diff --git a/package/cargo/cargo.hash b/package/cargo/cargo.hash
> deleted file mode 100644
> index baa2cfbc33..0000000000
> --- a/package/cargo/cargo.hash
> +++ /dev/null
> @@ -1,8 +0,0 @@
> -# Locally generated
> -sha256 1a4bae6910ca895157a1abe8225eb2b7e9b49ee1ee1e4e72fb81cb8e1446bff9  cargo-0.26.0.tar.gz
> -sha256 dc7240d60a869fa24a68c8734fb7c810c27cca0a6dad52df6279865e4e8e7fae  rust-installer-4f994850808a572e2cc8d43f968893c8e942e9bf.tar.gz
> -sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
> -sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
> -sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880  LICENSE-THIRD-PARTY
> -# From https://src.fedoraproject.org/repo/pkgs/cargo/cargo-0.26.0-vendor.tar.xz/sha512
> -sha512 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048  cargo-0.26.0-vendor.tar.xz
> diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
> deleted file mode 100644
> index 3f6646d027..0000000000
> --- a/package/cargo/cargo.mk
> +++ /dev/null
> @@ -1,85 +0,0 @@
> -################################################################################
> -#
> -# cargo
> -#
> -################################################################################
> -
> -CARGO_VERSION = 0.26.0
> -CARGO_SITE = $(call github,rust-lang,cargo,$(CARGO_VERSION))
> -CARGO_LICENSE = Apache-2.0 or MIT
> -CARGO_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
> -
> -CARGO_DEPS_SHA512 = 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048
> -CARGO_DEPS_SITE = https://src.fedoraproject.org/repo/pkgs/cargo/$(CARGO_DEPS_SOURCE)/sha512/$(CARGO_DEPS_SHA512)
> -CARGO_DEPS_SOURCE = cargo-$(CARGO_VERSION)-vendor.tar.xz
> -
> -CARGO_INSTALLER_VERSION = 4f994850808a572e2cc8d43f968893c8e942e9bf
> -CARGO_INSTALLER_SITE = $(call github,rust-lang,rust-installer,$(CARGO_INSTALLER_VERSION))
> -CARGO_INSTALLER_SOURCE = rust-installer-$(CARGO_INSTALLER_VERSION).tar.gz
> -
> -HOST_CARGO_EXTRA_DOWNLOADS = \
> -       $(CARGO_DEPS_SITE)/$(CARGO_DEPS_SOURCE) \
> -       $(CARGO_INSTALLER_SITE)/$(CARGO_INSTALLER_SOURCE)
> -
> -HOST_CARGO_DEPENDENCIES = \
> -       $(BR2_CMAKE_HOST_DEPENDENCY) \
> -       host-pkgconf \
> -       host-openssl \
> -       host-libhttpparser \
> -       host-libssh2 \
> -       host-libcurl \
> -       host-rustc \
> -       host-cargo-bin
> -
> -HOST_CARGO_SNAP_BIN = $(HOST_CARGO_BIN_DIR)/cargo/bin/cargo
> -HOST_CARGO_HOME = $(HOST_DIR)/share/cargo
> -
> -define HOST_CARGO_EXTRACT_DEPS
> -       @mkdir -p $(@D)/vendor
> -       $(call suitable-extractor,$(CARGO_DEPS_SOURCE)) \
> -               $(HOST_CARGO_DL_DIR)/$(CARGO_DEPS_SOURCE) | \
> -               $(TAR) --strip-components=1 -C $(@D)/vendor $(TAR_OPTIONS) -
> -endef
> -
> -HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_DEPS
> -
> -define HOST_CARGO_EXTRACT_INSTALLER
> -       @mkdir -p $(@D)/src/rust-installer
> -       $(call suitable-extractor,$(CARGO_INSTALLER_SOURCE)) \
> -               $(HOST_CARGO_DL_DIR)/$(CARGO_INSTALLER_SOURCE) | \
> -               $(TAR) --strip-components=1 -C $(@D)/src/rust-installer $(TAR_OPTIONS) -
> -endef
> -
> -HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_INSTALLER
> -
> -define HOST_CARGO_SETUP_DEPS
> -       mkdir -p $(@D)/.cargo
> -       ( \
> -               echo "[source.crates-io]"; \
> -               echo "registry = 'https://github.com/rust-lang/crates.io-index'"; \
> -               echo "replace-with = 'vendored-sources'"; \
> -               echo "[source.vendored-sources]"; \
> -               echo "directory = '$(@D)/vendor'"; \
> -       ) > $(@D)/.cargo/config
> -endef
> -
> -HOST_CARGO_PRE_CONFIGURE_HOOKS += HOST_CARGO_SETUP_DEPS
> -
> -HOST_CARGO_SNAP_OPTS = \
> -       --release \
> -       $(if $(VERBOSE),--verbose)
> -
> -HOST_CARGO_ENV = \
> -       RUSTFLAGS="$(addprefix -Clink-arg=,$(HOST_LDFLAGS))" \
> -       CARGO_HOME=$(HOST_CARGO_HOME)
> -
> -define HOST_CARGO_BUILD_CMDS
> -       (cd $(@D); $(HOST_MAKE_ENV) $(HOST_CARGO_ENV) $(HOST_CARGO_SNAP_BIN) \
> -               build $(HOST_CARGO_SNAP_OPTS))
> -endef
> -
> -define HOST_CARGO_INSTALL_CMDS
> -       $(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo
> -endef
> -
> -$(eval $(host-generic-package))
> diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py
> index 9854c3692e..15bb93dd97 100644
> --- a/support/testing/tests/package/test_rust.py
> +++ b/support/testing/tests/package/test_rust.py
> @@ -73,7 +73,6 @@ class TestRustBin(TestRustBase):
>          BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
>          BR2_TARGET_ROOTFS_CPIO=y
>          # BR2_TARGET_ROOTFS_TAR is not set
> -        BR2_PACKAGE_HOST_CARGO=y
>          BR2_PACKAGE_HOST_RUSTC=y
>          """
>
> @@ -102,7 +101,6 @@ class TestRust(TestRustBase):
>          BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
>          BR2_TARGET_ROOTFS_CPIO=y
>          # BR2_TARGET_ROOTFS_TAR is not set
> -        BR2_PACKAGE_HOST_CARGO=y
>          BR2_PACKAGE_HOST_RUSTC=y
>          BR2_PACKAGE_HOST_RUST=y
>          """
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc Arnout Vandecappelle
@ 2020-03-27 10:57   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 10:57 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:10 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>
> As Cargo is either installed by host-rust or host-rust-bin, the
> Cargo-based packages should depend on host-rustc.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> [Arnout: also select HOST_RUSTC in Config.in]
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  docs/manual/adding-packages-cargo.txt | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt
> index b6029e1eed..bb078b6981 100644
> --- a/docs/manual/adding-packages-cargo.txt
> +++ b/docs/manual/adding-packages-cargo.txt
> @@ -18,7 +18,7 @@ The +Config.in+ file of Cargo-based package 'foo' should contain:
>  01: config BR2_PACKAGE_FOO
>  02:    bool "foo"
>  03:    depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
> -04:    select BR2_PACKAGE_HOST_CARGO
> +04:    select BR2_PACKAGE_HOST_RUSTC
>  05:    help
>  06:      This is a comment that explains what foo is.
>  07:
> @@ -44,7 +44,7 @@ package. Let's start with an example:
>  10: FOO_LICENSE = GPL-3.0+
>  11: FOO_LICENSE_FILES = COPYING
>  12:
> -13: FOO_DEPENDENCIES = host-cargo
> +13: FOO_DEPENDENCIES = host-rustc
>  14:
>  15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
>  16: FOO_CARGO_MODE = $(if $(BR2_ENABLE_DEBUG),debug,release)
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40 Arnout Vandecappelle
@ 2020-03-27 11:02   ` David PIERRET
  0 siblings, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 11:02 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Note: The latest version of Rust is 1.42.

Regards
David

On Fri, Feb 7, 2020 at 7:10 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Patrick Havelange <patrick.havelange@essensium.com>
>
> - remove of the llvm workaround patch as it is integrated in this
>   newer version.
> - bump cargo-bin to 0.41 (corresponds to rust 1.40) and update
>   licenses hashes.
> - bump rust-bin to 1.40.
>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: David Pierret <david.pierret@smile.fr>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  package/cargo-bin/cargo-bin.hash              |  22 +-
>  package/cargo-bin/cargo-bin.mk                |   2 +-
>  package/rust-bin/rust-bin.hash                |  90 +++---
>  package/rust-bin/rust-bin.mk                  |   2 +-
>  ...esence-of-LLVM-library-in-stage0-lib.patch | 264 ------------------
>  package/rust/rust.hash                        |   6 +-
>  package/rust/rust.mk                          |   2 +-
>  7 files changed, 62 insertions(+), 326 deletions(-)
>  delete mode 100644 package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
>
> diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash
> index 0e9e9c5c61..22cad3c0ee 100644
> --- a/package/cargo-bin/cargo-bin.hash
> +++ b/package/cargo-bin/cargo-bin.hash
> @@ -1,13 +1,13 @@
> -# From https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-i686-unknown-linux-gnu.tar.xz.asc
> -sha256 13acdb3c9f2505805ceed8a696f5f62ab8cd73e443cd43d6edd588aad88e1c32  cargo-0.33.0-i686-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> -sha256 6628db22370f397676195555d768f0449a60f0a694bcac24611f4cd1cfc97cdc  cargo-0.33.0-powerpc64le-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
> -sha256 c2c31db68c4dcb50ad856a19e6f11489a0d4df1212f31bd068dfbb73c5425761  cargo-0.33.0-x86_64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.asc
> +sha256 c48bc132f4025ff39b1b6dc52aef9d406c3f926ce05fe92d943ceab7a5fd6058  cargo-0.41.0-i686-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> +sha256 7705f21d938a72ba6f01818661b2dea29183209940a335f18d1761e1e03d3710  cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.asc
> +sha256 9b6ae643fa240c5ecbc1dc390f4020b6a683f25bac6f7437ebd4b9d32a8d0b6c  cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz
>  # Locally generated
> -sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
> +sha256 8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb  LICENSE-APACHE
>  sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
> -sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880  LICENSE-THIRD-PARTY
> +sha256 cbc759b1f17a2ac38fe3eb9e9563b1a08ba0f900611c49faaf68b46907b6d898  LICENSE-THIRD-PARTY
> diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
> index 3eaf417531..246fdbf856 100644
> --- a/package/cargo-bin/cargo-bin.mk
> +++ b/package/cargo-bin/cargo-bin.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>
> -CARGO_BIN_VERSION = 0.33.0
> +CARGO_BIN_VERSION = 0.41.0
>  CARGO_BIN_SITE = https://static.rust-lang.org/dist
>  CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
>  CARGO_BIN_LICENSE = Apache-2.0 or MIT
> diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash
> index 96d81a347c..12195f2911 100644
> --- a/package/rust-bin/rust-bin.hash
> +++ b/package/rust-bin/rust-bin.hash
> @@ -1,48 +1,48 @@
> -# From https://static.rust-lang.org/dist/rustc-1.33.0-i686-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-i686-unknown-linux-gnu.tar.xz.asc
> -sha256 90b6414eddbce4a245cdcaea8353d3a637ef565d2bd119e25a6c2bf3e38cdf63  rustc-1.33.0-i686-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
> -sha256 57c5ced1a826d34f26e50adf041528dd0000f2a59e8be32d2359386843382ce1  rustc-1.33.0-x86_64-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz.asc
> -sha256 3e3449dada8306b3ff91f23c7803c7312a47e93af140f757b29b74f1e226a505  rust-std-1.33.0-aarch64-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz.asc
> -sha256 ddb372a43fb2ba9949e78643df43d6ae447b70cefd440ccdd6b9f6c2ff929ea7  rust-std-1.33.0-arm-unknown-linux-gnueabi.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz.asc
> -sha256 1142d5064d8cbfab16ab71130e5a84804a1ebdfeb10173e6238adc0d757937b6  rust-std-1.33.0-arm-unknown-linux-gnueabihf.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
> -sha256 8492b5c91a9ea7ee7e22881382c1b9ad8bb9a4147aff0dfee09940b34783e3d5  rust-std-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz.asc
> -sha256 e945dd37ab9b143dbcbcdbeaba63b8de47411a4ff815d2e178f745e183078127  rust-std-1.33.0-i686-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz.asc
> -sha256 abf6b7050c1cdef092ecfde5128067434bb7989def19cfe95c06bfd71de07ba0  rust-std-1.33.0-mips-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz.asc
> -sha256 9cad816c989c991ffd342d03956b54209d7d32743ebb9b0624b2d36d5bbd525f  rust-std-1.33.0-mips64-unknown-linux-gnuabi64.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc
> -sha256 c7ac98e7a7c3757b5bb8bde596455d50a8787236e290bc1f49e2d59d486ae564  rust-std-1.33.0-mips64el-unknown-linux-gnuabi64.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz.asc
> -sha256 4ec3cade12e2e527f81d0b315e6a37152bf73938aab4a9216aef7d06ef913eb6  rust-std-1.33.0-mipsel-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz.asc
> -sha256 0ab78e0cb710f35d108abce90bbf426947fed6222d2f6c04c9eba4ca00adea06  rust-std-1.33.0-powerpc-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz.asc
> -sha256 4bc32bf4660a9fc5cd2af9e09f1bfb668b335442097fed6f3892b50950e97d3c  rust-std-1.33.0-powerpc64-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> -sha256 984d3ca2a47db04345a2bddd657761f66d209ef95a02097ad4bd549f45a0dc9f  rust-std-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz.asc
> -sha256 6f20343ed73faf5fdfc423bec38a9bb1910a0a962af6f2dddd7184407543ed0e  rust-std-1.33.0-x86_64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
> +sha256 257e4789043098a5e3b4fa85ea988019f37d640a10f83d39ada00fb23e057b8a  rustc-1.40.0-i686-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
> +sha256 b1c00618b7a98156e88b14682508a503284f85748eab23de749a20dcc8847111  rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.asc
> +sha256 1abd1865e8339c2cac6992a11f6f98b66fa2b97f67acaddcf1992e39a7001bfc  rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.asc
> +sha256 14bd261dfc586dc8e1cb336b3c58b63de2af4881c970dd9b1e87f1364a866bcb  rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.asc
> +sha256 f16b2cf9103127140f85d21c2753d85d45b90a9309967e3a788867fd7d95a6c1  rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
> +sha256 9d4aad78db894a76e9682f2095ac024cc4748b2933f9f7248bf571923f7693c4  rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
> +sha256 beab29565d12a6b9db4ef471c34d4c034295760095f7edc3f7b6c51fc08589a0  rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.asc
> +sha256 c25790d43e0a01e5f45607b067b22ae96163d5eae877cee1b2b35ce0d43ab9b5  rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.asc
> +sha256 7000ab95cd64f177af831d8880b9a5d7b5a23e5a18b9e9adab32bf90859bfa4e  rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc
> +sha256 9a4cfebee845dfd50f0f10c3019b89af3747c3aed1a797042285f3cea5a3eb30  rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.asc
> +sha256 ab738a37c1cac1aaec7cb34556fa9bfff46dc912baf360a27e9d81311120ec4a  rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.asc
> +sha256 5c29b326d4d564c9fa9b82292890f47794496d3cedf106f83f935189b7ecaca5  rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.asc
> +sha256 da7af341b3a01f684a2d9fea23f098816aa8a0f9588b58d25ec7f0622743b5b0  rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> +sha256 4eb3141fb6c3d3e101b5d4493664c9a01d4bb9eebdf4b96f5c26a81188c2452d  rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
> +sha256 5a0b14a51f51b0194f70a2023749d9cb49c3b2e11f0d4c8232960b91fad336ac  rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz
>  # Locally generated
>  sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
>  sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
> diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
> index bef3102450..a5966768a4 100644
> --- a/package/rust-bin/rust-bin.mk
> +++ b/package/rust-bin/rust-bin.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>
> -RUST_BIN_VERSION = 1.33.0
> +RUST_BIN_VERSION = 1.40.0
>  RUST_BIN_SITE = https://static.rust-lang.org/dist
>  RUST_BIN_LICENSE = Apache-2.0 or MIT
>  RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
> diff --git a/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch b/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
> deleted file mode 100644
> index 0c756e3028..0000000000
> --- a/package/rust/0001-Workaround-presence-of-LLVM-library-in-stage0-lib.patch
> +++ /dev/null
> @@ -1,264 +0,0 @@
> -From 2d21df8a3fd7a68ba9f52389ead7f06f13190c12 Mon Sep 17 00:00:00 2001
> -From: Mark Rousskov <mark.simulacrum@gmail.com>
> -Date: Mon, 21 Jan 2019 17:47:57 -0700
> -Subject: [PATCH] Workaround presence of LLVM library in stage0/lib
> -
> -This commit works around the newly-introduced LLVM shared library.
> -
> -This is needed such that llvm-config run from
> -librustc_llvm's build script can correctly locate it's own LLVM, not the
> -one in stage0/lib. The LLVM build system uses the DT_RUNPATH/RUNPATH
> -header within the llvm-config binary, which we want to use, but because
> -Cargo always adds the host compiler's "libdir" (stage0/lib in our
> -case) to the dynamic linker's search path, we weren't properly finding
> -the freshly-built LLVM in llvm/lib. By restoring the environment
> -variable setting the search path to what bootstrap sees, the problem is
> -resolved and librustc_llvm correctly links and finds the appropriate
> -LLVM.
> -
> -Several run-make-fulldeps tests are also updated with similar handling.
> -
> -Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ----
> - src/bootstrap/builder.rs                      |  9 ++++++++-
> - src/bootstrap/compile.rs                      |  1 +
> - src/bootstrap/util.rs                         |  6 +++++-
> - src/build_helper/lib.rs                       | 19 +++++++++++++++++++
> - src/librustc_asan/build.rs                    |  2 ++
> - src/librustc_llvm/build.rs                    |  2 ++
> - src/librustc_lsan/build.rs                    |  2 ++
> - src/librustc_msan/build.rs                    |  2 ++
> - src/librustc_tsan/build.rs                    |  2 ++
> - .../cross-lang-lto-upstream-rlibs/Makefile    |  4 ++--
> - .../run-make-fulldeps/cross-lang-lto/Makefile | 19 ++++++++++---------
> - 11 files changed, 55 insertions(+), 13 deletions(-)
> -
> -diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
> -index a69ba20749..f742bce180 100644
> ---- a/src/bootstrap/builder.rs
> -+++ b/src/bootstrap/builder.rs
> -@@ -21,7 +21,7 @@ use crate::install;
> - use crate::native;
> - use crate::test;
> - use crate::tool;
> --use crate::util::{add_lib_path, exe, libdir};
> -+use crate::util::{self, add_lib_path, exe, libdir};
> - use crate::{Build, DocTests, Mode, GitRepo};
> -
> - pub use crate::Compiler;
> -@@ -791,6 +791,13 @@ impl<'a> Builder<'a> {
> -             .env("CARGO_TARGET_DIR", out_dir)
> -             .arg(cmd);
> -
> -+        // See comment in librustc_llvm/build.rs for why this is necessary, largely llvm-config
> -+        // needs to not accidentally link to libLLVM in stage0/lib.
> -+        cargo.env("REAL_LIBRARY_PATH_VAR", &util::dylib_path_var());
> -+        if let Some(e) = env::var_os(util::dylib_path_var()) {
> -+            cargo.env("REAL_LIBRARY_PATH", e);
> -+        }
> -+
> -         if cmd != "install" {
> -             cargo.arg("--target")
> -                  .arg(target);
> -diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
> -index b581271663..ec04dee6c3 100644
> ---- a/src/bootstrap/compile.rs
> -+++ b/src/bootstrap/compile.rs
> -@@ -712,6 +712,7 @@ pub fn build_codegen_backend(builder: &Builder,
> -             if builder.is_rust_llvm(target) && backend != "emscripten" {
> -                 cargo.env("LLVM_RUSTLLVM", "1");
> -             }
> -+
> -             cargo.env("LLVM_CONFIG", &llvm_config);
> -             if backend != "emscripten" {
> -                 let target_config = builder.config.target_config.get(&target);
> -diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs
> -index 2880f1a084..37c6c040da 100644
> ---- a/src/bootstrap/util.rs
> -+++ b/src/bootstrap/util.rs
> -@@ -70,7 +70,11 @@ pub fn dylib_path_var() -> &'static str {
> - /// Parses the `dylib_path_var()` environment variable, returning a list of
> - /// paths that are members of this lookup path.
> - pub fn dylib_path() -> Vec<PathBuf> {
> --    env::split_paths(&env::var_os(dylib_path_var()).unwrap_or_default()).collect()
> -+    let var = match env::var_os(dylib_path_var()) {
> -+        Some(v) => v,
> -+        None => return vec![],
> -+    };
> -+    env::split_paths(&var).collect()
> - }
> -
> - /// `push` all components to `buf`. On windows, append `.exe` to the last component.
> -diff --git a/src/build_helper/lib.rs b/src/build_helper/lib.rs
> -index 5a704e5577..c66c5c9249 100644
> ---- a/src/build_helper/lib.rs
> -+++ b/src/build_helper/lib.rs
> -@@ -23,6 +23,25 @@ macro_rules! t {
> -     };
> - }
> -
> -+// Because Cargo adds the compiler's dylib path to our library search path, llvm-config may
> -+// break: the dylib path for the compiler, as of this writing, contains a copy of the LLVM
> -+// shared library, which means that when our freshly built llvm-config goes to load it's
> -+// associated LLVM, it actually loads the compiler's LLVM. In particular when building the first
> -+// compiler (i.e., in stage 0) that's a problem, as the compiler's LLVM is likely different from
> -+// the one we want to use. As such, we restore the environment to what bootstrap saw. This isn't
> -+// perfect -- we might actually want to see something from Cargo's added library paths -- but
> -+// for now it works.
> -+pub fn restore_library_path() {
> -+    println!("cargo:rerun-if-env-changed=REAL_LIBRARY_PATH_VAR");
> -+    println!("cargo:rerun-if-env-changed=REAL_LIBRARY_PATH");
> -+    let key = env::var_os("REAL_LIBRARY_PATH_VAR").expect("REAL_LIBRARY_PATH_VAR");
> -+    if let Some(env) = env::var_os("REAL_LIBRARY_PATH") {
> -+        env::set_var(&key, &env);
> -+    } else {
> -+        env::remove_var(&key);
> -+    }
> -+}
> -+
> - pub fn run(cmd: &mut Command) {
> -     println!("running: {:?}", cmd);
> -     run_silent(cmd);
> -diff --git a/src/librustc_asan/build.rs b/src/librustc_asan/build.rs
> -index 2d921b6669..b42d775deb 100644
> ---- a/src/librustc_asan/build.rs
> -+++ b/src/librustc_asan/build.rs
> -@@ -8,6 +8,8 @@ use cmake::Config;
> -
> - fn main() {
> -     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
> -+        build_helper::restore_library_path();
> -+
> -         let (native, target) = match sanitizer_lib_boilerplate("asan") {
> -             Ok(native) => native,
> -             _ => return,
> -diff --git a/src/librustc_llvm/build.rs b/src/librustc_llvm/build.rs
> -index ec3dff783c..cd91fcb299 100644
> ---- a/src/librustc_llvm/build.rs
> -+++ b/src/librustc_llvm/build.rs
> -@@ -24,6 +24,8 @@ fn main() {
> -         return;
> -     }
> -
> -+    build_helper::restore_library_path();
> -+
> -     let target = env::var("TARGET").expect("TARGET was not set");
> -     let llvm_config = env::var_os("LLVM_CONFIG")
> -         .map(PathBuf::from)
> -diff --git a/src/librustc_lsan/build.rs b/src/librustc_lsan/build.rs
> -index 470f2bb3e5..ad528bb039 100644
> ---- a/src/librustc_lsan/build.rs
> -+++ b/src/librustc_lsan/build.rs
> -@@ -8,6 +8,8 @@ use cmake::Config;
> -
> - fn main() {
> -     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
> -+        build_helper::restore_library_path();
> -+
> -         let (native, target) = match sanitizer_lib_boilerplate("lsan") {
> -             Ok(native) => native,
> -             _ => return,
> -diff --git a/src/librustc_msan/build.rs b/src/librustc_msan/build.rs
> -index e1140278f2..085514b5a0 100644
> ---- a/src/librustc_msan/build.rs
> -+++ b/src/librustc_msan/build.rs
> -@@ -8,6 +8,8 @@ use cmake::Config;
> -
> - fn main() {
> -     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
> -+        build_helper::restore_library_path();
> -+
> -         let (native, target) = match sanitizer_lib_boilerplate("msan") {
> -             Ok(native) => native,
> -             _ => return,
> -diff --git a/src/librustc_tsan/build.rs b/src/librustc_tsan/build.rs
> -index f63bb46b87..0db3db392d 100644
> ---- a/src/librustc_tsan/build.rs
> -+++ b/src/librustc_tsan/build.rs
> -@@ -8,6 +8,8 @@ use cmake::Config;
> -
> - fn main() {
> -     if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
> -+        build_helper::restore_library_path();
> -+
> -         let (native, target) = match sanitizer_lib_boilerplate("tsan") {
> -             Ok(native) => native,
> -             _ => return,
> -diff --git a/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile b/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
> -index 0a6f226a02..6992dab1a1 100644
> ---- a/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
> -+++ b/src/test/run-make-fulldeps/cross-lang-lto-upstream-rlibs/Makefile
> -@@ -9,7 +9,7 @@ all: staticlib.rs upstream.rs
> -
> -       # Check No LTO
> -       $(RUSTC) staticlib.rs -Z cross-lang-lto -Ccodegen-units=1 -L. -o $(TMPDIR)/staticlib.a
> --      (cd $(TMPDIR); llvm-ar x ./staticlib.a)
> -+      (cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
> -       # Make sure the upstream object file was included
> -       ls $(TMPDIR)/upstream.*.rcgu.o
> -
> -@@ -19,5 +19,5 @@ all: staticlib.rs upstream.rs
> -       # Check ThinLTO
> -       $(RUSTC) upstream.rs -Z cross-lang-lto -Ccodegen-units=1 -Clto=thin
> -       $(RUSTC) staticlib.rs -Z cross-lang-lto -Ccodegen-units=1 -Clto=thin -L. -o $(TMPDIR)/staticlib.a
> --      (cd $(TMPDIR); llvm-ar x ./staticlib.a)
> -+      (cd $(TMPDIR); $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x ./staticlib.a)
> -       ls $(TMPDIR)/upstream.*.rcgu.o
> -diff --git a/src/test/run-make-fulldeps/cross-lang-lto/Makefile b/src/test/run-make-fulldeps/cross-lang-lto/Makefile
> -index 1d072e03de..4d1fb7b953 100644
> ---- a/src/test/run-make-fulldeps/cross-lang-lto/Makefile
> -+++ b/src/test/run-make-fulldeps/cross-lang-lto/Makefile
> -@@ -5,8 +5,9 @@
> - # LLVM bitcode files (as used by linker LTO plugins) when compiling with
> - # -Z cross-lang-lto.
> -
> --ASSERT_IS_BITCODE_OBJ=llvm-bcanalyzer # this only succeeds for bitcode files
> --EXTRACT_OBJS=(cd $(TMPDIR); rm -f ./*.o; llvm-ar x $(1))
> -+# this only succeeds for bitcode files
> -+ASSERT_IS_BITCODE_OBJ=($(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-bcanalyzer $(1))
> -+EXTRACT_OBJS=(cd $(TMPDIR); rm -f ./*.o; $(LD_LIB_PATH_ENVVAR)=$(REAL_LD_LIBRARY_PATH) llvm-ar x $(1))
> -
> - BUILD_LIB=$(RUSTC) lib.rs -Copt-level=2 -Z cross-lang-lto=on -Ccodegen-units=1
> - BUILD_EXE=$(RUSTC) main.rs -Copt-level=2 -Z cross-lang-lto=on -Ccodegen-units=1 --emit=obj
> -@@ -16,31 +17,31 @@ all: staticlib staticlib-fat-lto staticlib-thin-lto rlib exe cdylib rdylib
> - staticlib: lib.rs
> -       $(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib.a
> -       $(call EXTRACT_OBJS, liblib.a)
> --      for file in $(TMPDIR)/liblib.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
> -+      for file in $(TMPDIR)/liblib.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
> -
> - staticlib-fat-lto: lib.rs
> -       $(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib-fat-lto.a -Clto=fat
> -       $(call EXTRACT_OBJS, liblib-fat-lto.a)
> --      for file in $(TMPDIR)/liblib-fat-lto.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
> -+      for file in $(TMPDIR)/liblib-fat-lto.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
> -
> - staticlib-thin-lto: lib.rs
> -       $(BUILD_LIB) --crate-type=staticlib -o $(TMPDIR)/liblib-thin-lto.a -Clto=thin
> -       $(call EXTRACT_OBJS, liblib-thin-lto.a)
> --      for file in $(TMPDIR)/liblib-thin-lto.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
> -+      for file in $(TMPDIR)/liblib-thin-lto.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
> -
> - rlib: lib.rs
> -       $(BUILD_LIB) --crate-type=rlib -o $(TMPDIR)/liblib.rlib
> -       $(call EXTRACT_OBJS, liblib.rlib)
> --      for file in $(TMPDIR)/liblib.*.rcgu.o; do $(ASSERT_IS_BITCODE_OBJ) $$file; done
> -+      for file in $(TMPDIR)/liblib.*.rcgu.o; do $(call ASSERT_IS_BITCODE_OBJ, $$file); done
> -
> - cdylib: lib.rs
> -       $(BUILD_LIB) --crate-type=cdylib --emit=obj -o $(TMPDIR)/cdylib.o
> --      $(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/cdylib.o
> -+      $(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/cdylib.o)
> -
> - rdylib: lib.rs
> -       $(BUILD_LIB) --crate-type=dylib --emit=obj -o $(TMPDIR)/rdylib.o
> --      $(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/rdylib.o
> -+      $(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/rdylib.o)
> -
> - exe: lib.rs
> -       $(BUILD_EXE) -o $(TMPDIR)/exe.o
> --      $(ASSERT_IS_BITCODE_OBJ) $(TMPDIR)/exe.o
> -+      $(call ASSERT_IS_BITCODE_OBJ, $(TMPDIR)/exe.o)
> ---
> -2.17.2
> -
> diff --git a/package/rust/rust.hash b/package/rust/rust.hash
> index 62e2e1855c..67c537f670 100644
> --- a/package/rust/rust.hash
> +++ b/package/rust/rust.hash
> @@ -1,6 +1,6 @@
> -# From https://static.rust-lang.org/dist/rustc-1.33.0-src.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rustc-1.33.0-src.tar.xz.asc
> -sha256 f4b1a72f1a29b23dcc9d7be5f60878f0434560513273906aa93dcd5c0de39b71  rustc-1.33.0-src.tar.xz
> +# From https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.asc
> +sha256 6e2aa3a91697f4b225c6b394cbae6b97666f061dba491f666a5281698fe2aace  rustc-1.40.0-src.tar.xz
>  # Locally generated
>  sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2  LICENSE-APACHE
>  sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 588e1088f8..cc3cf1bd01 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>
> -RUST_VERSION = 1.33.0
> +RUST_VERSION = 1.40.0
>  RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz
>  RUST_SITE = https://static.rust-lang.org/dist
>  RUST_LICENSE = Apache-2.0 or MIT
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package Arnout Vandecappelle
@ 2020-03-27 11:08   ` David PIERRET
  2020-07-27 11:51   ` Thomas Petazzoni
  1 sibling, 0 replies; 30+ messages in thread
From: David PIERRET @ 2020-03-27 11:08 UTC (permalink / raw)
  To: buildroot

Hi,
Working on a new package using rust, this patch suite have resolved my
issue with rust version successfully.

Regards
David

On Fri, Feb 7, 2020 at 7:10 PM Arnout Vandecappelle (Essensium/Mind)
<arnout@mind.be> wrote:
>
> From: Patrick Havelange <patrick.havelange@essensium.com>
>
> Rust upstream distributes tarballs with separate rust and cargo
> binaries, but also tarballs with everything together. The latter
> contains a bit more than what we need, so the download is slightly
> larger than separate cargo-bin and rust-bin. But it simplifies our life
> if we do the same in rust-bin as in rust (i.e. get both rust and cargo).
>
> Also added hashes for rust-bin powerpc64le, which was missing before.
>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: David Pierret <david.pierret@smile.fr>
> ---
>  DEVELOPERS                       |  1 -
>  package/cargo-bin/cargo-bin.hash | 13 -------------
>  package/cargo-bin/cargo-bin.mk   | 19 -------------------
>  package/rust-bin/rust-bin.hash   | 15 +++++++++------
>  package/rust-bin/rust-bin.mk     | 28 ++++++++++++----------------
>  package/rust/rust.mk             |  2 +-
>  6 files changed, 22 insertions(+), 56 deletions(-)
>  delete mode 100644 package/cargo-bin/cargo-bin.hash
>  delete mode 100644 package/cargo-bin/cargo-bin.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index e0f6e7278c..ace16c06e6 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -708,7 +708,6 @@ F:  package/gstreamer1/gst1-plugins-bayer2rgb-neon/
>  N:     Eric Le Bihan <eric.le.bihan.dev@free.fr>
>  F:     docs/manual/adding-packages-meson.txt
>  F:     package/adwaita-icon-theme/
> -F:     package/cargo-bin/
>  F:     package/darkhttpd/
>  F:     package/eudev/
>  F:     package/execline/
> diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash
> deleted file mode 100644
> index 22cad3c0ee..0000000000
> --- a/package/cargo-bin/cargo-bin.hash
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -# From https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-i686-unknown-linux-gnu.tar.xz.asc
> -sha256 c48bc132f4025ff39b1b6dc52aef9d406c3f926ce05fe92d943ceab7a5fd6058  cargo-0.41.0-i686-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> -sha256 7705f21d938a72ba6f01818661b2dea29183209940a335f18d1761e1e03d3710  cargo-0.41.0-powerpc64le-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz.asc
> -sha256 9b6ae643fa240c5ecbc1dc390f4020b6a683f25bac6f7437ebd4b9d32a8d0b6c  cargo-0.41.0-x86_64-unknown-linux-gnu.tar.xz
> -# Locally generated
> -sha256 8ada45cd9f843acf64e4722ae262c622a2b3b3007c7310ef36ac1061a30f6adb  LICENSE-APACHE
> -sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
> -sha256 cbc759b1f17a2ac38fe3eb9e9563b1a08ba0f900611c49faaf68b46907b6d898  LICENSE-THIRD-PARTY
> diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
> deleted file mode 100644
> index 246fdbf856..0000000000
> --- a/package/cargo-bin/cargo-bin.mk
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -################################################################################
> -#
> -# cargo-bin
> -#
> -################################################################################
> -
> -CARGO_BIN_VERSION = 0.41.0
> -CARGO_BIN_SITE = https://static.rust-lang.org/dist
> -CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
> -CARGO_BIN_LICENSE = Apache-2.0 or MIT
> -CARGO_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
> -
> -ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y)
> -define HOST_CARGO_BIN_INSTALL_CMDS
> -       $(@D)/install.sh --prefix=$(HOST_DIR) --disable-ldconfig
> -endef
> -endif
> -
> -$(eval $(host-generic-package))
> diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash
> index 12195f2911..1fdce9ad6f 100644
> --- a/package/rust-bin/rust-bin.hash
> +++ b/package/rust-bin/rust-bin.hash
> @@ -1,9 +1,12 @@
> -# From https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
> -sha256 257e4789043098a5e3b4fa85ea988019f37d640a10f83d39ada00fb23e057b8a  rustc-1.40.0-i686-unknown-linux-gnu.tar.xz
> -# From https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> -# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
> -sha256 b1c00618b7a98156e88b14682508a503284f85748eab23de749a20dcc8847111  rustc-1.40.0-x86_64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
> +sha256 82454e1b60b2bc24779d9c949cc0e1da43f3e423dbfc6b45b5afddf65829fc9d  rust-1.40.0-i686-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
> +sha256 37492d6467bcea611b2c7388aed50b655524f81410e255142ef6cfb6cef1ec53  rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz
> +# From https://static.rust-lang.org/dist/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
> +# Verified using https://static.rust-lang.org/dist/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
> +sha256 82454e1b60b2bc24779d9c949cc0e1da43f3e423dbfc6b45b5afddf65829fc9d  rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
>  # From https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.sha256
>  # Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.asc
>  sha256 1abd1865e8339c2cac6992a11f6f98b66fa2b97f67acaddcf1992e39a7001bfc  rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz
> diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
> index a5966768a4..be8d623aa2 100644
> --- a/package/rust-bin/rust-bin.mk
> +++ b/package/rust-bin/rust-bin.mk
> @@ -10,18 +10,14 @@ RUST_BIN_LICENSE = Apache-2.0 or MIT
>  RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
>
>  HOST_RUST_BIN_PROVIDES = host-rustc
> -HOST_RUST_BIN_DEPENDENCIES = host-cargo-bin
>
> -HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
> -
> -HOST_RUST_BIN_EXTRA_DOWNLOADS = \
> -       rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
> +HOST_RUST_BIN_SOURCE = rust-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
>
>  ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
> -HOST_RUST_BIN_EXTRA_DOWNLOADS += rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz
> +HOST_RUST_BIN_EXTRA_DOWNLOADS = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz
>  endif
>
> -HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME)/rust-std-$(RUSTC_HOST_NAME)
> +HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUSTC_HOST_NAME)
>
>  define HOST_RUST_BIN_LIBSTD_EXTRACT
>         mkdir -p $(@D)/std
> @@ -31,36 +27,36 @@ define HOST_RUST_BIN_LIBSTD_EXTRACT
>         )
>         mkdir -p $(@D)/rustc/lib/rustlib/$(RUSTC_HOST_NAME)/lib
>         cd $(@D)/rustc/lib/rustlib/$(RUSTC_HOST_NAME)/lib; \
> -               ln -sf ../../../../../std/$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME)/lib/* .
> +               ln -sf ../../../../../$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME)/lib/* .
>  endef
>
>  HOST_RUST_BIN_POST_EXTRACT_HOOKS += HOST_RUST_BIN_LIBSTD_EXTRACT
>
> -HOST_RUST_BIN_INSTALL_OPTS = \
> +HOST_RUST_BIN_INSTALL_COMMON_OPTS = \
>         --prefix=$(HOST_DIR) \
>         --disable-ldconfig
>
> +HOST_RUST_BIN_INSTALL_OPTS = \
> +       $(HOST_RUST_BIN_INSTALL_COMMON_OPTS) \
> +       --components=rustc,cargo,rust-std-$(RUSTC_HOST_NAME)
> +
>  define HOST_RUST_BIN_INSTALL_RUSTC
>         (cd $(@D); \
>                 ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
>  endef
>
> -define HOST_RUST_BIN_INSTALL_LIBSTD_HOST
> -       (cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME); \
> -               ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
> -endef
> -
>  ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
>  define HOST_RUST_BIN_INSTALL_LIBSTD_TARGET
>         (cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME); \
> -               ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS))
> +               ./install.sh $(HOST_RUST_BIN_INSTALL_COMMON_OPTS))
>  endef
>  endif
>
>  define HOST_RUST_BIN_INSTALL_CMDS
>         $(HOST_RUST_BIN_INSTALL_RUSTC)
> -       $(HOST_RUST_BIN_INSTALL_LIBSTD_HOST)
>         $(HOST_RUST_BIN_INSTALL_LIBSTD_TARGET)
>  endef
>
> +HOST_RUST_BIN_POST_INSTALL_HOOKS += HOST_RUST_INSTALL_CARGO_CONFIG
> +
>  $(eval $(host-generic-package))
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index cc3cf1bd01..a81aa6dc2b 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -41,7 +41,7 @@ define HOST_RUST_CONFIGURE_CMDS
>         ( \
>                 echo '[build]'; \
>                 echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \
> -               echo 'cargo = "$(HOST_CARGO_BIN_DIR)/cargo/bin/cargo"'; \
> +               echo 'cargo = "$(HOST_RUST_BIN_DIR)/cargo/bin/cargo"'; \
>                 echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \
>                 echo 'python = "$(HOST_DIR)/bin/python2"'; \
>                 echo 'submodules = false'; \
> --
> 2.24.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
  2020-02-09 10:21   ` Yann E. MORIN
@ 2020-04-29 13:15   ` Romain Naour
  2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 0 replies; 30+ messages in thread
From: Romain Naour @ 2020-04-29 13:15 UTC (permalink / raw)
  To: buildroot

Hi Arnout, All,

Le 07/02/2020 ? 19:08, Arnout Vandecappelle (Essensium/Mind) a ?crit?:
> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> 
> Cargo source code is not provided anymore as a separate tarball but is
> now built along with the Rust compiler.
> 
> So update rust host variant to build Cargo and install the
> cross-compilation configuration file.
> 
> All this will be overwritten again by the host-cargo package, but
> that will be removed in later commits.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
> Tested-by: Sam Voss <sam.voss@rockwellcollins.com>
> [Arnout: merge all install commands in HOST_RUST_INSTALL_CMDS]
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>  package/rust/rust.mk | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 5d14fc6682..9bbed15082 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -47,11 +47,14 @@ define HOST_RUST_CONFIGURE_CMDS
>  		echo 'python = "$(HOST_DIR)/bin/python2"'; \

Not related to this patch but rust is still using python2.
What's upstream plan to switch to python3 ?

Best regards,
Romain

>  		echo 'submodules = false'; \
>  		echo 'vendor = true'; \
> +		echo 'extended = true'; \
> +		echo 'tools = ["cargo"]'; \
>  		echo 'compiler-docs = false'; \
>  		echo 'docs = false'; \
>  		echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
>  		echo '[install]'; \
>  		echo 'prefix = "$(HOST_DIR)"'; \
> +		echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
>  		echo '[rust]'; \
>  		echo 'channel = "stable"'; \
>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
  2020-03-27 10:42   ` David PIERRET
@ 2020-05-18 10:51   ` Patrick Havelange
  2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 0 replies; 30+ messages in thread
From: Patrick Havelange @ 2020-05-18 10:51 UTC (permalink / raw)
  To: buildroot

Hello all,

What about merging this patch series and then the 2nd improvement 
http://patchwork.ozlabs.org/project/buildroot/list/?series=159771 (for 
an unknown reason the 02/10 has not been picked up by patchwork)
?

There has been some remarks that in some cases the proposed patch series 
is not sufficient, however I think these are some edge cases and could 
be improved later once those patches are applied.

I'm also seeing some issues being fixed recently on the old version of 
rust, and I fear it will lead to duplicate efforts the more we wait for 
merging those 2 patch series (as a bugfix should be done in the context 
of the new version, or it might even not be needed, with a bit of luck).

Unless there are some blocking issues that I missed..


Regards,

Patrick H.


On 2020-02-07 19:08, Arnout Vandecappelle (Essensium/Mind) wrote:
> The cargo config file is much like the cmake and meson configuration
> files, something that tells the cargo build system how the
> cross-toolchain is configured. It can be used not only with our own
> host-cargo package, but also with a pre-installed cargo.
> 
> Therefore, install the cargo config file as a toolchain post-install
> hook, just like we do for cmake and meson. However, we don't have a
> pkg-cargo infrastructure (yet) so we can't put it there. The cargo
> package itself will be removed soon, so that's not appropriate either.
> Therefore, put it in the rustc package - any cargo package will need
> rustc.
> 
> Remove the config handling from the cargo package.
> 
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
>   package/cargo/cargo.mk                             |  6 ------
>   package/{cargo/config.in => rustc/cargo-config.in} |  0
>   package/rustc/rustc.mk                             | 12 ++++++++++++
>   3 files changed, 12 insertions(+), 6 deletions(-)
>   rename package/{cargo/config.in => rustc/cargo-config.in} (100%)
> 
> diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk
> index a387281b4c..3f6646d027 100644
> --- a/package/cargo/cargo.mk
> +++ b/package/cargo/cargo.mk
> @@ -80,12 +80,6 @@ endef
>   
>   define HOST_CARGO_INSTALL_CMDS
>   	$(INSTALL) -D -m 0755 $(@D)/target/release/cargo $(HOST_DIR)/bin/cargo
> -	$(INSTALL) -D package/cargo/config.in \
> -		$(HOST_DIR)/share/cargo/config
> -	$(SED) 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
> -		$(HOST_DIR)/share/cargo/config
> -	$(SED) 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
> -		$(HOST_DIR)/share/cargo/config
>   endef
>   
>   $(eval $(host-generic-package))
> diff --git a/package/cargo/config.in b/package/rustc/cargo-config.in
> similarity index 100%
> rename from package/cargo/config.in
> rename to package/rustc/cargo-config.in
> diff --git a/package/rustc/rustc.mk b/package/rustc/rustc.mk
> index 6eea9b4fc5..35ffc36106 100644
> --- a/package/rustc/rustc.mk
> +++ b/package/rustc/rustc.mk
> @@ -20,3 +20,15 @@ endif
>   RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu
>   
>   $(eval $(host-virtual-package))
> +
> +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
> +define RUSTC_INSTALL_CARGO_CONFIG
> +	mkdir -p $(HOST_DIR)/share/cargo
> +	sed -e 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
> +		-e 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
> +		package/rustc/cargo-config.in \
> +		> $(HOST_DIR)/share/cargo/config
> +endef
> +# check-package disable TypoInPackageVariable - TOOLCHAIN intended
> +TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += RUSTC_INSTALL_CARGO_CONFIG
> +endif
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 00/10] Merge rust and cargo
  2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
                   ` (10 preceding siblings ...)
  2020-02-07 21:19 ` [Buildroot] [PATCH v3 00/10] Merge rust and cargo Matthew Weber
@ 2020-07-27 11:48 ` Thomas Petazzoni
  11 siblings, 0 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2020-07-27 11:48 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri,  7 Feb 2020 19:08:19 +0100
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> wrote:

> Eric Le Bihan (7):
>   package/rust: build and install cargo
>   package/cargo-bin: install if rust-bin selected
>   package/rust-bin: host variant depends on host-cargo-bin
>   package/rust: drop dependency on host-cargo-bin
>   package/ripgrep: depends on host-rustc
>   package/cargo: drop package
>   docs/manual: cargo packages depend on host-rustc
> 
> Patrick Havelange (2):
>   package/rust: bump to 1.40
>   package/cargo-bin: remove and use cargo-bin from rust-bin package

Thanks a lot, I have applied the whole series.

One thing that I find strange is that host-rust-bin gets installed to
$(HOST_DIR) into the traditional places, and then when you build
host-rust, it installs *over* host-rust-bin. It was already like that
prior to your series, so this is not really a change, but I'm wondering
if we should clarify this. Related to this, this is also non very nice:

                echo 'cargo = "$(HOST_RUST_BIN_DIR)/cargo/bin/cargo"'; \
                echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \

Here, we're pointing directly to the source directory of another
package, which we generally try to avoid.

So, I'm wondering if we shouldn't be installed host-rust-bin in some
unusual $(HOST_DIR) location, maybe $(HOST_DIR)/opt/rust-bin/ or
something like that.

Then:

 - If the host-rustc virtual package uses host-rust-bin as the
   provider, then we create the appropriate
   $(HOST_DIR)/bin/{rustc,cargo} symlinks to
   $(HOST_DIR)/opt/rust-bin/{rustc,cargo}

 - If the host-rustc virtual package uses host-rust as the provider,
   then host-rust will use $(HOST_DIR)/opt/rust-bin/ to build itself,
   and then will install $(HOST_DIR)/bin/{rustc,cargo}

Thoughts ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
  2020-03-27 10:42   ` David PIERRET
  2020-05-18 10:51   ` Patrick Havelange
@ 2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 0 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2020-07-27 11:49 UTC (permalink / raw)
  To: buildroot

On Fri,  7 Feb 2020 19:08:20 +0100
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> wrote:

> The cargo config file is much like the cmake and meson configuration
> files, something that tells the cargo build system how the
> cross-toolchain is configured. It can be used not only with our own
> host-cargo package, but also with a pre-installed cargo.

I'm not sure what you meant by a "pre-installed cargo". We certainly
don't support using a "cargo" installed on the host distribution. I've
reworded the commit log to explain a bit more clearly what we are doing
here.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
  2020-02-09 10:21   ` Yann E. MORIN
  2020-04-29 13:15   ` Romain Naour
@ 2020-07-27 11:49   ` Thomas Petazzoni
  2 siblings, 0 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2020-07-27 11:49 UTC (permalink / raw)
  To: buildroot

On Fri,  7 Feb 2020 19:08:21 +0100
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> wrote:

> From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> 
> Cargo source code is not provided anymore as a separate tarball but is
> now built along with the Rust compiler.
> 
> So update rust host variant to build Cargo and install the
> cross-compilation configuration file.

I've reworded when applying, since this commit no longer messes up with
the cross-compilation configuration file.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package
  2020-02-07 18:08 ` [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package Arnout Vandecappelle
  2020-03-27 11:08   ` David PIERRET
@ 2020-07-27 11:51   ` Thomas Petazzoni
  1 sibling, 0 replies; 30+ messages in thread
From: Thomas Petazzoni @ 2020-07-27 11:51 UTC (permalink / raw)
  To: buildroot

On Fri,  7 Feb 2020 19:08:29 +0100
"Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> wrote:

> From: Patrick Havelange <patrick.havelange@essensium.com>
> 
> Rust upstream distributes tarballs with separate rust and cargo
> binaries, but also tarballs with everything together. The latter
> contains a bit more than what we need, so the download is slightly
> larger than separate cargo-bin and rust-bin. But it simplifies our life
> if we do the same in rust-bin as in rust (i.e. get both rust and cargo).
> 
> Also added hashes for rust-bin powerpc64le, which was missing before.

Actually the powerpc64le hash was not needed, since we don't support
powerpc64le as a host architecture for Rust currently:

config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
        bool
        default y if BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"

>  HOST_RUST_BIN_PROVIDES = host-rustc
> -HOST_RUST_BIN_DEPENDENCIES = host-cargo-bin
>  
> -HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
> -
> -HOST_RUST_BIN_EXTRA_DOWNLOADS = \
> -	rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
> +HOST_RUST_BIN_SOURCE = rust-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz
>  
>  ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
> -HOST_RUST_BIN_EXTRA_DOWNLOADS += rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz
> +HOST_RUST_BIN_EXTRA_DOWNLOADS = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz

I've kept a += here, there was no reason to do this change, and we
prefer assignments in conditions to use += instead of =.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2020-07-27 11:51 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-07 18:08 [Buildroot] [PATCH v3 00/10] Merge rust and cargo Arnout Vandecappelle
2020-02-07 18:08 ` [Buildroot] [PATCH v3 01/10] package/rustc: install cargo config as toolchain post-install hook Arnout Vandecappelle
2020-03-27 10:42   ` David PIERRET
2020-05-18 10:51   ` Patrick Havelange
2020-07-27 11:49   ` Thomas Petazzoni
2020-02-07 18:08 ` [Buildroot] [PATCH v3 02/10] package/rust: build and install cargo Arnout Vandecappelle
2020-02-09 10:21   ` Yann E. MORIN
2020-02-09 16:37     ` Arnout Vandecappelle
2020-03-27 10:44       ` David PIERRET
2020-04-29 13:15   ` Romain Naour
2020-07-27 11:49   ` Thomas Petazzoni
2020-02-07 18:08 ` [Buildroot] [PATCH v3 03/10] package/cargo-bin: install if rust-bin selected Arnout Vandecappelle
2020-03-27 10:47   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 04/10] package/rust-bin: host variant depends on host-cargo-bin Arnout Vandecappelle
2020-03-27 10:50   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 05/10] package/rust: drop dependency " Arnout Vandecappelle
2020-03-27 10:51   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 06/10] package/ripgrep: depends on host-rustc Arnout Vandecappelle
2020-03-27 10:53   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 07/10] package/cargo: drop package Arnout Vandecappelle
2020-03-27 10:56   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 08/10] docs/manual: cargo packages depend on host-rustc Arnout Vandecappelle
2020-03-27 10:57   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 09/10] package/rust: bump to 1.40 Arnout Vandecappelle
2020-03-27 11:02   ` David PIERRET
2020-02-07 18:08 ` [Buildroot] [PATCH v3 10/10] package/cargo-bin: remove and use cargo-bin from rust-bin package Arnout Vandecappelle
2020-03-27 11:08   ` David PIERRET
2020-07-27 11:51   ` Thomas Petazzoni
2020-02-07 21:19 ` [Buildroot] [PATCH v3 00/10] Merge rust and cargo Matthew Weber
2020-07-27 11:48 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.