summaryrefslogtreecommitdiff
path: root/sys-devel/rust-std
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
commit185fa19bbf68a4d4dca534d2b46729207a177f16 (patch)
treea8a537b82fda83a0799c2ca9887f212558363aa7 /sys-devel/rust-std
parentc8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff)
gentoo resync : 11.05.2021
Diffstat (limited to 'sys-devel/rust-std')
-rw-r--r--sys-devel/rust-std/Manifest5
-rw-r--r--sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch43
-rw-r--r--sys-devel/rust-std/rust-std-1.51.0.ebuild2
-rw-r--r--sys-devel/rust-std/rust-std-1.52.1.ebuild154
4 files changed, 203 insertions, 1 deletions
diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest
index 7e30200d0ca0..33a6f170f616 100644
--- a/sys-devel/rust-std/Manifest
+++ b/sys-devel/rust-std/Manifest
@@ -1,3 +1,6 @@
+AUX 1.51.0-bootstrap-panic.patch 1508 BLAKE2B c5fec1047e0fd5ec7413a4555edb427f192ab5f7e6012ca52ecb5809034f932c5acc4a2be17cf7ac2e344acfdcbb380dbf208fab45635f264924389ef044c0fc SHA512 9209503c56b56bbc3aaafc7bc5a91b53099f24b21d19a345270ede4963a5cafe82161a419653cf25ee05a3e02a86d0cbfc63947d9c9a78506ab6e516fd94488f
DIST rustc-1.51.0-src.tar.xz 109596164 BLAKE2B c1ac89655adfe7db8005476d42c748cf1896f52888141229fd6dda43855dbb08c21c8e1f11398d2f1f9dd5f8d508d9158a3bda4f1b282d1b184ea4c701100837 SHA512 ded91468ddf3e6627f00e7ec3d44452aa24eb727a183c0de9d90264f593119a54300d56b09251a88260db480b48554181ae195c538996a32d68d48b6587ac0df
-EBUILD rust-std-1.51.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3
+DIST rustc-1.52.1-src.tar.xz 115109508 BLAKE2B c5d73f5884037d287d88ba9fdaf63a36678b692e1b510920045797ab29f1660f05cda901e19411ff83ec3084c4130034c269976b1056220f3e629cff116d07f0 SHA512 55f5053ce40d4eba4663052817aef6a6275139ca229c89cd1ec44711458b412720203301d8c7975aac5720a91fcaf21847f8184f641cbb0004f722520283c73c
+EBUILD rust-std-1.51.0.ebuild 3432 BLAKE2B 3e1190dea4bcce01f58843ab7ff3577de9b573cbb2b7d5ceaa346c994f0343343740aaea657cb8359c40c1d4e993255ea540ec49fb5168a00a933916848d5ec5 SHA512 d50bef61cd3f49e044612bbee7f52dbb57ae0290e030acf1d1ad56b4d7d166a11fd07766ffde6fbad7fe359e4d36ffb0357b76ef3df8fe5e962076033a4639fc
+EBUILD rust-std-1.52.1.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3
MISC metadata.xml 818 BLAKE2B 32766ac24fada44b46f8d4ef77164a4e4843b876347056223184ec6fe48af9a6e2fa7d3e1fd48dec299f328f37fbdf4c84225a7450b788ce3e6c92e87bf8f313 SHA512 c1c4a46790dedc83b6890bbb536927148b293eed7f4d3bbd1f602b7664a9b303ca9689d4d1d35ed8047c2c909d64145fc4098efbec279f630b86207b0216ca80
diff --git a/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch b/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch
new file mode 100644
index 000000000000..529d5a1f402f
--- /dev/null
+++ b/sys-devel/rust-std/files/1.51.0-bootstrap-panic.patch
@@ -0,0 +1,43 @@
+From 31c93397bde772764cda3058e16f9cef61895090 Mon Sep 17 00:00:00 2001
+From: Joshua Nelson <jyn514@gmail.com>
+Date: Mon, 8 Feb 2021 22:51:21 -0500
+Subject: [PATCH] Use format string in bootstrap panic instead of a string
+ directly
+
+This fixes the following warning when compiling with nightly:
+
+```
+warning: panic message is not a string literal
+ --> src/bootstrap/builder.rs:1515:24
+ |
+1515 | panic!(out);
+ | ^^^
+ |
+ = note: `#[warn(non_fmt_panic)]` on by default
+ = note: this is no longer accepted in Rust 2021
+help: add a "{}" format string to Display the message
+ |
+1515 | panic!("{}", out);
+ | ^^^^^
+help: or use std::panic::panic_any instead
+ |
+1515 | std::panic::panic_any(out);
+ | ^^^^^^^^^^^^^^^^^^^^^^
+```
+---
+ src/bootstrap/builder.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
+index f1a160250dbe1..0f5fcb4af400d 100644
+--- a/src/bootstrap/builder.rs
++++ b/src/bootstrap/builder.rs
+@@ -1490,7 +1490,7 @@ impl<'a> Builder<'a> {
+ for el in stack.iter().rev() {
+ out += &format!("\t{:?}\n", el);
+ }
+- panic!(out);
++ panic!("{}", out);
+ }
+ if let Some(out) = self.cache.get(&step) {
+ self.verbose(&format!("{}c {:?}", " ".repeat(stack.len()), step));
diff --git a/sys-devel/rust-std/rust-std-1.51.0.ebuild b/sys-devel/rust-std/rust-std-1.51.0.ebuild
index 7ca481644a6a..935388d41a01 100644
--- a/sys-devel/rust-std/rust-std-1.51.0.ebuild
+++ b/sys-devel/rust-std/rust-std-1.51.0.ebuild
@@ -38,6 +38,8 @@ QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
S="${WORKDIR}/${P/-std/c}-src"
+PATCHES=( "${FILESDIR}"/1.51.0-bootstrap-panic.patch )
+
#
# The cross magic
#
diff --git a/sys-devel/rust-std/rust-std-1.52.1.ebuild b/sys-devel/rust-std/rust-std-1.52.1.ebuild
new file mode 100644
index 000000000000..7ca481644a6a
--- /dev/null
+++ b/sys-devel/rust-std/rust-std-1.52.1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs
+
+DESCRIPTION="Rust standard library, standalone (for crossdev)"
+HOMEPAGE="https://www.rust-lang.org"
+SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable/$(ver_cut 1-2)"
+# please do not keyword
+#KEYWORDS="" #nowarn
+IUSE="debug"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/rust-${PV}:=
+"
+
+DEPEND="||
+ (
+ >="${CATEGORY}"/gcc-4.7:*
+ >="${CATEGORY}"/clang-3.5:*
+ )
+"
+
+RDEPEND="${DEPEND}"
+
+# need full compiler to run tests
+RESTRICT="test"
+
+QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
+
+S="${WORKDIR}/${P/-std/c}-src"
+
+#
+# The cross magic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pkg_pretend() {
+ is_cross || die "${PN} should only be used for cross"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+}
+
+src_configure() {
+ # do the great cleanup
+ strip-flags
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
+ strip-unsupported-flags
+
+ local rust_root x
+ rust_root="$(rustc --print sysroot)"
+ rtarget="$(rust_abi ${CTARGET})"
+ rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom.
+ rbuild="$(rust_abi ${CBUILD})"
+ rhost="$(rust_abi ${CHOST})"
+
+ echo
+ for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do
+ einfo "$(printf '%10s' ${x^^}:) ${!x}"
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [build]
+ build = "${rbuild}"
+ host = ["${rhost}"]
+ target = ["${rtarget}"]
+ cargo = "${rust_root}/bin/cargo"
+ rustc = "${rust_root}/bin/rustc"
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ verbose = 2
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debuginfo-level-rustc = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ rpath = false
+ dist-src = false
+ remap-debuginfo = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${rtarget}]
+ cc = "$(tc-getCC ${CTARGET})"
+ cxx = "$(tc-getCXX ${CTARGET})"
+ linker = "$(tc-getCC ${CTARGET})"
+ ar = "$(tc-getAR ${CTARGET})"
+ $(usex elibc_musl 'crt-static = false' '')
+ EOF
+
+ einfo "${PN^} configured with the following settings:"
+ cat "${S}"/config.toml || die
+}
+
+src_compile() {
+ env RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
+ library/std --stage 0 || die
+}
+
+src_test() {
+ ewarn "${PN} can't run tests"
+}
+
+src_install() {
+ local rustlib="lib/rust/${PV}/lib/rustlib"
+ dodir "/usr/${rustlib}"
+ pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
+ cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
+ popd > /dev/null || die
+}