From: Alejandro Vazquez <[email protected]> cross-rustc: This package provides a pre-built version of rustc, cargo for the host and standard library for the host and target.
Signed-off-by: Alejandro Vazquez <[email protected]> --- Changes since v1: - merge the rules: host-rust and host-rust-std-target rules/cross-rustc.in | 18 +++++++ rules/cross-rustc.make | 114 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 rules/cross-rustc.in create mode 100644 rules/cross-rustc.make diff --git a/rules/cross-rustc.in b/rules/cross-rustc.in new file mode 100644 index 000000000..8f89b2370 --- /dev/null +++ b/rules/cross-rustc.in @@ -0,0 +1,18 @@ +## SECTION=crosstools + +menuconfig CROSS_RUSTC + bool + prompt "cross-rust (pre-built)" + help + This package will install pre-built versions of the compiler + and Cargo for the host. And the Rust standard library for + the host and target. + +if CROSS_RUSTC + +config CROSS_RUSTC_STD_TARGET_ARCH + string + default "armv7-unknown-linux-gnueabihf" + prompt "Target Architecture" + +endif diff --git a/rules/cross-rustc.make b/rules/cross-rustc.make new file mode 100644 index 000000000..da7ae3ff1 --- /dev/null +++ b/rules/cross-rustc.make @@ -0,0 +1,114 @@ +# -*-makefile-*- +# +# Copyright (C) 2021 by Alejandro Vazquez <[email protected]> +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_CROSS_RUSTC) += cross-rustc + +# +# Paths and names +# +CROSS_RUSTC_VERSION := 1.54.0 +CROSS_RUSTC_MD5 := 12cfee7377dafd0583fe53d7ed5d45fb +CROSS_RUSTC := rust-$(CROSS_RUSTC_VERSION) +CROSS_RUSTC_SUFFIX := tar.xz +CROSS_RUSTC_NAME := $(CROSS_RUSTC)-$(subst host,unknown,$(GNU_HOST)) +CROSS_RUSTC_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC_NAME).$(CROSS_RUSTC_SUFFIX) +CROSS_RUSTC_DIR := $(CROSS_BUILDDIR)/$(CROSS_RUSTC_NAME) +CROSS_RUSTC_SOURCE := $(SRCDIR)/$(CROSS_RUSTC_NAME).$(CROSS_RUSTC_SUFFIX) +CROSS_RUSTC_LICENSE := Apache-2.0 AND MIT +CROSS_RUSTC_LICENSE_FILES := \ + file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0 \ + file://LICENSE-APACHE;md5=22a53954e4e0ec258dfce4391e905dac \ + file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d + +CROSS_RUSTC_STD_TARGET_MD5 := 7721d6f1676cd637430a40bd38ec8874 +CROSS_RUSTC_STD_TARGET_SUFFIX := tar.xz +CROSS_RUSTC_STD_TARGET_SPEC := $(call remove_quotes, $(PTXCONF_CROSS_RUSTC_STD_TARGET_ARCH)) +CROSS_RUSTC_STD_TARGET := rust-std-$(CROSS_RUSTC_VERSION)-$(CROSS_RUSTC_STD_TARGET_SPEC) +CROSS_RUSTC_STD_TARGET_URL := https://static.rust-lang.org/dist/$(CROSS_RUSTC_STD_TARGET).$(CROSS_RUSTC_STD_TARGET_SUFFIX) +CROSS_RUSTC_STD_TARGET_DIR := $(CROSS_BUILDDIR)/$(CROSS_RUSTC_STD_TARGET) +CROSS_RUSTC_STD_TARGET_SOURCE := $(SRCDIR)/$(CROSS_RUSTC_STD_TARGET).$(CROSS_RUSTC_STD_TARGET_SUFFIX) +$(CROSS_RUSTC_STD_TARGET_SOURCE) := CROSS_RUSTC_STD_TARGET +CROSS_RUSTC_SOURCES += $(CROSS_RUSTC_STD_TARGET_SOURCE) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +$(STATEDIR)/cross-rustc.extract: + @$(call targetinfo) + @$(call clean, $(CROSS_RUSTC_DIR)) + @$(call clean, $(CROSS_RUSTC_STD_TARGET_DIR)) + @$(call extract, CROSS_RUSTC) + @$(call extract, CROSS_RUSTC_STD_TARGET) + #@$(call patchin, CROSS_RUSTC) + #@$(call patchin, CROSS_RUSTC_STD_TARGET) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +CROSS_RUSTC_DEVPKG := NO +CROSS_RUSTC_CONF_TOOL := NO + +CROSS_RUSTC_INSTALL_COMPONENTS = --components=rustc,cargo,rust-std-$(subst host,unknown,$(GNU_HOST)) + +CROSS_RUSTC_INSTALL_COMMON_OPTS = \ + --prefix=$(PTXDIST_SYSROOT_CROSS) \ + --without=rust-docs \ + --disable-ldconfig \ + +CROSS_RUSTC_INSTALL_OPTS = \ + $(CROSS_RUSTC_INSTALL_COMMON_OPTS) \ + $(CROSS_RUSTC_INSTALL_COMPONENTS) + +CROSS_RUSTC_STD_TARGET_INSTALL_COMPONENTS = --components=rust-std-$(CROSS_RUSTC_STD_TARGET_SPEC) + +CROSS_RUSTC_STD_TARGET_INSTALL_OPTS = \ + $(CROSS_RUSTC_INSTALL_COMMON_OPTS) \ + $(CROSS_RUSTC_STD_TARGET_INSTALL_COMPONENTS) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +$(STATEDIR)/cross-rustc.compile: + @$(call targetinfo) + @$(call touch) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/cross-rustc.install.post: + @$(call targetinfo) + + @cd "$(CROSS_RUSTC_DIR)" && sh install.sh $(CROSS_RUSTC_INSTALL_OPTS) + + @cd "$(CROSS_RUSTC_STD_TARGET_DIR)" && sh install.sh $(CROSS_RUSTC_STD_TARGET_INSTALL_OPTS) + + @$(call touch) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +$(STATEDIR)/cross-rustc.clean: + @$(call targetinfo) + + + @if [ -f $(PTXDIST_SYSROOT_CROSS)/lib/rustlib/uninstall.sh ]; then \ + sh $(PTXDIST_SYSROOT_CROSS)/lib/rustlib/uninstall.sh; \ + fi + + @$(call clean_pkg, CROSS_RUSTC) + +# vim: syntax=make -- 2.25.1 _______________________________________________ ptxdist mailing list [email protected] To unsubscribe, send a mail with subject "unsubscribe" to [email protected]
