public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Dirkjan Ochtman" <djc@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust/, dev-lang/rust/files/
Date: Wed, 14 Nov 2018 16:16:38 +0000 (UTC)	[thread overview]
Message-ID: <1542212181.aee297999eab95cd0c4c5ebd886874529efde55b.djc@gentoo> (raw)

commit:     aee297999eab95cd0c4c5ebd886874529efde55b
Author:     Dirkjan Ochtman <djc <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 14 16:12:09 2018 +0000
Commit:     Dirkjan Ochtman <djc <AT> gentoo <DOT> org>
CommitDate: Wed Nov 14 16:16:21 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aee29799

dev-lang/rust: version bump to 1.30.1

Fixes: https://bugs.gentoo.org/669876
Fixes: https://bugs.gentoo.org/669918
Signed-off-by: Dirkjan Ochtman <djc <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 dev-lang/rust/Manifest                          |  14 ++
 dev-lang/rust/files/1.30.1-clippy-sysroot.patch |  62 ++++++
 dev-lang/rust/rust-1.30.1.ebuild                | 263 ++++++++++++++++++++++++
 3 files changed, 339 insertions(+)

diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 7f04344072c..7ee673aefe7 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -11,5 +11,19 @@ DIST rust-1.28.0-powerpc64-unknown-linux-gnu.tar.xz 105788856 BLAKE2B 8280826125
 DIST rust-1.28.0-powerpc64le-unknown-linux-gnu.tar.xz 105822856 BLAKE2B 0cf534a55efff99daf700127fc7bc7b82b93054d054fbf8479a8b247b41381fd82f8672ac12f3e3f53566d816964d83069593817d1932b33902f83994f1bdc33 SHA512 bdbdf3a64a184dd4510a113bbe20c058f42e35321cd2fb7c938487dfc9b1f04320b523ea215dd92a23c2537292eeb064097119e2097d6e24a1c4e237d9d4fc8b
 DIST rust-1.28.0-s390x-unknown-linux-gnu.tar.xz 98839840 BLAKE2B bbff015b3d2daf1443781cccb80527cf8c7f86a01ed928b49cc7e87e17f8c6354f6a47dd2356ff75357e09f7f79ec85812bd8458aee9455800fdf88761243e94 SHA512 5ffb44d16c990b8a6377b64e5042a3b2e709bcc7187013dbe4ab3c9d8cd781b6bf07b0d374340e2ccabe9f84fd4731b606cb05a10a739ebcfa49652518a2aa46
 DIST rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz 134120432 BLAKE2B 56fb79a98659d9c8e56b8eef87dea3302ee5901bc4507d1c204628370b20cf34b2875c9586faa0acc2bc2b1a5beedeb9b5ba199cfb85d52f268f084a02f04f27 SHA512 4f427c11a9cd22aedd01bd7ed5bee2ba5e00a27db25af4f596cf8627d88eff8e72625eb83729d2e6c6780aaffd44c0e7065a1c8fa22f4899349b72c726cf6a5f
