From 760217f4618fb7ccc936475845c4fa1363e49070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Mon, 8 Jun 2020 12:38:53 +0100 Subject: [PATCH] Extend bootstrap path to rust-1.43. --- dev-lang/rust/Manifest | 2 + dev-lang/rust/rust-1.42.0.ebuild | 289 +++++++++++++++++++++++++++++++ virtual/rust/Manifest | 2 + virtual/rust/rust-1.41.1.ebuild | 15 ++ virtual/rust/rust-1.42.0.ebuild | 15 ++ 5 files changed, 323 insertions(+) create mode 100644 dev-lang/rust/rust-1.42.0.ebuild create mode 100644 virtual/rust/Manifest create mode 100644 virtual/rust/rust-1.41.1.ebuild create mode 100644 virtual/rust/rust-1.42.0.ebuild diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index fd01f4d..d7b6602 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -11,6 +11,7 @@ DIST rustc-1.38.0-src.tar.xz 96163304 BLAKE2B 1e900b44db64727477ccf8e58e0ebb9ec2 DIST rustc-1.39.0-src.tar.xz 96495140 BLAKE2B 6df6bf0c3b38c28753713acdc477ea6929740c32893171dd9b8620992439e45730ef6f9489a6fc411ff5884c661ac4c07b7b93f5a4174207ed53351d2dea09bf SHA512 8610b2ec77722087c572bd84ac562a5b7c5f1a644aea58c5d5daa07a9aed242703b7816e73e2eaa049f773d5907859e259744a0de700622df005584fd798dab0 DIST rustc-1.40.0-src.tar.xz 92306352 BLAKE2B 762b9592414e5c816540f6fd37d07b3b0ffe97a151968cc8ae77be2fda03a6d66905192985edc65055cc7811dbd90faa2b2c056481f72161c6f7ccbcce13671a SHA512 b5ac3079acefb62d3c985b77f624d7fb68de23a59396fed9ccb292db61641c064f3146ee54d3cf59067b17ebfaadd14a6b2b466def60316bb5b13ba3aef01e1f DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 +DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16 EBUILD rust-1.29.0.ebuild 2270 BLAKE2B 4d7f77ebe285d68fe27ca055251df86ff2c6108a7beaa5aa4f067e499f69c5d9bc751338296129f77d94d37ba923fab3538d418c0b6433a056372196531b48e2 SHA512 c8f116bdbae3fcdcd11bb3ff4c9bf453971e42a6bcb1874da17edda4e2aac11803917128f96864264b5af367df80103eeb9f0e5b2b176452e868b7dd128bf2fc EBUILD rust-1.30.1.ebuild 7597 BLAKE2B e8caabdff29bc13354ea9ae750e44b47bd7d8b595439dbfac0f4e902b163525cbbea5613cd40d07a894906ceaeb84b1ba0cded08f502fe3865405fb88468f9b1 SHA512 78987f43bff1cc15f10df2ec6249d0fb475815717ed4e39c5efcee8d3b93a0c8443d6acd5add751361de5a49ae7dcb9b241e03db55a5919d46928f03304d6fa1 EBUILD rust-1.31.1.ebuild 7597 BLAKE2B e8caabdff29bc13354ea9ae750e44b47bd7d8b595439dbfac0f4e902b163525cbbea5613cd40d07a894906ceaeb84b1ba0cded08f502fe3865405fb88468f9b1 SHA512 78987f43bff1cc15f10df2ec6249d0fb475815717ed4e39c5efcee8d3b93a0c8443d6acd5add751361de5a49ae7dcb9b241e03db55a5919d46928f03304d6fa1 @@ -24,3 +25,4 @@ EBUILD rust-1.38.0.ebuild 7670 BLAKE2B 43bb55369449f2b2548fbc58d974299743fcec4aa EBUILD rust-1.39.0.ebuild 7670 BLAKE2B 43bb55369449f2b2548fbc58d974299743fcec4aa1efb3c8c449c6ea564963dc5079fccd81274285833d441627edaa5679c38beb3ae4dd5763286a358183747a SHA512 64289d3e04d1f4885e02a751ecee44d001887c34be2298649f6834d422c3d31096f60e1253fc183e7374aa10d2261ced31850ef9a0448a5ec51dbd66fbad7dc2 EBUILD rust-1.40.0.ebuild 7670 BLAKE2B 43bb55369449f2b2548fbc58d974299743fcec4aa1efb3c8c449c6ea564963dc5079fccd81274285833d441627edaa5679c38beb3ae4dd5763286a358183747a SHA512 64289d3e04d1f4885e02a751ecee44d001887c34be2298649f6834d422c3d31096f60e1253fc183e7374aa10d2261ced31850ef9a0448a5ec51dbd66fbad7dc2 EBUILD rust-1.41.1.ebuild 7670 BLAKE2B 43bb55369449f2b2548fbc58d974299743fcec4aa1efb3c8c449c6ea564963dc5079fccd81274285833d441627edaa5679c38beb3ae4dd5763286a358183747a SHA512 64289d3e04d1f4885e02a751ecee44d001887c34be2298649f6834d422c3d31096f60e1253fc183e7374aa10d2261ced31850ef9a0448a5ec51dbd66fbad7dc2 +EBUILD rust-1.42.0.ebuild 7670 BLAKE2B 43bb55369449f2b2548fbc58d974299743fcec4aa1efb3c8c449c6ea564963dc5079fccd81274285833d441627edaa5679c38beb3ae4dd5763286a358183747a SHA512 64289d3e04d1f4885e02a751ecee44d001887c34be2298649f6834d422c3d31096f60e1253fc183e7374aa10d2261ced31850ef9a0448a5ec51dbd66fbad7dc2 diff --git a/dev-lang/rust/rust-1.42.0.ebuild b/dev-lang/rust/rust-1.42.0.ebuild new file mode 100644 index 0000000..e4d353e --- /dev/null +++ b/dev-lang/rust/rust-1.42.0.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{6,7} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm 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 ~arm ~arm64 ~ppc64 ~x86" +fi + +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" + +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly 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 libressl rls rustfmt ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 10. +# 3. Specify LLVM_MAX_SLOT, e.g. 9. +LLVM_DEPEND=" + || ( + sys-devel/llvm:9[llvm_targets_WebAssembly?] + ) + "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + targets = "${LLVM_TARGETS// /;}" + experimental-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) + compiler-docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = ${extended} + tools = [${tools}] + verbose = 2 + [install] + prefix = "${EPREFIX}/usr" + libdir = "lib" + docdir = "share/doc/${PF}" + mandir = "share/man" + [rust] + optimize = $(toml_usex !debug) + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + default-linker = "$(tc-getCC)" + channel = "stable" + rpath = false + lld = false + [dist] + src-tarball = false + EOF + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(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 +} + +src_compile() { + env $(cat "${S}"/config.env)\ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ + --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305 +} + +src_install() { + env DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml \ + --exclude src/tools/miri || die + + # bug #689562, #689160 + rm "${D}/etc/bash_completion.d/cargo" || die + rmdir "${D}"/etc{/bash_completion.d,} || die + dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo + + mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die + mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die + mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die + mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die + mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die + mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die + if use clippy; then + mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die + mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die + fi + if use rls; then + mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die + fi + if use rustfmt; then + mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die + mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die + fi + + # Move public shared libs to abi specific libdir + # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib + if [[ $(get_libdir) != lib ]]; then + dodir /usr/$(get_libdir) + mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die + fi + + dodoc COPYRIGHT + + # note: eselect-rust adds EROOT to all paths below + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /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}." + + ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." + ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" + ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." + + if has_version app-editors/emacs; 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 +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/virtual/rust/Manifest b/virtual/rust/Manifest new file mode 100644 index 0000000..31770bd --- /dev/null +++ b/virtual/rust/Manifest @@ -0,0 +1,2 @@ +EBUILD rust-1.41.1.ebuild 341 BLAKE2B 46814889235011806589f1ab14dd1c3714469299c42ddec516ec0fea24aace127fad72775a7cebc3e81d75be24e18418d0d30d94ac81351eb25e81fb1565cf6b SHA512 fdb6978acd346022383cca79f2e61433504ac3626b8ac335f52553aff36aa53888afc94492016f368976754a8c1e3c719184e1634e7b81ce7f2e086f15e2ff6a +EBUILD rust-1.42.0.ebuild 341 BLAKE2B 46814889235011806589f1ab14dd1c3714469299c42ddec516ec0fea24aace127fad72775a7cebc3e81d75be24e18418d0d30d94ac81351eb25e81fb1565cf6b SHA512 fdb6978acd346022383cca79f2e61433504ac3626b8ac335f52553aff36aa53888afc94492016f368976754a8c1e3c719184e1634e7b81ce7f2e086f15e2ff6a diff --git a/virtual/rust/rust-1.41.1.ebuild b/virtual/rust/rust-1.41.1.ebuild new file mode 100644 index 0000000..a9b74cc --- /dev/null +++ b/virtual/rust/rust-1.41.1.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Virtual for Rust language compiler" + +LICENSE="" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc64 x86" + +BDEPEND="" +RDEPEND="|| ( =dev-lang/rust-${PV}*[${MULTILIB_USEDEP}] =dev-lang/rust-bin-${PV}* )" diff --git a/virtual/rust/rust-1.42.0.ebuild b/virtual/rust/rust-1.42.0.ebuild new file mode 100644 index 0000000..a9b74cc --- /dev/null +++ b/virtual/rust/rust-1.42.0.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-build + +DESCRIPTION="Virtual for Rust language compiler" + +LICENSE="" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc64 x86" + +BDEPEND="" +RDEPEND="|| ( =dev-lang/rust-${PV}*[${MULTILIB_USEDEP}] =dev-lang/rust-bin-${PV}* )"