All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo
@ 2020-01-15 13:26 Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 2/9] package/cargo-bin: install if rust-bin selected Patrick Havelange
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
---
 package/rust/config.in |  2 ++
 package/rust/rust.mk   | 25 ++++++++++++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 package/rust/config.in

diff --git a/package/rust/config.in b/package/rust/config.in
new file mode 100644
index 0000000000..47fad026be
--- /dev/null
+++ b/package/rust/config.in
@@ -0,0 +1,2 @@
+[target. at RUSTC_TARGET_NAME@]
+linker = "@CROSS_PREFIX at gcc"
diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 5d14fc6682..901995c203 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)]'; \
@@ -64,9 +67,29 @@ define HOST_RUST_BUILD_CMDS
 	cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py build
 endef
 
-define HOST_RUST_INSTALL_CMDS
+define HOST_RUST_INSTALL_RUST_BIN
 	cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py dist
 	cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py install
 endef
 
+define HOST_RUST_INSTALL_CARGO_BIN
+	find $(@D)/build/tmp/dist -maxdepth 2 -wholename '*cargo*/install.sh' \
+		-exec {} --prefix=$(HOST_DIR) --disable-ldconfig \;
+endef
+
+define HOST_RUST_INSTALL_CARGO_CONFIG
+	$(INSTALL) -D package/rust/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
+
+define HOST_RUST_INSTALL_CMDS
+	$(HOST_RUST_INSTALL_RUST_BIN)
+	$(HOST_RUST_INSTALL_CARGO_BIN)
+	$(HOST_RUST_INSTALL_CARGO_CONFIG)
+endef
+
 $(eval $(host-generic-package))
-- 
2.17.1

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

* [Buildroot] [PATCH v2 2/9] package/cargo-bin: install if rust-bin selected
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 3/9] package/rust-bin: host variant depends on host-cargo-bin Patrick Havelange
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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.

Also install configuration file, reusing the one from rust package.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
---
 package/cargo-bin/cargo-bin.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk
index 3614f7a53d..4a3d52e43b 100644
--- a/package/cargo-bin/cargo-bin.mk
+++ b/package/cargo-bin/cargo-bin.mk
@@ -10,4 +10,11 @@ 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
+HOST_CARGO_BIN_POST_INSTALL_HOOKS += HOST_RUST_INSTALL_CARGO_CONFIG
+endif
+
 $(eval $(host-generic-package))
-- 
2.17.1

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

* [Buildroot] [PATCH v2 3/9] package/rust-bin: host variant depends on host-cargo-bin
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 2/9] package/cargo-bin: install if rust-bin selected Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 4/9] package/rust: drop dependency " Patrick Havelange
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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>
---
 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.17.1

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

* [Buildroot] [PATCH v2 4/9] package/rust: drop dependency on host-cargo-bin
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 2/9] package/cargo-bin: install if rust-bin selected Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 3/9] package/rust-bin: host variant depends on host-cargo-bin Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 5/9] package/ripgrep: depends on host-rustc Patrick Havelange
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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>
---
 package/rust/rust.mk | 1 -
 1 file changed, 1 deletion(-)

diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 901995c203..50ed08901c 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.17.1

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

* [Buildroot] [PATCH v2 5/9] package/ripgrep: depends on host-rustc
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (2 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 4/9] package/rust: drop dependency " Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 6/9] package/cargo: drop package Patrick Havelange
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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>

---
Changes v1 -> v2:
  - ripgrep/Config.in still needs to select HOST_RUSTC
---
 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.17.1

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

* [Buildroot] [PATCH v2 6/9] package/cargo: drop package
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (3 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 5/9] package/ripgrep: depends on host-rustc Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 7/9] docs/manual: cargo packages depend on host-rustc Patrick Havelange
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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>

---
Changes v1 -> v2:
  - Also update DEVELOPERS file
  - Also update tests/package/test_rust.py
---
 DEVELOPERS                                 |  1 -
 package/Config.in.host                     |  1 -
 package/cargo/Config.in.host               |  9 ---
 package/cargo/cargo.hash                   |  8 --
 package/cargo/cargo.mk                     | 91 ----------------------
 package/cargo/config.in                    |  2 -
 support/testing/tests/package/test_rust.py |  2 -
 7 files changed, 114 deletions(-)
 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/cargo/config.in

diff --git a/DEVELOPERS b/DEVELOPERS
index 5652fc3555..aca4fd2506 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -707,7 +707,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 a387281b4c..0000000000
--- a/package/cargo/cargo.mk
+++ /dev/null
@@ -1,91 +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
-	$(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/cargo/config.in
deleted file mode 100644
index 47fad026be..0000000000
--- a/package/cargo/config.in
+++ /dev/null
@@ -1,2 +0,0 @@
-[target. at RUSTC_TARGET_NAME@]
-linker = "@CROSS_PREFIX at gcc"
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.17.1

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

* [Buildroot] [PATCH v2 7/9] docs/manual: cargo packages depend on host-rustc
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (4 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 6/9] package/cargo: drop package Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 8/9] package/rust: bump to 1.40 Patrick Havelange
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 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>
---
 docs/manual/adding-packages-cargo.txt | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.txt
index b6029e1eed..b83f86e9e6 100644
--- a/docs/manual/adding-packages-cargo.txt
+++ b/docs/manual/adding-packages-cargo.txt
@@ -18,11 +18,10 @@ 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
-05: 	help
-06: 	  This is a comment that explains what foo is.
-07:
-08: 	  http://foosoftware.org/foo/
+04: 	help
+05: 	  This is a comment that explains what foo is.
+06:
+07: 	  http://foosoftware.org/foo/
 ---------------------------
 
 ==== Cargo-based package's +.mk+ file
@@ -44,7 +43,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.17.1

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

* [Buildroot] [PATCH v2 8/9] package/rust: bump to 1.40
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (5 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 7/9] docs/manual: cargo packages depend on host-rustc Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 9/9] package/cargo-bin: remove and use cargo-bin from rust-bin package Patrick Havelange
  2020-01-20 15:51 ` [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Sam Voss
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 UTC (permalink / raw)
  To: buildroot

- 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>
---
 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 4a3d52e43b..09dd58e3df 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 50ed08901c..e5d0e2ee71 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.17.1

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

* [Buildroot] [PATCH v2 9/9] package/cargo-bin: remove and use cargo-bin from rust-bin package
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (6 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 8/9] package/rust: bump to 1.40 Patrick Havelange
@ 2020-01-15 13:26 ` Patrick Havelange
  2020-01-20 15:51 ` [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Sam Voss
  8 siblings, 0 replies; 10+ messages in thread
From: Patrick Havelange @ 2020-01-15 13:26 UTC (permalink / raw)
  To: buildroot

Also added hashes for rust-bin powerpc64le.

Signed-off-by: Patrick Havelange <patrick.havelange@essensium.com>
---
 DEVELOPERS                       |  1 -
 package/cargo-bin/cargo-bin.hash | 13 -------------
 package/cargo-bin/cargo-bin.mk   | 20 --------------------
 package/rust-bin/rust-bin.hash   | 15 +++++++++------
 package/rust-bin/rust-bin.mk     | 28 ++++++++++++----------------
 package/rust/rust.mk             |  2 +-
 6 files changed, 22 insertions(+), 57 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 aca4fd2506..bd78e100f6 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -706,7 +706,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 09dd58e3df..0000000000
--- a/package/cargo-bin/cargo-bin.mk
+++ /dev/null
@@ -1,20 +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
-HOST_CARGO_BIN_POST_INSTALL_HOOKS += HOST_RUST_INSTALL_CARGO_CONFIG
-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 e5d0e2ee71..a473b5e8af 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.17.1

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

* [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo
  2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
                   ` (7 preceding siblings ...)
  2020-01-15 13:26 ` [Buildroot] [PATCH v2 9/9] package/cargo-bin: remove and use cargo-bin from rust-bin package Patrick Havelange
@ 2020-01-20 15:51 ` Sam Voss
  8 siblings, 0 replies; 10+ messages in thread
From: Sam Voss @ 2020-01-20 15:51 UTC (permalink / raw)
  To: buildroot

Patrick, All,

On Wed, Jan 15, 2020 at 7:27 AM Patrick Havelange
<patrick.havelange@essensium.com> 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.
>
> 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>

> ---
>  package/rust/config.in |  2 ++
>  package/rust/rust.mk   | 25 ++++++++++++++++++++++++-
>  2 files changed, 26 insertions(+), 1 deletion(-)
>  create mode 100644 package/rust/config.in
>
> diff --git a/package/rust/config.in b/package/rust/config.in
> new file mode 100644
> index 0000000000..47fad026be
> --- /dev/null
> +++ b/package/rust/config.in
> @@ -0,0 +1,2 @@
> +[target. at RUSTC_TARGET_NAME@]
> +linker = "@CROSS_PREFIX at gcc"
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 5d14fc6682..901995c203 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)]'; \
> @@ -64,9 +67,29 @@ define HOST_RUST_BUILD_CMDS
>         cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py build
>  endef
>
> -define HOST_RUST_INSTALL_CMDS
> +define HOST_RUST_INSTALL_RUST_BIN
>         cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py dist
>         cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python2 x.py install
>  endef
>
> +define HOST_RUST_INSTALL_CARGO_BIN
> +       find $(@D)/build/tmp/dist -maxdepth 2 -wholename '*cargo*/install.sh' \
> +               -exec {} --prefix=$(HOST_DIR) --disable-ldconfig \;
> +endef
> +
> +define HOST_RUST_INSTALL_CARGO_CONFIG
> +       $(INSTALL) -D package/rust/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
> +
> +define HOST_RUST_INSTALL_CMDS
> +       $(HOST_RUST_INSTALL_RUST_BIN)
> +       $(HOST_RUST_INSTALL_CARGO_BIN)
> +       $(HOST_RUST_INSTALL_CARGO_CONFIG)
> +endef
> +
>  $(eval $(host-generic-package))
> --
> 2.17.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



-- 

Sam Voss | Sr. Software Engineer | Commercial Avionics

COLLINS AEROSPACE

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

Tel: +1 319 263 4039

sam.voss 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.

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

end of thread, other threads:[~2020-01-20 15:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15 13:26 [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 2/9] package/cargo-bin: install if rust-bin selected Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 3/9] package/rust-bin: host variant depends on host-cargo-bin Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 4/9] package/rust: drop dependency " Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 5/9] package/ripgrep: depends on host-rustc Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 6/9] package/cargo: drop package Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 7/9] docs/manual: cargo packages depend on host-rustc Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 8/9] package/rust: bump to 1.40 Patrick Havelange
2020-01-15 13:26 ` [Buildroot] [PATCH v2 9/9] package/cargo-bin: remove and use cargo-bin from rust-bin package Patrick Havelange
2020-01-20 15:51 ` [Buildroot] [PATCH v2 1/9] package/rust: build and install cargo Sam Voss

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.