From da928cc76cb7137806d74a57a39d897ab2689a99 Mon Sep 17 00:00:00 2001 From: Mikhail Pukhlikov Date: Fri, 17 Jul 2020 12:08:39 +0400 Subject: bump rust Signed-off-by: Mikhail Pukhlikov --- dev-lang/rust/Manifest | 10 +- dev-lang/rust/rust-1.44.1-r666.ebuild | 289 ---------------------------------- dev-lang/rust/rust-1.45.0-r666.ebuild | 289 ++++++++++++++++++++++++++++++++++ virtual/rust/rust-1.44.1-r666.ebuild | 17 -- virtual/rust/rust-1.45.0-r666.ebuild | 17 ++ 5 files changed, 311 insertions(+), 311 deletions(-) delete mode 100644 dev-lang/rust/rust-1.44.1-r666.ebuild create mode 100644 dev-lang/rust/rust-1.45.0-r666.ebuild delete mode 100644 virtual/rust/rust-1.44.1-r666.ebuild create mode 100644 virtual/rust/rust-1.45.0-r666.ebuild diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 7d23460..ac8d37f 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,5 +1,5 @@ -DIST rust-1.43.0-aarch64-unknown-linux-gnu.tar.xz 103995164 SHA256 5d1bcbf7575be72c4775c89098366158ee87905423342196a6ef0c1b3d3f1140 SHA512 99cc7913d49c58a6a5f5b065afaff58ecf6cb00f5a83b8047944d2bde94eed9a33a7edc88373c52a371bad4f1b5f8d8742ac22ac9c05911223e76f13ffece70a WHIRLPOOL f87deb5a05d9d15c4e732d7cb32e4ec88c39b6391ded1068e70cdd885374c15ff475a9d9da11aab8b8c3a78a0141051f8530efaea46fe30a5570d8df296abe14 -DIST rust-1.43.0-armv7-unknown-linux-gnueabihf.tar.xz 108910044 SHA256 6e045d3015949d7240af1ff990ccd59391958a6be5e8bc3baa5210914fa6ebde SHA512 728ed2d12079989f4547b1756e9e5b9fdf551f54626b02141346e8e42df1b2a4039b16131864021ab95b6011084e00e3edc2c072a4917a3a4fde965c0a0e2c15 WHIRLPOOL eb34865419bb1d81b8f2c0c350658232c426439a1ec90edd504399289efb7f32f9e88d44587d1e4ab81bdd4ff7ba370245e6dcb44423d4bbae5b5a0ccf6ab74c -DIST rust-1.43.0-i686-unknown-linux-gnu.tar.xz 126712424 SHA256 871b87937e7dc774a2d0f7788520a215efefb7369b4968fe3811d2cbe8f7244a SHA512 25fa8203874cac4f0c57da77c0ee9d2750b595f43590b666ad609ad1fe85fdc2604658be5fe7059aff6d0d567be0c6ae01e1e9d7fceb22bd602f1548201aa0eb WHIRLPOOL ce3abe85c9f384addff30456dacf219b206a6357d2e3754a446a4df38a8cc1eb97a5ce1ae332c53b952f71eb81f3e51f4ec00853a54502e34fc351eb08b1fa89 -DIST rust-1.43.0-x86_64-unknown-linux-gnu.tar.xz 112598556 SHA256 af633676caffaaecfb2600ec617d84e41811e7a6fe438760a97c5404afecdd6b SHA512 3fb0630e76f78565cafa9882d1c09a2bb31d0de145748ba4506d7b6a5ea508c4fb533ac3f60df8335d9c4944ba8f028752441d3c3443e3990fe3cc4e676c1670 WHIRLPOOL fa63625f80ef9e2a368e4f74dc6a82d655c7dd02ebfccc602a47d7787303a489093ee8514d7daf48e2f63cec6fefe432c4b9b06b3e5e0f2145e98682f7520a80 -DIST rustc-1.44.1-src.tar.xz 94756856 SHA256 e0386295dd5f2c7842835a509e4c57989eec6c29f989a1c85478b0e06f9d38ea SHA512 1c17002edae844a710db9b144c17171416330dc565343c65af8a6e112fb61555e2025bb4cf33cac1229d7df689e6ff8858b91ae00552400ccacafaf1de11849b WHIRLPOOL 2e3fd7d1e8407e51d8dfe5af4f975f8956fa77325335c7190ea6899508dd8b1350f9f8e468415d9639703f324b4e5033445490c72e94c06e7300ca5cac68d04e +DIST rust-1.44.1-aarch64-unknown-linux-gnu.tar.xz 101259004 SHA256 149e4d34ac86b9e7ac6c079ddcf19f68dacdccb4230916245187b0ebb8706fba SHA512 97a67addb5995f504d7326a500d1b40c52cc6e6e6f6e946adabcf825ce9b64272232a24bc30ce36e3ea63ccda4b980f3b7b61b0e88a8554f021b731ad79a35f1 WHIRLPOOL a36e1ede274e64a923d0e5145e9bd0aef816c58d0d21bbad2eecdde2748f7107f69326d7871ab968c3998c798d34672fafd97fbb733694f14d03d169cca87766 +DIST rust-1.44.1-armv7-unknown-linux-gnueabihf.tar.xz 109724880 SHA256 1e997c82efd3a3d4ed9e17a4ce031df2cef289d70a8819dfabd75b589a4884c4 SHA512 6a7bafba9c4d60bb13fac2a7683702352d3a04df24674f993952e9d872b9def47b5f8070925798343f5fd2f83775377ba2ddcf188b8500ec518fe44eb67483eb WHIRLPOOL 6d6e3144b5ab4f0c73e2f3c7fc59ae99dffe9386369db1d9be99dbf009ee51119dc1a425b87223e6b90282e72c2c0d2e93c298ea321b55092a02b3513dd67ad7 +DIST rust-1.44.1-i686-unknown-linux-gnu.tar.xz 124915068 SHA256 6b66841e041174bcefcfed9110cf787eae62ff8c07438b6bb081b832a2419513 SHA512 fc6259c7b55a1ee457e444885c9604d2bcbe937833bdca9bb70fbfb230032c1e497ea04aa5edd761eefe5b48d34928998c6935563e76c82eccb7a03b1d5aaa45 WHIRLPOOL 29ccc66cd1647463d10836bbd12d9eef5054922979af277b39cd7c673cbde8d38de057e5d4911a03d507e063e916363af17a48ec55420b1b3f0fce897b4a6a85 +DIST rust-1.44.1-x86_64-unknown-linux-gnu.tar.xz 112133992 SHA256 aa813a36f9ed0b9886c9555140e9163f565c532e541a28f8bd69288f7e4f0ff5 SHA512 540761fd5246f4a48a7606ac0220f0d61963473b57ef703696871dc23fda8154d45351b8e81018d15899c386b44e43b05028cc797d495e9dc46f127fbea7f093 WHIRLPOOL dbb3537d6fb83018b03a3493dbc332e36073cfe5a878e680f5264cbd844414386a5d5c514b041f5e4c562c2243ece782623b2f6344b361d90c9972dc73a91992 +DIST rustc-1.45.0-src.tar.xz 98677856 SHA256 c436034db42bc0ea7e7f32816ac6555b70d1f76c834407597966dfaf2ec839d6 SHA512 ff049eb65b36e6c64531d56251ebd446336a782f26504eccf375df1c22fa94b5f18e84660cef423edb815c1b31a1a7c9e57aea4aa0779576f3b0d7e81e19427b WHIRLPOOL be60965ba1b14608a94f945520dd69acb2684412a0815a647333ffec2e42dd4aa8713513d4839502eb1cfdd1bb60446e90766dd4acb77736547c5e9d395cc4f9 diff --git a/dev-lang/rust/rust-1.44.1-r666.ebuild b/dev-lang/rust/rust-1.44.1-r666.ebuild deleted file mode 100644 index 3cbdcf1..0000000 --- a/dev-lang/rust/rust-1.44.1-r666.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# 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 multiprocessing multilib-build python-any-r1 toolchain-funcs versionator - -ABI_VER="$(get_version_component_range 1-2)" -SLOT="dev/${ABI_VER}" -MY_P="rustc-${PV}" -SRC="${MY_P}-src.tar.xz" -KEYWORDS="~amd64 ~arm64 ~x86" - -CHOST_amd64=x86_64-unknown-linux-gnu -CHOST_x86=i686-unknown-linux-gnu -CHOST_arm64=aarch64-unknown-linux-gnu -CHOST_arm=armv7-unknown-linux-gnueabihf - -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}" -RUST_STAGE0_armv7="rust-${RUST_STAGE0_VERSION}-${CHOST_arm}" - -CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2))).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 - amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.xz ) - x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.xz ) - arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.xz ) - arm? ( https://static.rust-lang.org/dist/${RUST_STAGE0_armv7}.tar.xz ) -" - -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 debug doc libressl rls rustfmt thumbv7neon wasm ${ALL_LLVM_TARGETS[*]}" - -RDEPEND=">=app-eselect/eselect-rust-20190311 - 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 -" -PDEPEND="" - -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )" - -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_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_target_name="CHOST_${v##*.}" - rust_targets="${rust_targets},\"${!rust_target_name}\"" - done - if use wasm; then - rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" - fi - if use arm && use thumbv7neon; then - rust_targets="${rust_targets},\"thumbv7neon-unknown-linux-gnueabihf\"" - 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_name="CHOST_${ARCH}" - rust_target="${!rust_target_name}" - - cat <<- EOF > "${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) - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = ${extended} - tools = [${tools}] - verbose = 2 - [install] - prefix = "${EPREFIX}/usr" - libdir = "$(get_libdir)" - docdir = "share/doc/${P}" - mandir = "share/${P}/man" - [rust] - optimize = $(toml_usex !debug) - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - default-linker = "$(tc-getCC)" - 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 = "lld" - EOF - fi - - if use arm && use thumbv7neon; then - cat <<- EOF >> "${S}"/config.toml - [target.thumbv7neon-unknown-linux-gnueabihf] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - EOF - fi -} - -src_compile() { - env $(cat "${S}"/config.env)\ - ./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}" ./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##*.}) - mkdir -p "${D}/usr/${abi_libdir}" - cp "${D}/usr/$(get_libdir)/rustlib/${rust_target}/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}." - - 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 -} diff --git a/dev-lang/rust/rust-1.45.0-r666.ebuild b/dev-lang/rust/rust-1.45.0-r666.ebuild new file mode 100644 index 0000000..092d1fa --- /dev/null +++ b/dev-lang/rust/rust-1.45.0-r666.ebuild @@ -0,0 +1,289 @@ +# 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,8} pypy ) + +inherit multiprocessing multilib-build python-any-r1 toolchain-funcs versionator + +ABI_VER="$(get_version_component_range 1-2)" +SLOT="dev/${ABI_VER}" +MY_P="rustc-${PV}" +SRC="${MY_P}-src.tar.xz" +KEYWORDS="~amd64 ~arm64 ~x86" + +CHOST_amd64=x86_64-unknown-linux-gnu +CHOST_x86=i686-unknown-linux-gnu +CHOST_arm64=aarch64-unknown-linux-gnu +CHOST_arm=armv7-unknown-linux-gnueabihf + +RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).1" +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}" +RUST_STAGE0_armv7="rust-${RUST_STAGE0_VERSION}-${CHOST_arm}" + +CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2))).1" + +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 + amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.xz ) + x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.xz ) + arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.xz ) + arm? ( https://static.rust-lang.org/dist/${RUST_STAGE0_armv7}.tar.xz ) +" + +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 debug doc libressl rls rustfmt thumbv7neon wasm ${ALL_LLVM_TARGETS[*]}" + +RDEPEND=">=app-eselect/eselect-rust-20190311 + 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 +" +PDEPEND="" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )" + +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_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_target_name="CHOST_${v##*.}" + rust_targets="${rust_targets},\"${!rust_target_name}\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + fi + if use arm && use thumbv7neon; then + rust_targets="${rust_targets},\"thumbv7neon-unknown-linux-gnueabihf\"" + 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_name="CHOST_${ARCH}" + rust_target="${!rust_target_name}" + + cat <<- EOF > "${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) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = ${extended} + tools = [${tools}] + verbose = 2 + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + default-linker = "$(tc-getCC)" + 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 = "lld" + EOF + fi + + if use arm && use thumbv7neon; then + cat <<- EOF >> "${S}"/config.toml + [target.thumbv7neon-unknown-linux-gnueabihf] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF + fi +} + +src_compile() { + env $(cat "${S}"/config.env)\ + ./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}" ./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##*.}) + mkdir -p "${D}/usr/${abi_libdir}" + cp "${D}/usr/$(get_libdir)/rustlib/${rust_target}/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}." + + 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 +} diff --git a/virtual/rust/rust-1.44.1-r666.ebuild b/virtual/rust/rust-1.44.1-r666.ebuild deleted file mode 100644 index 63b7dbb..0000000 --- a/virtual/rust/rust-1.44.1-r666.ebuild +++ /dev/null @@ -1,17 +0,0 @@ -# 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" -HOMEPAGE="" -SRC_URI="" - -LICENSE="" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -BDEPEND="" -RDEPEND="|| ( =dev-lang/rust-${PVR}*[${MULTILIB_USEDEP}] =dev-lang/rust-bin-${PV}*[${MULTILIB_USEDEP}] )" diff --git a/virtual/rust/rust-1.45.0-r666.ebuild b/virtual/rust/rust-1.45.0-r666.ebuild new file mode 100644 index 0000000..63b7dbb --- /dev/null +++ b/virtual/rust/rust-1.45.0-r666.ebuild @@ -0,0 +1,17 @@ +# 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" +HOMEPAGE="" +SRC_URI="" + +LICENSE="" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND="" +RDEPEND="|| ( =dev-lang/rust-${PVR}*[${MULTILIB_USEDEP}] =dev-lang/rust-bin-${PV}*[${MULTILIB_USEDEP}] )" -- cgit v1.2.3-65-gdbad