Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 572540 Details for
Bug 683128
dev-lang/rust-1.34.0 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
=dev-lang/rust-1.34
rust-1.34.0.ebuild (text/plain), 9.00 KB, created by
Oleg
on 2019-04-12 03:59:09 UTC
(
hide
)
Description:
=dev-lang/rust-1.34
Filename:
MIME Type:
Creator:
Oleg
Created:
2019-04-12 03:59:09 UTC
Size:
9.00 KB
patch
obsolete
># Copyright 1999-2019 Gentoo Authors ># Distributed under the terms of the GNU General Public License v2 > >EAPI=6 > >PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy ) > >inherit check-reqs eapi7-ver 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="${ABI_VER}" > MY_P="rustc-${PV}" > SRC="${MY_P}-src.tar.xz" > KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" >fi > >RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" > >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 libressl rls rustfmt system-llvm wasm sanitize miri zsh-completion ${ALL_LLVM_TARGETS[*]}" > ># Please keep the LLVM dependency block separate. Since LLVM is slotted, ># we need to *really* make sure we're not pulling one than more 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. < 8. ># 3. Specify LLVM_MAX_SLOT, e.g. 7. >LLVM_DEPEND=" > || ( > sys-devel/llvm:7 > ) > <sys-devel/llvm-8:= >" >LLVM_MAX_SLOT=7 > >COMMON_DEPEND=" > sys-libs/zlib > !libressl? ( dev-libs/openssl:0= ) > libressl? ( dev-libs/libressl:0= ) > net-libs/libssh2 > net-libs/http-parser:= > net-misc/curl[ssl] > system-llvm? ( > ${LLVM_DEPEND} > ) >" > >DEPEND="${COMMON_DEPEND} > ${PYTHON_DEPS} > || ( > >=sys-devel/gcc-4.7 > >=sys-devel/clang-3.5 > ) > dev-util/cmake" >RDEPEND="${COMMON_DEPEND} > >=app-eselect/eselect-rust-20190311 > !dev-util/cargo > rustfmt? ( !dev-util/rustfmt )" >REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) > x86? ( cpu_flags_x86_sse2 )" > >S="${WORKDIR}/${MY_P}-src" > >PATCHES=( > "${FILESDIR}"/1.34.0-fix-configure-of-bundled-llvm.patch > "${FILESDIR}"/1.34.0-fix-rustdoc.patch >) > >toml_usex() { > usex "$1" true false >} > >pre_build_checks() { > CHECKREQS_DISK_BUILD="7G" > CHECKREQS_MEMORY="4G" > eshopts_push -s extglob > if is-flagq '-g?(gdb)?([1-9])'; then > CHECKREQS_DISK_BUILD="10G" > CHECKREQS_MEMORY="16G" > fi > eshopts_pop > check-reqs_pkg_setup >} > >pkg_pretend() { > pre_build_checks >} > >pkg_setup() { > pre_build_checks > python-any-r1_pkg_setup > use system-llvm && llvm_pkg_setup >} > >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 > > # ugly hack for https://bugs.gentoo.org/679806 > if use ppc64; then > sed -i 's/getentropy/gEtEnTrOpY/g' "${rust_stage0_root}"/bin/cargo || die > export OPENSSL_ppccap=0 > fi > > default >} > >src_configure() { > local rust_target="" rust_targets="" 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 > if use miri; then > tools="\"miri\",$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// /;}" > experimental-targets = "$(usex wasm WebAssembly '')" > link-shared = $(toml_usex system-llvm) > [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 > sanitizers = $(toml_usex sanitize) > 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) > default-linker = "$(tc-getCC)" > channel = "stable" > rpath = false > lld = $(toml_usex wasm) > 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 > if use system-llvm; then > cat <<- EOF >> "${S}"/config.toml > llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" > EOF > fi > 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 -v --config="${S}"/config.toml -j$(makeopts_jobs) || die >} > >src_install() { > local rust_target abi_libdir > > env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v -j$(makeopts_jobs) || 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-gdbgui" "${D}/usr/bin/rust-gdbgui-${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 > if use miri; then > mv "${D}/usr/bin/miri" "${D}/usr/bin/miri-${PV}" || die > mv "${D}/usr/bin/cargo-miri" "${D}/usr/bin/cargo-miri-${PV}" || die > fi > if ! use zsh-completion; then > rm "${D}/usr/share/zsh/site-functions/_cargo" # fix https://bugs.gentoo.org/675026 > 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=$(rust_abi $(get_abi_CHOST ${v##*.})) > mkdir -p "${D}/usr/${abi_libdir}" > cp "${D}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \ > "${D}/usr/${abi_libdir}" || die > done > > 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-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 > if use miri; then > echo /usr/bin/miri >> "${T}/provider-${P}" > echo /usr/bin/cargo-miri >> "${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 || 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 >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 683128
: 572540 |
572542
|
572544