+DIST rust-1.29.2-aarch64-unknown-linux-gnu.tar.xz 99702524 BLAKE2B 669066ada5c88ad966125edca77723fbe0ebc0e19859a96cf02eb28a107df87647bc552358cb5e1f8be1fb79d836f8202f4e59349f123bd95383a3a9cb82d0f0 SHA512 f871359a3b1ac54fb237921204d98ef4fac06830e9835849538397c27d40283662c0f6ab3f6eafe0e9ef63182a460e26d615111055430ece0fe94ddf7ad03914
+DIST rust-1.29.2-arm-unknown-linux-gnueabi.tar.xz 105368092 BLAKE2B 7764689fdaeb2ade9aff248707f472ed35d06d4240b138ddf083ef614227845bf6e1d0be38ebc771e95b0998dab3f550de5abe50ffe89625690611d4bdf53aad SHA512 2ef8fda575b00bf7c6f20a8f2a1b6cb8c3b1de6287c9e07889c9a3a682f73f9470bb5649425652ac47af8f61f49abf21209f6b151c4a5ae42dcea59f6e79f84b
+DIST rust-1.29.2-arm-unknown-linux-gnueabihf.tar.xz 105657004 BLAKE2B 5813dde3020afda41e307f4d9ba57c3840ff800bceb0ef494d743095ce6d4da333da208fc72bb36e21209a9ae16e081ca3e7580d59a984ce561d85bcf4b2e2dc SHA512 81d4e392afe3f4bd1ad76a78610e92e8a27afe8f6d0ff1773dbdf35f2041a587c2a0d71db0658ff50fb43460b4f15f23bbb1cc03a018d49d153314e636befb8a
+DIST rust-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz 105958932 BLAKE2B 569cbee0ad0eba41c280be934fc5a59c52331b0853d890aad2188c1979a259d90f4092d72dc9e8027255e2ea6b5ea422a06dd9d82f6b2a865fb1d3bcf146c13d SHA512 bff1220781eca904a93d2cefafed3587e3f76e1dc04fbef09a0281295b6c06491c5fa327830c430d31df80eb7a3e64eac7f45739bc118e3626854f96dce246e2
+DIST rust-1.29.2-i686-unknown-linux-gnu.tar.xz 150567444 BLAKE2B d3b3cfa88e89e29cf2e502a2ee11b22ea45cf9fa5ca0611de273062a8885dc0b9206a43175895a873cbfbaa08bf0bbdcf38cca45436b77b47dbac1b09e0fdb68 SHA512 faac22aec54d0754ff991f2a34ed7b8bfefa8dc9720d247eec1c6b671bbc701907146a796699591e4a677a0f378b9d96bfea5b33452f05dd876c668525f9f33d
+DIST rust-1.29.2-mips-unknown-linux-gnu.tar.xz 96027696 BLAKE2B e12dbd41e45a5009c218be07f085d75ce99bd7a7daf8917db0127aa03ac78f4883b344b566d3a8947b836d55750388ea5387264e036c75de7ef4ba5dda081d63 SHA512 21d860c6f7219f51b65dced57e0173500e054d2d13300f0ee7721262a8354e5dbc272deb8387fcaaeb16ad793808f87edc6c087f7e442e7434264a3302acf537
+DIST rust-1.29.2-mips64-unknown-linux-gnuabi64.tar.xz 102149796 BLAKE2B 1f40dd40e461769cfb75a671d6f83c650c74031302bd8872861cfdd3432e270e47c150382c6f02c38e7823f35a158de395cbc33f0061e51632d130b6fd0910f9 SHA512 5b98632b80d2ed4cef17bd068adabbe26146a6df68e6e70f2535f61f981c8f935b2491a2dcf388a2afe0cc225f10f9f262342457ce9def8c800364253cac7e67
+DIST rust-1.29.2-mipsel-unknown-linux-gnu.tar.xz 97362256 BLAKE2B 4d3170a8c48a68a606eff5631d198b16ca09953b0d8079c39f5edc6284a037c0b2212c74d098da4fa0a40a0917139022a9746734e9fdeb62e2564337430a4edb SHA512 9c5ca864da672a975730073e3291c2be218c2624a11ec5fc9a2637bdf58c7437ae77910bccbc6678d584a3464036377d4717d7f6ebdd5712e9bc86973e91d0ad
+DIST rust-1.29.2-powerpc-unknown-linux-gnu.tar.xz 93639612 BLAKE2B 54fe353f32bedb2567784bfe28ac741f137cc55928e874157f420460831cdb4617fee262c4d3b56d6720dba37bb7b6281c970d4a3002c673aaa85aa70eed922d SHA512 f217cd5169225b290870821b5ba17ad9dfffc99906057c79e91e2a2db5cfd8bc5a83d4e20023e9b73171d15c988e4b28cdbf3f8af2c70657566e6d89658998b0
+DIST rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz 103432092 BLAKE2B ed700d298770b621767f5439841e3be79c3c02d2b05feb211b8508933d4ca2d13c30cf689c5376cfc93bd374c09aaa4fdc4fb84dd4db264eef6a70cba62b6647 SHA512 1af0b55bc62d7641d33e2d33aadaf474298d3284cb2d914be0240eae54e20f464513db4b04f7518385dc5135498c58ec18e0d4cc6341c9e165847536479f44dc
+DIST rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz 106607384 BLAKE2B de19f341dcc1cc580e68865d3b0034f781ed4ca0ac1b07c89352409684670c7d0fd5c95ea6018fc7de4fbfacf4f7d0ebeec34c036c0062ca7f776403511df7dd SHA512 b9181da601a467f46713f2f438fc7ad69c46fc310e62a8d45f665744c8578491d832b8624ff454c19c94f1694fa406846a82289250241030a70b2cb4b88913d1
+DIST rust-1.29.2-s390x-unknown-linux-gnu.tar.xz 99114900 BLAKE2B 08e9251bd8e9c9ac6352ab81735b720052b3288b5fd344f6ba69205c7971f362270f0acce7dbd3763b20d3b1e976ff5404151253acb9c29708f36038d23299f1 SHA512 f76a030257edbdd993d7a4e83da895c8b4749904fb2252a125b3e4ef4331a1cb2c389ec54a372bea413718e3dad987e4b17eb29d301c29ba330222502e6b9b75
+DIST rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz 148275708 BLAKE2B bd7c974f5c8cf78a1fbfc73544ecdab97b7f9ab28ed9ab66759eca3e0fa085fdb2689ba5dfc6dccc6746bab91b6b0b544c44cb729e493dddde2f9ed84c96a247 SHA512 8bc05942a72b186ea1765831bea6921f734e2dd58790a8e427a6d63a2db0d9064937d3198ca3febffeba73b1cc3bef716155ef6cb32127ddeef29ac884cde4b8
 DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7
 DIST rustc-1.29.2-src.tar.xz 61888912 BLAKE2B f59b0bf45caa6f6136f92ffbaa612bbc6a340c8694ec69d75aadace9180c36753f985641915524388b52cc108f8f5b71840ee3a6c0b1fcff6decb61d2d8a161e SHA512 d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38
+DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 170767b64efe670086e7c4e73838b489a155a72c703148f83cad29d401a825a94a1def3aa462ba527e1bd08181c7a9be0e404c25f012906541c3d739eb57e9e5 SHA512 e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5

diff --git a/dev-lang/rust/files/1.30.1-clippy-sysroot.patch b/dev-lang/rust/files/1.30.1-clippy-sysroot.patch
new file mode 100644
index 00000000000..d38f8ba5bae
--- /dev/null
+++ b/dev-lang/rust/files/1.30.1-clippy-sysroot.patch
@@ -0,0 +1,62 @@
+--- a/src/tools/clippy/src/driver.rs	2018-10-25 20:09:06.143109996 +0300
++++ b/src/tools/clippy/src/driver.rs	2018-10-25 20:11:09.204106005 +0300
+@@ -29,54 +29,22 @@
+             exit(0);
+         }
+ 
+-        let sys_root = option_env!("SYSROOT")
+-            .map(String::from)
+-            .or_else(|| std::env::var("SYSROOT").ok())
+-            .or_else(|| {
+-                let home = option_env!("RUSTUP_HOME").or(option_env!("MULTIRUST_HOME"));
+-                let toolchain = option_env!("RUSTUP_TOOLCHAIN").or(option_env!("MULTIRUST_TOOLCHAIN"));
+-                home.and_then(|home| toolchain.map(|toolchain| format!("{}/toolchains/{}", home, toolchain)))
+-            })
+-            .or_else(|| {
+-                Command::new("rustc")
+-                    .arg("--print")
+-                    .arg("sysroot")
+-                    .output()
+-                    .ok()
+-                    .and_then(|out| String::from_utf8(out.stdout).ok())
+-                    .map(|s| s.trim().to_owned())
+-            })
+-            .expect("need to specify SYSROOT env var during clippy compilation, or use rustup or multirust");
+-
+         // Setting RUSTC_WRAPPER causes Cargo to pass 'rustc' as the first argument.
+         // We're invoking the compiler programmatically, so we ignore this/
+-        let mut orig_args: Vec<String> = env::args().collect();
+-        if orig_args.len() <= 1 {
++        let mut args: Vec<String> = env::args().collect();
++        if args.len() <= 1 {
+             std::process::exit(1);
+         }
+-        if Path::new(&orig_args[1]).file_stem() == Some("rustc".as_ref()) {
++        if Path::new(&args[1]).file_stem() == Some("rustc".as_ref()) {
+             // we still want to be able to invoke it normally though
+-            orig_args.remove(1);
++            args.remove(1);
+         }
+-        // this conditional check for the --sysroot flag is there so users can call
+-        // `clippy_driver` directly
+-        // without having to pass --sysroot or anything
+-        let mut args: Vec<String> = if orig_args.iter().any(|s| s == "--sysroot") {
+-            orig_args.clone()
+-        } else {
+-            orig_args
+-                .clone()
+-                .into_iter()
+-                .chain(Some("--sysroot".to_owned()))
+-                .chain(Some(sys_root))
+-                .collect()
+-        };
+ 
+         // this check ensures that dependencies are built but not linted and the final
+         // crate is
+         // linted but not built
+         let clippy_enabled = env::var("CLIPPY_TESTS").ok().map_or(false, |val| val == "true")
+-            || orig_args.iter().any(|s| s == "--emit=dep-info,metadata");
++            || args.iter().any(|s| s == "--emit=dep-info,metadata");
+ 
+         if clippy_enabled {
+             args.extend_from_slice(&["--cfg".to_owned(), r#"feature="cargo-clippy""#.to_owned()]);

diff --git a/dev-lang/rust/rust-1.30.1.ebuild b/dev-lang/rust/rust-1.30.1.ebuild
new file mode 100644
index 00000000000..1990ef1eaaa
--- /dev/null
+++ b/dev-lang/rust/rust-1.30.1.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
+
+inherit eapi7-ver multiprocessing multilib-build python-any-r1 rust-toolchain 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.xz"
+else
+	ABI_VER="$(ver_cut 1-2)"
+	SLOT="stable/${ABI_VER}"
+	MY_P="rustc-${PV}"
+	SRC="${MY_P}-src.tar.xz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).2"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/"
+
+SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
+		$(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC Sparc SystemZ X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+
+IUSE="clippy cpu_flags_x86_sse2 debug doc +jemalloc libressl rls rustfmt wasm ${ALL_LLVM_TARGETS[*]}"
+
+RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
+		jemalloc? ( dev-libs/jemalloc )
+		sys-libs/zlib
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:0= )
+		net-libs/libssh2
+		net-libs/http-parser:=
+		net-misc/curl[ssl]"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	|| (
+		>=sys-devel/gcc-4.7
+		>=sys-devel/clang-3.5
+	)
+	!dev-util/cargo
+	rustfmt? ( !dev-util/rustfmt )
+	dev-util/cmake
+"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
+				x86? ( cpu_flags_x86_sse2 )"
+
+S="${WORKDIR}/${MY_P}-src"
+
+PATCHES=( "${FILESDIR}"/${PV}-clippy-sysroot.patch )
+
+toml_usex() {
+	usex "$1" true false
+}
+
+src_prepare() {
+	local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+	local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
+
+	"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
+
+	default
+}
+
+src_configure() {
+	local rust_target="" rust_targets="" rust_target_name arch_cflags
+
+	# Collect rust target names to compile standard libs for all ABIs.
+	for v in $(multilib_get_enabled_abi_pairs); do
+		rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
+	done
+	if use wasm; then
+		rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
+	fi
+	rust_targets="${rust_targets#,}"
+
+	local extended="true" tools="\"cargo\","
+	if use clippy; then
+		tools="\"clippy\",$tools"
+	fi
+	if use rls; then
+		tools="\"rls\",\"analysis\",\"src\",$tools"
+	fi
+	if use rustfmt; then
+		tools="\"rustfmt\",$tools"
+	fi
+
+	local rust_stage0_root="${WORKDIR}"/rust-stage0
+
+	rust_target="$(rust_abi)"
+
+	cat <<- EOF > "${S}"/config.toml
+		[llvm]
+		optimize = $(toml_usex !debug)
+		release-debuginfo = $(toml_usex debug)
+		assertions = $(toml_usex debug)
+		targets = "${LLVM_TARGETS// /;}"
+		[build]
+		build = "${rust_target}"
+		host = ["${rust_target}"]
+		target = [${rust_targets}]
+		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
+		extended = ${extended}
+		tools = [${tools}]
+		[install]
+		prefix = "${EPREFIX}/usr"
+		libdir = "$(get_libdir)/${P}"
+		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)"
+		channel = "stable"
+		rpath = false
+		lld = $(toml_usex wasm)
+	EOF
+
+	for v in $(multilib_get_enabled_abi_pairs); do
+		rust_target=$(get_abi_CHOST ${v##*.})
+		arch_cflags="$(get_abi_CFLAGS ${v##*.})"
+
+		cat <<- EOF >> "${S}"/config.env
+			CFLAGS_${rust_target}=${arch_cflags}
+		EOF
+
+		cat <<- EOF >> "${S}"/config.toml
+			[target.${rust_target}]
+			cc = "$(tc-getBUILD_CC)"
+			cxx = "$(tc-getBUILD_CXX)"
+			linker = "$(tc-getCC)"
+			ar = "$(tc-getAR)"
+		EOF
+	done
+
+	if use wasm; then
+		cat <<- EOF >> "${S}"/config.toml
+			[target.wasm32-unknown-unknown]
+			linker = "rust-lld"
+		EOF
+	fi
+}
+
+src_compile() {
+	env $(cat "${S}"/config.env)\
+		"${EPYTHON}" ./x.py build --config="${S}"/config.toml -j$(makeopts_jobs) \
+		--exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305
+}
+
+src_install() {
+	local rust_target abi_libdir
+
+	env DESTDIR="${D}" "${EPYTHON}" ./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
+	mv "${D}/usr/bin/cargo" "${D}/usr/bin/cargo-${PV}" || die
+	if use clippy; then
+		mv "${D}/usr/bin/clippy-driver" "${D}/usr/bin/clippy-driver-${PV}" || die
+		mv "${D}/usr/bin/cargo-clippy" "${D}/usr/bin/cargo-clippy-${PV}" || die
+	fi
+	if use rls; then
+		mv "${D}/usr/bin/rls" "${D}/usr/bin/rls-${PV}" || die
+	fi
+	if use rustfmt; then
+		mv "${D}/usr/bin/rustfmt" "${D}/usr/bin/rustfmt-${PV}" || die
+		mv "${D}/usr/bin/cargo-fmt" "${D}/usr/bin/cargo-fmt-${PV}" || die
+	fi
+
+	# Copy shared library versions of standard libraries for all targets
+	# into the system's abi-dependent lib directories because the rust
+	# installer only does so for the native ABI.
+	for v in $(multilib_get_enabled_abi_pairs); do
+		if [ ${v##*.} = ${DEFAULT_ABI} ]; then
+			continue
+		fi
+		abi_libdir=$(get_abi_LIBDIR ${v##*.})
+		rust_target=$(get_abi_CHOST ${v##*.})
+		rust_abi=$(rust_abi $rust_target)
+		mkdir -p "${D}/usr/${abi_libdir}"
+		cp "${D}/usr/$(get_libdir)/${P}/rustlib/${rust_abi}/lib"/*.so \
+		   "${D}/usr/${abi_libdir}" || die
+	done
+
+	dodoc COPYRIGHT
+
+	# FIXME:
+	# Really not sure if that env is needed, specailly LDPATH
+	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
+	echo /usr/bin/cargo >> "${T}/provider-${P}"
+	if use clippy; then
+		echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
+		echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
+	fi
+	if use rls; then
+		echo /usr/bin/rls >> "${T}/provider-${P}"
+	fi
+	if use rustfmt; then
+		echo /usr/bin/rustfmt >> "${T}/provider-${P}"
+		echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
+	fi
+	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
+}


             reply	other threads:[~2018-11-14 16:16 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14 16:16 Dirkjan Ochtman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-06-10 17:19 [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust/, dev-lang/rust/files/ Joonas Niilola
2025-06-03 21:38 Matt Jolly
2025-05-17 15:08 Sam James
2025-04-23 11:37 Matt Jolly
2024-12-08  7:04 Sam James
2024-11-03  6:06 Matt Jolly
2024-07-04  1:15 Sam James
2024-05-31 21:03 Sam James
2024-03-09  2:56 WANG Xuerui
2024-02-10  7:49 Sam James
2024-02-10  4:49 Sam James
2024-01-31 13:56 Matt Turner
2023-07-20  9:49 WANG Xuerui
2023-06-20 19:51 Georgy Yakovlev
2023-06-02  3:06 Georgy Yakovlev
2023-03-21  0:10 Georgy Yakovlev
2023-02-08 22:36 Georgy Yakovlev
2023-01-28 19:34 Georgy Yakovlev
2022-12-20  7:12 Georgy Yakovlev
2022-11-05  5:57 Georgy Yakovlev
2022-09-25  6:37 Georgy Yakovlev
2022-09-13 22:59 Georgy Yakovlev
2022-05-26 16:36 Georgy Yakovlev
2022-05-25 21:09 Georgy Yakovlev
2022-05-24 19:44 Georgy Yakovlev
2022-01-29 17:07 Georgy Yakovlev
2021-12-26  8:58 Georgy Yakovlev
2021-09-13 15:07 Georgy Yakovlev
2021-07-03  7:03 Georgy Yakovlev
2021-06-18  5:26 Georgy Yakovlev
2021-05-05 20:16 Georgy Yakovlev
2021-04-27 11:55 Georgy Yakovlev
2021-04-18 10:30 Georgy Yakovlev
2021-02-05 19:31 Georgy Yakovlev
2021-02-02 23:52 Georgy Yakovlev
2020-10-12  5:14 Georgy Yakovlev
2020-10-09  6:24 Georgy Yakovlev
2020-07-31  9:34 Georgy Yakovlev
2020-04-25  6:13 Georgy Yakovlev
2020-03-30 22:23 Georgy Yakovlev
2020-02-05  9:01 Georgy Yakovlev
2019-12-30  9:59 Georgy Yakovlev
2019-12-20  0:53 Georgy Yakovlev
2019-12-20  0:53 Georgy Yakovlev
2019-10-02 18:42 Georgy Yakovlev
2019-08-16  5:45 Georgy Yakovlev
2019-07-09 16:49 Georgy Yakovlev
2019-07-08 23:01 Georgy Yakovlev
2019-04-12  5:08 Georgy Yakovlev
2019-02-19  1:24 Thomas Deutschmann
2019-02-01  4:36 Georgy Yakovlev
2019-01-26  3:50 Georgy Yakovlev
2019-01-19 20:28 Thomas Deutschmann
2018-05-14 14:41 Dirkjan Ochtman
2018-01-27 13:24 Dirkjan Ochtman
2016-11-08 18:44 Doug Goldstein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1542212181.aee297999eab95cd0c4c5ebd886874529efde55b.djc@gentoo \
    --to=djc@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox