From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 04 Aug 2021 09:41:42 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mBBX4-0007An-81 for lore@lore.pengutronix.de; Wed, 04 Aug 2021 09:41:42 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mBBX3-0000nx-Qt; Wed, 04 Aug 2021 09:41:41 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBBWe-0000mT-Gc; Wed, 04 Aug 2021 09:41:16 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mBBWe-0008PM-04; Wed, 04 Aug 2021 09:41:16 +0200 Received: from mol by dude03.red.stw.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1mBBWd-004ul7-VS; Wed, 04 Aug 2021 09:41:15 +0200 Date: Wed, 4 Aug 2021 09:41:15 +0200 From: Michael Olbrich To: avazquez.dev@gmail.com Message-ID: <20210804074115.GC2534932@pengutronix.de> Mail-Followup-To: avazquez.dev@gmail.com, ptxdist@pengutronix.de References: <20210730174156.187572-1-avazquez.dev@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210730174156.187572-1-avazquez.dev@gmail.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [ptxdist] [PATCH] rust: new package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false On Fri, Jul 30, 2021 at 07:41:56PM +0200, avazquez.dev@gmail.com wrote: > From: Alejandro Vazquez > > - host-rust: This package provides a pre-built version of rustc, > cargo and standard library for the host. > - host-rust-std-target: A pre-built version of the standard library for > the target. No. The compiler should be built not just downloaded. Please take a look at the latest OSELAS.Toolchain. It contains a rust compiler and std libraries for the target. I've done very little testing with that so far and I would be interested in some feedback. Especially if something isn't working. Also, I'm pretty sure that there are some hidden downloads in there for cargo and maybe the host std library. So if you keep those rules locally, you should add that to the downloads. This way, they will be cached with the rest of the source. Take a look at what I did for the toolchain. Michael > Signed-off-by: Alejandro Vazquez > --- > rules/host-rust-std-target.in | 18 ++++++++ > rules/host-rust-std-target.make | 81 +++++++++++++++++++++++++++++++++ > rules/host-rust.in | 8 ++++ > rules/host-rust.make | 80 ++++++++++++++++++++++++++++++++ > 4 files changed, 187 insertions(+) > create mode 100644 rules/host-rust-std-target.in > create mode 100644 rules/host-rust-std-target.make > create mode 100644 rules/host-rust.in > create mode 100644 rules/host-rust.make > > diff --git a/rules/host-rust-std-target.in b/rules/host-rust-std-target.in > new file mode 100644 > index 000000000..ed47f8c89 > --- /dev/null > +++ b/rules/host-rust-std-target.in > @@ -0,0 +1,18 @@ > +## SECTION=hosttools > + > +menuconfig HOST_RUST_STD_TARGET > + bool > + select HOST_RUST > + prompt "host-rust-std-target (pre-built)" > + help > + This package will install pre-built versions of > + the Rust standard library for the target. > + > +if HOST_RUST_STD_TARGET > + > +config HOST_RUST_STD_TARGET_ARCH > + string > + default "armv7-unknown-linux-gnueabihf" > + prompt "Target Architecture" > + > +endif > diff --git a/rules/host-rust-std-target.make b/rules/host-rust-std-target.make > new file mode 100644 > index 000000000..f41c2caa1 > --- /dev/null > +++ b/rules/host-rust-std-target.make > @@ -0,0 +1,81 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2021 by Alejandro Vazquez > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_HOST_RUST_STD_TARGET) += host-rust-std-target > + > +# > +# Paths and names > +# > +HOST_RUST_STD_TARGET_VERSION := 1.53.0 > +HOST_RUST_STD_TARGET_MD5 := 6eeb959f5a9294adc8220e79502b00df > +HOST_RUST_STD_TARGET_SUFFIX := tar.xz > +HOST_RUST_STD_TARGET_SPEC := $(call remove_quotes, $(PTXCONF_HOST_RUST_STD_TARGET_ARCH)) > +HOST_RUST_STD_TARGET := rust-std-$(HOST_RUST_STD_TARGET_VERSION) > +HOST_RUST_STD_TARGET_NAME := $(HOST_RUST_STD_TARGET)-$(HOST_RUST_STD_TARGET_SPEC) > +HOST_RUST_STD_TARGET_URL := https://static.rust-lang.org/dist/$(HOST_RUST_STD_TARGET_NAME).$(HOST_RUST_STD_TARGET_SUFFIX) > +HOST_RUST_STD_TARGET_DIR := $(HOST_BUILDDIR)/$(HOST_RUST_STD_TARGET) > +HOST_RUST_STD_TARGET_SOURCE := $(SRCDIR)/$(HOST_RUST_STD_TARGET_NAME).$(HOST_RUST_STD_TARGET_SUFFIX) > +HOST_RUST_STD_TARGET_LICENSE := Apache-2.0 AND MIT > +HOST_RUST_STD_TARGET_LICENSE_FILES := \ > + file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0 \ > + file://LICENSE-APACHE;md5=22a53954e4e0ec258dfce4391e905dac \ > + file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +HOST_RUST_STD_TARGET_DEVPKG := NO > +HOST_RUST_STD_TARGET_CONF_TOOL := NO > + > +HOST_RUST_STD_TARGET_INSTALL_COMPONENTS = --components=rust-std-$(HOST_RUST_STD_TARGET_SPEC) > + > +HOST_RUST_STD_TARGET_INSTALL_OPTS = \ > + --prefix=$(PTXDIST_SYSROOT_HOST) \ > + --without=rust-docs \ > + --disable-ldconfig \ > + $(HOST_RUST_STD_TARGET_INSTALL_COMPONENTS) > + > +# ---------------------------------------------------------------------------- > +# Compile > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust-std-target.compile: > + @$(call targetinfo) > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust-std-target.install.post: > + @$(call targetinfo) > + > + @cd "$(HOST_RUST_STD_TARGET_DIR)" && sh install.sh $(HOST_RUST_STD_TARGET_INSTALL_OPTS) > + @cd "$(PTXDIST_SYSROOT_HOST)/lib/rustlib/" && mv uninstall.sh uninstall-target.sh > + > + @$(call world/install, HOST_RUST_STD_TARGET) > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Clean > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust-std-target.clean: > + @$(call targetinfo) > + > + sh $(PTXDIST_SYSROOT_HOST)/lib/rustlib/uninstall-host.sh \ > + --uninstall \ > + --prefix=$(PTXDIST_SYSROOT_HOST) \ > + $(HOST_RUST_STD_TARGET_INSTALL_COMPONENTS) > + @$(call clean_pkg, HOST_RUST_STD_TARGET) > + > +# vim: syntax=make > diff --git a/rules/host-rust.in b/rules/host-rust.in > new file mode 100644 > index 000000000..4f73dae6c > --- /dev/null > +++ b/rules/host-rust.in > @@ -0,0 +1,8 @@ > +## SECTION=hosttools > + > +config HOST_RUST > + tristate > + prompt "host-rust (pre-built)" > + help > + This package will install pre-built versions of the compiler > + and the Rust standard library for the host. > diff --git a/rules/host-rust.make b/rules/host-rust.make > new file mode 100644 > index 000000000..e750a1352 > --- /dev/null > +++ b/rules/host-rust.make > @@ -0,0 +1,80 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2021 by Alejandro Vazquez > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_HOST_RUST) += host-rust > + > +# > +# Paths and names > +# > +HOST_RUST_VERSION := 1.53.0 > +HOST_RUST_MD5 := 3f2ea3d908dac317d6006a117463f18e > +HOST_RUST := rust-$(HOST_RUST_VERSION) > +HOST_RUST_SUFFIX := tar.xz > +HOST_RUST_NAME := $(HOST_RUST)-$(subst host,unknown,$(GNU_HOST)) > +HOST_RUST_URL := https://static.rust-lang.org/dist/$(HOST_RUST_NAME).$(HOST_RUST_SUFFIX) > +HOST_RUST_DIR := $(HOST_BUILDDIR)/$(HOST_RUST_NAME) > +HOST_RUST_SOURCE := $(SRCDIR)/$(HOST_RUST_NAME).$(HOST_RUST_SUFFIX) > +HOST_RUST_LICENSE := Apache-2.0 AND MIT > +HOST_RUST_LICENSE_FILES := \ > + file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0 \ > + file://LICENSE-APACHE;md5=22a53954e4e0ec258dfce4391e905dac \ > + file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +HOST_RUST_DEVPKG := NO > +HOST_RUST_CONF_TOOL := NO > + > +HOST_RUST_INSTALL_COMPONENTS = --components=rustc,cargo,rust-std-$(subst host,unknown,$(GNU_HOST)) > + > +HOST_RUST_INSTALL_OPTS = \ > + --prefix=$(PTXDIST_SYSROOT_HOST) \ > + --without=rust-docs \ > + --disable-ldconfig \ > + $(HOST_RUST_INSTALL_COMPONENTS) > + > +# ---------------------------------------------------------------------------- > +# Compile > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust.compile: > + @$(call targetinfo) > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust.install.post: > + @$(call targetinfo) > + > + @cd "$(HOST_RUST_DIR)" && sh install.sh $(HOST_RUST_INSTALL_OPTS) > + @cd "$(PTXDIST_SYSROOT_HOST)/lib/rustlib/" && mv uninstall.sh uninstall-host.sh > + > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Clean > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/host-rust.clean: > + @$(call targetinfo) > + > + sh $(PTXDIST_SYSROOT_HOST)/lib/rustlib/uninstall-host.sh \ > + --uninstall \ > + --prefix=$(PTXDIST_SYSROOT_HOST) \ > + $(HOST_RUST_INSTALL_COMPONENTS) > + > + @$(call clean_pkg, HOST_RUST) > + > +# vim: syntax=make > -- > 2.25.1 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de > To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de