From 36c88f405120f90e729b841d200bc1b950beb82c Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 17 Apr 2018 10:49:47 -0400 Subject: [PATCH] bump(dev-lang/rust): sync with upstream --- .../portage-stable/dev-lang/rust/Manifest | 18 ++ .../rust/files/1.23.0-separate-libdir.patch | 180 ++++++++++++++++++ .../portage-stable/dev-lang/rust/metadata.xml | 17 ++ .../dev-lang/rust/rust-1.16.0.ebuild | 149 +++++++++++++++ .../dev-lang/rust/rust-1.19.0.ebuild | 166 ++++++++++++++++ .../dev-lang/rust/rust-1.23.0-r1.ebuild | 175 +++++++++++++++++ .../dev-lang/rust/rust-1.23.0.ebuild | 175 +++++++++++++++++ .../dev-lang/rust/rust-1.25.0.ebuild | 173 +++++++++++++++++ .../metadata/md5-cache/dev-lang/rust-1.16.0 | 15 ++ .../metadata/md5-cache/dev-lang/rust-1.19.0 | 15 ++ .../metadata/md5-cache/dev-lang/rust-1.23.0 | 14 ++ .../md5-cache/dev-lang/rust-1.23.0-r1 | 14 ++ .../metadata/md5-cache/dev-lang/rust-1.25.0 | 14 ++ 13 files changed, 1125 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.23.0-separate-libdir.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.16.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.19.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.25.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.16.0 create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.19.0 create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0 create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0-r1 create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.25.0 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest new file mode 100644 index 0000000000..fb9df0a557 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest @@ -0,0 +1,18 @@ +DIST cargo-0.19.0-i686-unknown-linux-gnu.tar.gz 5068212 BLAKE2B 4fd16e33b220ae496603cd5a16055557d96cbbf04943040c36f6121eb3b7e53d5644a6e0cd8794d3485bb323f0a719e921be8a944f466cd4dc317d82b1b8deea SHA512 bfe5df682eb566c91995b8c00b5e8edb5d2c3410d1baa5be2ede2e39260b653d34b7723c6c3e8f07d8102ffab50b13e62f9f2d816dad8fba9f39b7bec984181e +DIST cargo-0.19.0-x86_64-unknown-linux-gnu.tar.gz 5133993 BLAKE2B 39eed4905b06a9f28340b1ca0362dd9d592b5ab6a11ceb8a749069827b65b25c34b8020ca434b3174733dcdda2c38b460c7c0d9b877ff2fed1a790f5f70d9c5a SHA512 6fedb8f83d70dc4fb93a29d400577a5578ceed1448f4e85e8a9509b98b037a125532ebfb6a7e6bc9411501ea74774d2c47ac7e2bcb7ac82baeb925abc46609e8 +DIST rust-1.22.0-aarch64-unknown-linux-gnu.tar.gz 144904402 BLAKE2B d9b4349fa11c673130d9a9ecc9d3ac0653c20d2a2582118377c5a0e612d98db70457d8c5baa07e01a5aa65858aad1759f6fc8927dd4dfcfdcca4fca11179d529 SHA512 3a21f7b29c15ab54270be303e4ee053c944d04b971ad4c73243e1c44bbe5fe245170e80ca9617f77648e0e957c1faf0c7e59b7d9d9303bbf5017215b888e5e05 +DIST rust-1.22.0-i686-unknown-linux-gnu.tar.gz 151889962 BLAKE2B cf2f30fdc01cbcf45de427b5a5a226b8482f3fc13e122cc4f021a75f648678b23a789706b54b6425346bdba57224898809102d97bfee8b143f90763ea985b6c3 SHA512 b46eb37f918833f1dbf3700fe156f26eff19dc90534434add5aa2d86b8ccc02aef273cba6a8291deaa89d27d2bd4af1529655b6463f44736a9f521a67cccc4f0 +DIST rust-1.22.0-x86_64-unknown-linux-gnu.tar.gz 160427151 BLAKE2B f56a8205023ec39a5569e443f1c7954c55c9b2fe94126c03bcf9eadf4d26cb60d8ae9e8c6638550e79acc5906d865bdaaa5e0e61a63c9b23383afef673018638 SHA512 30206d5ccec432a6a92aeffb34170290109d65973a6d1cd91e7e1aa82781a0da00023275b5a3a3effad79d539d2f4829d1eea5fc3d0c1c58a7f3a4855a84785c +DIST rust-1.24.0-aarch64-unknown-linux-gnu.tar.gz 184157362 BLAKE2B 68b1b9471b6d26dbb2c3bf897d2bffc15d2fcd1fde774d4f23389e9ccb96fc60d8ec8c343b5f93651bced05bdf228d549c747f3f3d4de9c8232e99aa1b6bef6a SHA512 d15548a7b21ca4605ff24d098a59414548a315acd736ac4d8ac845399c9febdd810ba76fdf2dd9336325bd749866ee72f3d8c7c573b04a4d932d00cd7cac34c0 +DIST rust-1.24.0-i686-unknown-linux-gnu.tar.gz 193631843 BLAKE2B f19e9f717f5626b2267da4e661b53f45f7948a83a25156239af3cadb1184bf39669171364754f1787cdb78c3b62bd145bff1e3f4c3c7890f0dd52839bd8ae923 SHA512 3806bee5dccc080fae437bbc7f2e2062803244eb57c25e5e591e46279810c661bf016a4043e0af991b49b9e09a5d81ec275a852c3647a474507b03846d76aac0 +DIST rust-1.24.0-x86_64-unknown-linux-gnu.tar.gz 199663002 BLAKE2B 2373637eb4410c07328b3cbaecb56ca465956ec1a2f14786e00922d74c4e68760538383960080348be003bee656761f5bbd0aa871ea21e22d029b3f8ab5344a7 SHA512 63ecb84b31f586c85e25229fb673892567edc2f557ac2ca1958caf3e26aa4e6c9a55b410aeeeadf1a61a5ebd66a517106e942f923a2884ce69ee92aec622187b +DIST rust-std-1.18.0-i686-unknown-linux-gnu.tar.gz 66316236 BLAKE2B 64712595bd979b7eadb626198df1c43951cf040dd94e9b18821d5cc9807d6b3135c62129d89b8cbebe2aabb28e7fcbe22454cc7c4a66ef1a16db899f30e91671 SHA512 0649743437f15d80f7fe08ae32177b36e2a89e87db8062433cfa6d0f62fe7e8fdbc109a025c02dc110d8abdf4b74ddfe80ba8fb895992b0f5ac6a880bbbdf051 +DIST rust-std-1.18.0-x86_64-unknown-linux-gnu.tar.gz 75723132 BLAKE2B 1a0407be9f65db914dd5573daf4ca47804bd3254a3ef51b244c1952e91b5f1395f712dd2c82eb73623ad7da79bffcc8ac9b5e6e0404b3ffa300fe0292189caec SHA512 98f50016cf6f7c89f90830e1c9f41b5413adf2eaa5e2874ca117ffe84ee59fe77cb461ca3601ee65c5c5c884eb42e22509a94c00544527c727f2e3d6d0adb530 +DIST rustc-1.15.1-i686-unknown-linux-gnu.tar.gz 39314075 BLAKE2B 59e79324807d92d57e71588f82983457cd6f3fbbf7eb2bd9b63a84c16d15e30679bc7625dbd20b20da62a80ccdeed58825bee1357b3b7af9b4a5aa83ba5f3a60 SHA512 138a4a893a70860650da1636f734977c215e32b1f9b15b957bfc31575d2662ea6c2c65a130bd13647ec1f2366fe0deb26a94ea09aaec7cbda8e466fa295a0c42 +DIST rustc-1.15.1-x86_64-unknown-linux-gnu.tar.gz 37650863 BLAKE2B 15ad871d0c23c662d63093e372b730ea02c79e35bbe4e7cbad64d2ae4d3e43f94edabaa3ab7b0f18f198d22830754a1271a55b283a423d155b6274b9d17b9409 SHA512 97f2fd905b1c2c9ee1fb9a9604a931154aa928692e6334af5a60f1853e49246b13af26afb6342f085cf77e624f23e90c409f05b81983408cf0538ba1401ef7cb +DIST rustc-1.16.0-src.tar.gz 28470372 BLAKE2B 0b1f5156e97d8b6ecca086a818a9a15b667badcaf15a86e4ff9212c9f1e641e67ad82788008b3059d380e83fede7e7347f54209d9e85644decf6614c7d12f4ac SHA512 096b1b7406be9bc61161bb7cdd2061f2bc2174c161a31f4ed6ceecf7fc379f315fc2f7cb9f6c134ea4f8519c27bf6e5a3f712cf1e56d5785831d8c8374eb0ba5 +DIST rustc-1.18.0-i686-unknown-linux-gnu.tar.gz 47281118 BLAKE2B 96dbd061a048d74a4054356bc4073dc538aa0799dae362885909fc9fbd30e25ebe7da8215231a049ff83b6696d0e76a5741bc337c86a4b8d34fd0d4abc4e6170 SHA512 e270a314fb326fb226226741a5a15f237846ffb7ae6e0ab349f56328f5b3557d8b3dfdcfbc168f3ed4d9875806434537ce7bd5fb97b2c3078f7d03fd6ce65d2d +DIST rustc-1.18.0-x86_64-unknown-linux-gnu.tar.gz 45281645 BLAKE2B 3034a693aa808d1d489ce36db5a00ce7d239bef8265f322c6fe4f1f5a9d77cf8f9e447e2ca539f6d3e758214dd01224957d8c662eeedd76ffccad3ad4f341f3c SHA512 7d8865a43b979150c3dc3abaa852921f46bebb54659bb0f14bc9b82b367f94ec031da4d03242cb6aae8bd11167402b9e166a14aa3c4a141413be54e9a685af31 +DIST rustc-1.19.0-src.tar.gz 50108626 BLAKE2B ae6016f816f2c41b81668764e2892d7846226ff944be9f173d9d8818c22aeb21cc7457e346bd4c985f41d3d22df1dad009d1977a733bbf40ff6fb8a6f0854254 SHA512 080a8625fc15bc4fc17ab910bdcc0d9a88ce8922f1a3eb241d0f956b5799e4db6df45ebabb5497295c198be08686e5a94dff65569582fc6a5ecb9200cfee5c24 +DIST rustc-1.23.0-src.tar.gz 60010149 BLAKE2B 64bba97fd1a16d3162b65b0d8dd2024ca07166a4fb3d541a96216a27a392baac5f5addd9b3b223ce935df9437a0789cd5c3d8328957f983cc3317a63f13a4dcd SHA512 a1dbb1a625c6d8dfe9708e1cf478a49154b1eb0aba5ba67ac85518a8c7d1c70d2d86ac4d441156e9bfd0fd77ca241fb5491a2bd68aefcf0b3c2e164c3cc29e4e +DIST rustc-1.25.0-src.tar.gz 98639156 BLAKE2B 1408d5dd0611d4830de3b6b3d00e3fad4198a47599b639d0ac0bd05aaba401f743056a942e9df04a4d192c6b12e8cfe9a9cdf8cd26e48b72104ce9b423df049e SHA512 7d8886f4d5a621eb794e814deb60be681fa38cf086f87ffa14e5a3500c640b237c549a632de1331a0f1b71963de41f6d31a4df3866b7e597424002316fed81ce diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.23.0-separate-libdir.patch b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.23.0-separate-libdir.patch new file mode 100644 index 0000000000..dcf1762d2f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/files/1.23.0-separate-libdir.patch @@ -0,0 +1,180 @@ +From c520b2dd277f13dc09e8e72c486e5c58fb97017d Mon Sep 17 00:00:00 2001 +From: O01eg +Date: Wed, 29 Nov 2017 12:32:03 +0300 +Subject: [PATCH] Fix #45345. + +Re-implement + +```bash +CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-` +``` + +from old `configure` script. + +Accept verbosity in rustdoc. + +Stage 1 and later use relative libdir. + +Build all stages with relative libdirs. + +Add library path for real rustdoc with `RUSTDOC_LIBDIR` environment variable. + +Remove unused argument `rustc_cargo`. + +Remove unused configuration parameter `libdir_relative`. +--- + src/bootstrap/bin/rustdoc.rs | 13 ++++++++++++- + src/bootstrap/builder.rs | 9 ++++++--- + src/bootstrap/check.rs | 2 +- + src/bootstrap/compile.rs | 13 ++++--------- + src/bootstrap/config.rs | 1 - + src/bootstrap/doc.rs | 2 +- + 6 files changed, 24 insertions(+), 16 deletions(-) + +diff --git a/src/bootstrap/bin/rustdoc.rs b/src/bootstrap/bin/rustdoc.rs +index 4e975adc97..24312b50ec 100644 +--- a/src/bootstrap/bin/rustdoc.rs ++++ b/src/bootstrap/bin/rustdoc.rs +@@ -23,10 +23,17 @@ use std::path::PathBuf; + fn main() { + let args = env::args_os().skip(1).collect::>(); + let rustdoc = env::var_os("RUSTDOC_REAL").expect("RUSTDOC_REAL was not set"); +- let libdir = env::var_os("RUSTC_LIBDIR").expect("RUSTC_LIBDIR was not set"); ++ let libdir = env::var_os("RUSTDOC_LIBDIR").expect("RUSTDOC_LIBDIR was not set"); + let stage = env::var("RUSTC_STAGE").expect("RUSTC_STAGE was not set"); + let sysroot = env::var_os("RUSTC_SYSROOT").expect("RUSTC_SYSROOT was not set"); + ++ use std::str::FromStr; ++ ++ let verbose = match env::var("RUSTC_VERBOSE") { ++ Ok(s) => usize::from_str(&s).expect("RUSTC_VERBOSE should be an integer"), ++ Err(_) => 0, ++ }; ++ + let mut dylib_path = bootstrap::util::dylib_path(); + dylib_path.insert(0, PathBuf::from(libdir)); + +@@ -59,6 +66,10 @@ fn main() { + .arg("--crate-version").arg(version); + } + ++ if verbose > 1 { ++ eprintln!("rustdoc command: {:?}", cmd); ++ } ++ + std::process::exit(match cmd.status() { + Ok(s) => s.code().unwrap_or(1), + Err(e) => panic!("\n\nfailed to run {:?}: {}\n\n", cmd, e), +diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs +index c76900882b..1927a604c5 100644 +--- a/src/bootstrap/builder.rs ++++ b/src/bootstrap/builder.rs +@@ -357,8 +357,8 @@ impl<'a> Builder<'a> { + + fn run(self, builder: &Builder) -> Interned { + let compiler = self.compiler; +- let lib = if compiler.stage >= 2 && builder.build.config.libdir_relative.is_some() { +- builder.build.config.libdir_relative.clone().unwrap() ++ let lib = if compiler.stage >= 1 && builder.build.config.libdir.is_some() { ++ builder.build.config.libdir.clone().unwrap() + } else { + PathBuf::from("lib") + }; +@@ -416,7 +416,7 @@ impl<'a> Builder<'a> { + let compiler = self.compiler(self.top_stage, host); + cmd.env("RUSTC_STAGE", compiler.stage.to_string()) + .env("RUSTC_SYSROOT", self.sysroot(compiler)) +- .env("RUSTC_LIBDIR", self.sysroot_libdir(compiler, self.build.build)) ++ .env("RUSTDOC_LIBDIR", self.sysroot_libdir(compiler, self.build.build)) + .env("CFG_RELEASE_CHANNEL", &self.build.config.channel) + .env("RUSTDOC_REAL", self.rustdoc(host)) + .env("RUSTDOC_CRATE_VERSION", self.build.rust_version()) +@@ -496,6 +496,9 @@ impl<'a> Builder<'a> { + if let Some(target_linker) = self.build.linker(target) { + cargo.env("RUSTC_TARGET_LINKER", target_linker); + } ++ if cmd != "build" { ++ cargo.env("RUSTDOC_LIBDIR", self.rustc_libdir(self.compiler(2, self.build.build))); ++ } + + if mode != Mode::Tool { + // Tools don't get debuginfo right now, e.g. cargo and rls don't +diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs +index 4d69b19c73..d926c2b901 100644 +--- a/src/bootstrap/check.rs ++++ b/src/bootstrap/check.rs +@@ -1171,7 +1171,7 @@ impl Step for Crate { + } + Mode::Librustc => { + builder.ensure(compile::Rustc { compiler, target }); +- compile::rustc_cargo(build, &compiler, target, &mut cargo); ++ compile::rustc_cargo(build, target, &mut cargo); + ("librustc", "rustc-main") + } + _ => panic!("can only test libraries"), +diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs +index db013691bb..d60feb1aff 100644 +--- a/src/bootstrap/compile.rs ++++ b/src/bootstrap/compile.rs +@@ -485,7 +485,7 @@ impl Step for Rustc { + build.clear_if_dirty(&stage_out, &libtest_stamp(build, compiler, target)); + + let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "build"); +- rustc_cargo(build, &compiler, target, &mut cargo); ++ rustc_cargo(build, target, &mut cargo); + run_cargo(build, + &mut cargo, + &librustc_stamp(build, compiler, target)); +@@ -500,7 +500,6 @@ impl Step for Rustc { + + /// Same as `std_cargo`, but for libtest + pub fn rustc_cargo(build: &Build, +- compiler: &Compiler, + target: Interned, + cargo: &mut Command) { + cargo.arg("--features").arg(build.rustc_features()) +@@ -514,13 +513,9 @@ pub fn rustc_cargo(build: &Build, + .env("CFG_VERSION", build.rust_version()) + .env("CFG_PREFIX", build.config.prefix.clone().unwrap_or_default()); + +- if compiler.stage == 0 { +- cargo.env("CFG_LIBDIR_RELATIVE", "lib"); +- } else { +- let libdir_relative = +- build.config.libdir_relative.clone().unwrap_or(PathBuf::from("lib")); +- cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative); +- } ++ let libdir_relative = ++ build.config.libdir.clone().unwrap_or(PathBuf::from("lib")); ++ cargo.env("CFG_LIBDIR_RELATIVE", libdir_relative); + + // If we're not building a compiler with debugging information then remove + // these two env vars which would be set otherwise. +diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs +index 35e62f17f2..1ca19187cf 100644 +--- a/src/bootstrap/config.rs ++++ b/src/bootstrap/config.rs +@@ -119,7 +119,6 @@ pub struct Config { + pub docdir: Option, + pub bindir: Option, + pub libdir: Option, +- pub libdir_relative: Option, + pub mandir: Option, + pub codegen_tests: bool, + pub nodejs: Option, +diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs +index 3c12cfc4c7..1314d967d8 100644 +--- a/src/bootstrap/doc.rs ++++ b/src/bootstrap/doc.rs +@@ -616,7 +616,7 @@ impl Step for Rustc { + t!(symlink_dir_force(&my_out, &out_dir)); + + let mut cargo = builder.cargo(compiler, Mode::Librustc, target, "doc"); +- compile::rustc_cargo(build, &compiler, target, &mut cargo); ++ compile::rustc_cargo(build, target, &mut cargo); + + if build.config.compiler_docs { + // src/rustc/Cargo.toml contains a bin crate called rustc which +-- +2.13.6 + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml new file mode 100644 index 0000000000..96224d872b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/metadata.xml @@ -0,0 +1,17 @@ + + + + + rust@gentoo.org + Rust Project + + + Use sys-devel/clang for building + Build and install rls, rustfmt and cargo + alongside the compiler and stdlib + Use sys-libs/libcxx as standard + library when building with sys-devel/clang + Use dev-libs/jemalloc as the + standard memory allocator + + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.16.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.16.0.ebuild new file mode 100644 index 0000000000..e13e960aba --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.16.0.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +CARGO_VERSION="0.$(($(get_version_component_range 2) + 1)).0" +STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).1" +RUST_STAGE0_amd64="rustc-${STAGE0_VERSION}-x86_64-unknown-linux-gnu" +RUST_STAGE0_x86="rustc-${STAGE0_VERSION}-i686-unknown-linux-gnu" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clang debug doc libcxx" +REQUIRED_USE="libcxx? ( clang )" + +RDEPEND="libcxx? ( sys-libs/libcxx )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/perl-5.0 + clang? ( sys-devel/clang ) +" + +PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + >=dev-util/cargo-${CARGO_VERSION}" + +S="${WORKDIR}/${MY_P}-src" + +src_prepare() { + find mk -name '*.mk' -exec \ + sed -i -e "s/-Werror / /g" {} \; || die + + default +} + +src_configure() { + export CFG_DISABLE_LDCONFIG="notempty" + + local stagename="RUST_STAGE0_${ARCH}" + local stage0="${!stagename}" + + "${ECONF_SOURCE:-.}"/configure \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)/${P}" \ + --mandir="${EPREFIX}/usr/share/${P}/man" \ + --release-channel=${SLOT%%/*} \ + --disable-manage-submodules \ + --disable-rustbuild \ + --default-linker=$(tc-getBUILD_CC) \ + --default-ar=$(tc-getBUILD_AR) \ + --python=${EPYTHON} \ + --disable-rpath \ + --enable-local-rust \ + --local-rust-root="${WORKDIR}/${stage0}/rustc" \ + $(use_enable clang) \ + $(use_enable debug) \ + $(use_enable debug llvm-assertions) \ + $(use_enable !debug optimize) \ + $(use_enable !debug optimize-cxx) \ + $(use_enable !debug optimize-llvm) \ + $(use_enable !debug optimize-tests) \ + $(use_enable doc docs) \ + $(use_enable libcxx libcpp) \ + || die +} + +src_compile() { + emake VERBOSE=1 +} + +src_install() { + unset SUDO_USER + + default + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + + dodoc COPYRIGHT + + dodir "/usr/share/doc/rust-${PV}/" + mv "${D}/usr/share/doc/rust"/* "${D}/usr/share/doc/rust-${PV}/" || die + rmdir "${D}/usr/share/doc/rust/" || die + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.19.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.19.0.ebuild new file mode 100644 index 0000000000..402db0937f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.19.0.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +if [[ ${ARCH} = "amd64" ]]; then + TRIPLE="x86_64-unknown-linux-gnu" +else + TRIPLE="i686-unknown-linux-gnu" +fi + +CARGO_VERSION="0.$(($(get_version_component_range 2) + 1)).0" +STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +STAGE0_VERSION_CARGO="0.$(($(get_version_component_range 2))).0" +BOOTSTRAP_DATE="2017-06-08" # found in src/stage0.txt + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="amd64? ( + https://static.rust-lang.org/dist/rustc-${STAGE0_VERSION}-x86_64-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/rust-std-${STAGE0_VERSION}-x86_64-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/cargo-${STAGE0_VERSION_CARGO}-x86_64-unknown-linux-gnu.tar.gz + ) + x86? ( + https://static.rust-lang.org/dist/rustc-${STAGE0_VERSION}-i686-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/rust-std-${STAGE0_VERSION}-i686-unknown-linux-gnu.tar.gz + https://static.rust-lang.org/dist/cargo-${STAGE0_VERSION_CARGO}-i686-unknown-linux-gnu.tar.gz + ) + https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clang debug doc libcxx" +REQUIRED_USE="libcxx? ( clang )" + +RDEPEND="libcxx? ( sys-libs/libcxx )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/perl-5.0 + clang? ( sys-devel/clang ) + >=dev-util/cmake-3.4.3 +" + +PDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + >=dev-util/cargo-${CARGO_VERSION}" + +S="${WORKDIR}/rustc-${PV}-src" + +src_unpack() { + unpack ${A##* } +} + +src_configure() { + echo "No configure step for rust" +} + +src_compile() { + local stage0="rust-${STAGE0_VERSION}-${TRIPLE}" + if use debug ; then + local optimized="false"; + local debug="true"; + else + local optimized="true"; + local debug="false"; + fi + + cat <<- EOF > config.toml + [llvm] + optimize = ${optimized} + assertions = ${debug} + [build] + docs = false + submodules = false + python = "${EPYTHON}" + vendor = true + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)/${P}" + mandir = "share/${P}/man" + docdir = "share/${P}/doc" + [rust] + optimize = ${optimized} + default-linker = "$(tc-getBUILD_CC)" + default-ar = "$(tc-getBUILD_AR)" + channel = "${SLOT%%/*}" + rpath = false + optimize-tests = ${optimized} + EOF + + local cache_dir="build/cache/${BOOTSTRAP_DATE}" + mkdir -p ${cache_dir} + for i in ${A}; do + cp "${DISTDIR}/${i}" $cache_dir/ + done + ${EPYTHON} x.py build || die +} + +src_install() { + default + + local obj="build/${TRIPLE}/stage2" + dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc" + dobin src/etc/rust-gdb src/etc/rust-lldb + insinto "/usr/$(get_libdir)" + doins -r "${obj}/lib/"* + dodoc COPYRIGHT + doman man/* + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0-r1.ebuild new file mode 100644 index 0000000000..8167a26c4d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0-r1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit multiprocessing python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +CHOST_amd64=x86_64-unknown-linux-gnu +CHOST_x86=i686-unknown-linux-gnu +CHOST_arm64=aarch64-unknown-linux-gnu + +RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}" +RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}" +RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}" + +CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) + arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="debug doc extended +jemalloc" + +RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + jemalloc? ( dev-libs/jemalloc )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + dev-util/cmake +" +PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )" + +PATCHES=( "${FILESDIR}/1.23.0-separate-libdir.patch" ) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "$1" true false +} + +src_prepare() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_stage0_name="RUST_STAGE0_${ARCH}" + local rust_stage0="${!rust_stage0_name}" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die + + default +} + +src_configure() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_target_name="CHOST_${ARCH}" + local rust_target="${!rust_target_name}" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = ["${rust_target}"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + verbose = 2 + extended = $(toml_usex extended) + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debuginfo = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + use-jemalloc = $(toml_usex jemalloc) + default-linker = "$(tc-getCC)" + rpath = false + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF +} + +src_compile() { + ./x.py build --verbose --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_install() { + env DESTDIR="${D}" ./x.py install || die + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die + + dodoc COPYRIGHT + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-lldb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0.ebuild new file mode 100644 index 0000000000..eb5a124a96 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.23.0.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +CHOST_amd64=x86_64-unknown-linux-gnu +CHOST_x86=i686-unknown-linux-gnu + +RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}" +RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}" + +CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="debug doc +jemalloc" + +RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + jemalloc? ( dev-libs/jemalloc )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + dev-util/cmake +" +PDEPEND=">=dev-util/cargo-${CARGO_DEPEND_VERSION}" + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "$1" true false +} + +src_prepare() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_stage0_name="RUST_STAGE0_${ARCH}" + local rust_stage0="${!rust_stage0_name}" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die + + default +} + +src_configure() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_target_name="CHOST_${ARCH}" + local rust_target="${!rust_target_name}" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = ["${rust_target}"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + verbose = 2 + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debuginfo = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + use-jemalloc = $(toml_usex jemalloc) + default-linker = "$(tc-getCC)" + rpath = false + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF +} + +src_compile() { + ./x.py build --verbose --config="${S}"/config.toml || die +} + +src_install() { + env DESTDIR="${D}" ./x.py install || die + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die + + dodoc COPYRIGHT + + if use doc ; then + dodir "/usr/share/doc/rust-${PV}/" + mv "${D}/usr/share/doc/rust"/* "${D}/usr/share/doc/rust-${PV}/" || die + rmdir "${D}/usr/share/doc/rust/" || die + fi + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-lldb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.25.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.25.0.ebuild new file mode 100644 index 0000000000..acfbcd1213 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.25.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit multiprocessing python-any-r1 versionator toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.gz" + KEYWORDS="" +else + ABI_VER="$(get_version_component_range 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +CHOST_amd64=x86_64-unknown-linux-gnu +CHOST_x86=i686-unknown-linux-gnu +CHOST_arm64=aarch64-unknown-linux-gnu + +RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0" +RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}" +RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}" +RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}" + +CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="http://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz ) + arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.gz ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="debug doc extended +jemalloc" + +RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + jemalloc? ( dev-libs/jemalloc )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + dev-util/cmake +" +PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )" + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "$1" true false +} + +src_prepare() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_stage0_name="RUST_STAGE0_${ARCH}" + local rust_stage0="${!rust_stage0_name}" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die + + default +} + +src_configure() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_target_name="CHOST_${ARCH}" + local rust_target="${!rust_target_name}" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = ["${rust_target}"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + verbose = 2 + extended = $(toml_usex extended) + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debuginfo = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + use-jemalloc = $(toml_usex jemalloc) + default-linker = "$(tc-getCC)" + rpath = false + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF +} + +src_compile() { + ./x.py build --verbose --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_install() { + env DESTDIR="${D}" ./x.py install || die + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die + + dodoc COPYRIGHT + + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-lldb + EOF + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.16.0 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.16.0 new file mode 100644 index 0000000000..4cef3eac32 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.16.0 @@ -0,0 +1,15 @@ +DEFINED_PHASES=compile configure install postinst postrm prepare setup +DEPEND=libcxx? ( sys-libs/libcxx ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/perl-5.0 clang? ( sys-devel/clang ) +DESCRIPTION=Systems programming language from Mozilla +EAPI=6 +HOMEPAGE=http://www.rust-lang.org/ +IUSE=clang debug doc libcxx +KEYWORDS=~amd64 ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA +PDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 >=dev-util/cargo-0.17.0 +RDEPEND=libcxx? ( sys-libs/libcxx ) +REQUIRED_USE=libcxx? ( clang ) +SLOT=stable/1.16 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.16.0-src.tar.gz -> rustc-1.16.0-src.tar.gz amd64? ( https://static.rust-lang.org/dist/rustc-1.15.1-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rustc-1.15.1-i686-unknown-linux-gnu.tar.gz ) +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e python-any-r1 27d7f9da7187d283b7f3eae8390b7b09 python-utils-r1 c9de01becf9df3f8c10aeec3dc693f5d toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=6b088f2ab3b9c4a232866efee2d92f0c diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.19.0 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.19.0 new file mode 100644 index 0000000000..0aa2431451 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.19.0 @@ -0,0 +1,15 @@ +DEFINED_PHASES=compile configure install postinst postrm setup unpack +DEPEND=libcxx? ( sys-libs/libcxx ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/perl-5.0 clang? ( sys-devel/clang ) >=dev-util/cmake-3.4.3 +DESCRIPTION=Systems programming language from Mozilla +EAPI=6 +HOMEPAGE=http://www.rust-lang.org/ +IUSE=clang debug doc libcxx +KEYWORDS=~amd64 ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA +PDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 >=dev-util/cargo-0.20.0 +RDEPEND=libcxx? ( sys-libs/libcxx ) +REQUIRED_USE=libcxx? ( clang ) +SLOT=stable/1.19 +SRC_URI=amd64? ( https://static.rust-lang.org/dist/rustc-1.18.0-x86_64-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/rust-std-1.18.0-x86_64-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/cargo-0.19.0-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rustc-1.18.0-i686-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/rust-std-1.18.0-i686-unknown-linux-gnu.tar.gz https://static.rust-lang.org/dist/cargo-0.19.0-i686-unknown-linux-gnu.tar.gz ) https://static.rust-lang.org/dist/rustc-1.19.0-src.tar.gz +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e python-any-r1 27d7f9da7187d283b7f3eae8390b7b09 python-utils-r1 c9de01becf9df3f8c10aeec3dc693f5d toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=920bc279a5bc8a27ad0009e468905070 diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0 new file mode 100644 index 0000000000..a0976813ec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile configure install postinst postrm prepare setup +DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake +DESCRIPTION=Systems programming language from Mozilla +EAPI=6 +HOMEPAGE=http://www.rust-lang.org/ +IUSE=debug doc +jemalloc +KEYWORDS=~amd64 ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA +PDEPEND=>=dev-util/cargo-0.24.0 +RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) +SLOT=stable/1.23 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.23.0-src.tar.gz -> rustc-1.23.0-src.tar.gz amd64? ( https://static.rust-lang.org/dist/rust-1.22.0-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rust-1.22.0-i686-unknown-linux-gnu.tar.gz ) +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e python-any-r1 27d7f9da7187d283b7f3eae8390b7b09 python-utils-r1 c9de01becf9df3f8c10aeec3dc693f5d toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=66190b98a61687c08db96c21c3346e56 diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0-r1 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0-r1 new file mode 100644 index 0000000000..825de06426 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.23.0-r1 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile configure install postinst postrm prepare setup +DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake +DESCRIPTION=Systems programming language from Mozilla +EAPI=6 +HOMEPAGE=http://www.rust-lang.org/ +IUSE=debug doc extended +jemalloc +KEYWORDS=~amd64 ~arm64 ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA +PDEPEND=!extended? ( >=dev-util/cargo-0.24.0 ) +RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) +SLOT=stable/1.23 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.23.0-src.tar.gz -> rustc-1.23.0-src.tar.gz amd64? ( https://static.rust-lang.org/dist/rust-1.22.0-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rust-1.22.0-i686-unknown-linux-gnu.tar.gz ) arm64? ( https://static.rust-lang.org/dist/rust-1.22.0-aarch64-unknown-linux-gnu.tar.gz ) +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing 6f5991c7101863d0b29df63990ad852e python-any-r1 27d7f9da7187d283b7f3eae8390b7b09 python-utils-r1 c9de01becf9df3f8c10aeec3dc693f5d toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=50ac3223edbcdf9be4c93712b8110085 diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.25.0 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.25.0 new file mode 100644 index 0000000000..6b41f3b975 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-lang/rust-1.25.0 @@ -0,0 +1,14 @@ +DEFINED_PHASES=compile configure install postinst postrm prepare setup +DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake +DESCRIPTION=Systems programming language from Mozilla +EAPI=6 +HOMEPAGE=http://www.rust-lang.org/ +IUSE=debug doc extended +jemalloc +KEYWORDS=~amd64 ~arm64 ~x86 +LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA +PDEPEND=!extended? ( >=dev-util/cargo-0.26.0 ) +RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) +SLOT=stable/1.25 +SRC_URI=https://static.rust-lang.org/dist/rustc-1.25.0-src.tar.gz -> rustc-1.25.0-src.tar.gz amd64? ( https://static.rust-lang.org/dist/rust-1.24.0-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rust-1.24.0-i686-unknown-linux-gnu.tar.gz ) arm64? ( https://static.rust-lang.org/dist/rust-1.24.0-aarch64-unknown-linux-gnu.tar.gz ) +_eclasses_=epatch 8233751dc5105a6ae8fcd86ce2bb0247 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 227b041a120d309fdefbebb3b8c1dfa9 ltprune 2770eed66a9b8ef944714cd0e968182e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing 6f5991c7101863d0b29df63990ad852e python-any-r1 27d7f9da7187d283b7f3eae8390b7b09 python-utils-r1 c9de01becf9df3f8c10aeec3dc693f5d toolchain-funcs 185a06792159ca143528e7010368e8af versionator c80ccf29e90adea7c5cae94b42eb76d0 +_md5_=1f034348200a51df1d6174e34276a532