From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 12 Aug 2021 11:45:27 +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 1mE7HD-0007Rv-Ee for lore@lore.pengutronix.de; Thu, 12 Aug 2021 11:45:27 +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 1mE7HC-0006Bz-4m; Thu, 12 Aug 2021 11:45:26 +0200 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mE7Gh-0006Bm-EB for ptxdist@pengutronix.de; Thu, 12 Aug 2021 11:44:59 +0200 Received: by mail-wm1-x32b.google.com with SMTP id f10so897666wml.2 for ; Thu, 12 Aug 2021 02:44:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uUcLf6x9xGAvtFJSBw0FO9v/a+N09heIvhzqZ7NzGJA=; b=uZwMFe8IRUYmad7IKuPzAc4k7CYoHE08ZSgosY8Anq1BgGu5ISmHvTuSI9sv82g4HV vjFtoXJTyecAgvJnke1LSFplKeNd31b9Ga8mOs0pSaxl0WI0Kl8o72Vjn7VpLECfHMN7 TCnrZc4pgXCkqmJGAEwGLybdsV/+Bm7MK84JL4rhZZ7ulTYZESNrC0BE+nbqYhOJqap+ lA/bi2DpGCVfd3QplDk1VDTZvxax+OB13//Uk0pYiWdTddi0jKB4I332PQf44JrYBu24 EYSBdjLTubIyaqfjHqPlYe68QogtXyWt0HvALhOcqfPON3gTYmikO8Txstht4zjzj9E+ itqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uUcLf6x9xGAvtFJSBw0FO9v/a+N09heIvhzqZ7NzGJA=; b=T3qf536VhbsfXi3Y3ZXXFjozYTUuxXiQzmbBfeqvQpHV5nEVJCVCIt54ftjYn1uRD9 9/8NNDyKC3frwLbZ3gMSviIdnDcNkcf4nhSKuAeEsRMFPi6w9AXZJokCjXob0+fyjbEP 0HItDtr1+kxv5CH//NXIEueVpUx1Ffp2CLMkbFJymi8jZ81qsN921ol0qTV+Taa/3Qet mZ6jdQhVL2JHtwkXPTTcOQ5BuA6kb+gypwzigOTKgZa9eZx54/pbM30xhoo9Xc6ykPEX zdWPI3+M2LTqML23sdfED0ZLI6403RF0aAiXgvFJy0LHU91F3+e+TxU/o9bJ01m0Pchi Dc1A== X-Gm-Message-State: AOAM531BfqRvhHsxmpN7gRjyq5Dl+x9tOoku4zRD0iRjFQLmZgTAggfo DAqf4r5DyS+lb5eQ93EWQkYa/mWlJ28= X-Google-Smtp-Source: ABdhPJwtJoADu3sp84OH73N34cVh7rXpe3l+mYcSUIQMEjyg611gobEGoM8g+UKpNNHZ9ruChbCHtg== X-Received: by 2002:a05:600c:190f:: with SMTP id j15mr3007880wmq.11.1628761494071; Thu, 12 Aug 2021 02:44:54 -0700 (PDT) Received: from PC-M51.home ([92.59.21.222]) by smtp.googlemail.com with ESMTPSA id d7sm2317226wrs.39.2021.08.12.02.44.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Aug 2021 02:44:53 -0700 (PDT) From: avazquez.dev@gmail.com To: ptxdist@pengutronix.de Date: Thu, 12 Aug 2021 11:44:44 +0200 Message-Id: <20210812094444.55483-1-avazquez.dev@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=4.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH v2] cross-rustc: 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: Alejandro Vazquez 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 From: Alejandro Vazquez 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 --- 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 +# +# 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 ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de