From 29d63ef1ebd8704a96d50408d409b9ef0ff3787b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 9 Jun 2023 03:47:07 +0100 Subject: gentoo auto-resync : 09:06:2023 - 03:47:07 --- dev-lang/Manifest.gz | Bin 19488 -> 19486 bytes dev-lang/lfe/Manifest | 4 +- dev-lang/lfe/lfe-2.0.1.ebuild | 4 +- dev-lang/lfe/lfe-2.0.ebuild | 4 +- dev-lang/rust-bin/Manifest | 2 +- dev-lang/rust-bin/rust-bin-1.70.0-r1.ebuild | 231 ---------------------------- dev-lang/rust-bin/rust-bin-1.70.0-r2.ebuild | 230 +++++++++++++++++++++++++++ dev-lang/rust/Manifest | 2 +- dev-lang/rust/rust-1.70.0.ebuild | 2 +- 9 files changed, 239 insertions(+), 240 deletions(-) delete mode 100644 dev-lang/rust-bin/rust-bin-1.70.0-r1.ebuild create mode 100644 dev-lang/rust-bin/rust-bin-1.70.0-r2.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 4dbcdcc9ae54..392ab111dd6f 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest index 2e700eff8b6c..870b4a301b2a 100644 --- a/dev-lang/lfe/Manifest +++ b/dev-lang/lfe/Manifest @@ -1,6 +1,6 @@ AUX 70lfe-gentoo.el 166 BLAKE2B 023b504e013f24662bded660def58f013ca9b34bc9ee73a137df54e48825e71f3a7322652e7cb8fd60e19b2a508180e1933c6f03be163d4a614fecfb6b41d96a SHA512 a15c3db1640229eaa2c1faa44f7765a53fdde29af78f8a9130c3b8893098cbc41a3cb322402ac5b9b0ca8373739b03723acdc3685d83724fafa6afaee0c25891 DIST lfe-2.0.1.tar.gz 351818 BLAKE2B 4f661d2d4685af420bf9b531795ffacfe9b272b6bd39c81a4f3344e4003960d2deb31618df22d8f91c74b925ab522153b732d9afdbd894c64f70a533b573989e SHA512 47d062fcd1910580ba5d84f8887a27d0717cb7aae2a90fb3a7e7411fd46886dd73e342ccd4627227c70d13dcd2c5f66077d351812e9bc0c17d64e9ef65d04f96 DIST lfe-2.0.tar.gz 351324 BLAKE2B 811bd310cf917f3e1dc456c9e7c5cd09f5099a2ab20d2bde60e2057eb94ee9125298866b01ef9b483fdaef8572cb487c0a760407c79774e915fdd2c7c129d796 SHA512 b615f28947febe034b1bd155e6c357211ebbdb63aef67645a9681a4a30b799c2019a79ab8f33cd5d3003ad5da83e10af6b3e5c1abe810def92c88812d58c0d04 -EBUILD lfe-2.0.1.ebuild 1395 BLAKE2B 41a87d285c4278c86826595debd3303ed2b081b210befd73ce06b471c8a0cccfed5e6416c4c21652f3145696be42e2591e883d26a5a99c62d195ac20bced9545 SHA512 4bebb35aa8e14a2822e834dc7a9d8b852a9465caea6ff7c47a94b56d17a3ceb9442d0c4859650180647597e3678ec5ec9a9fccdf50463a68113fa66f6434b663 -EBUILD lfe-2.0.ebuild 1395 BLAKE2B a5aaa1651bb6ed497878c72d1defa3d8038007a3094912c8a9225fdea6348d44d8a30939d01625daaab741f530e6fca20465d5b8d5b9973ef909297ff38d35f0 SHA512 7ea89b2be62b645276692ce3762a18c2154a8805d784324b1a151879cacb5734e847c8489fb2141885a9a6e2a50f60d1674494b00623818d959776757448a70b +EBUILD lfe-2.0.1.ebuild 1394 BLAKE2B 5fab82eb68b582610838a68c2a578c158c1426f0a7ed8fc862a22407e50622ff5cec24a5f63a91c4a019e057b7fff2c1ccccbc96f642f309dbb9ac6d982b0a1a SHA512 ca3fade7add233c93017f6526fbf7a771c340cc34d21f771cf3b7993c39015242c25703921bd892eee7e4c51af7af5aec89e9b3c8cc10dc8b455e4d8905edc9d +EBUILD lfe-2.0.ebuild 1394 BLAKE2B a6f303267a5899ae0dfb2262327b218478b20cb8160d297ef35cedc2c6d0993a86e76a2ecc45acab6e579a2fec1c762ffcb058573f26eb7dae703bd663333b9e SHA512 15270ed3c9ba2ab921e98b31173f6b93bee49d43abb679f32ed039835a2e1f7bb71d5a158b997f5b95ea4e25870ee0070af4d93dd4dcd9adff383f41a1c764cc MISC metadata.xml 589 BLAKE2B 94dca142b926d73c55b24cf6976002b20a938f93ee49cf143d57284b936248c757daf32a80b4ef431a1a54287b618c83c48500db9a7ff330ec794a0d79b90498 SHA512 d34f128e89a8032b69060bba0630dc206604cd694b9d47e50763128f1dbb16fea9f7e9a8902d8f19f55ca26569c6aa89bd560a78a4b861b6cbe1366460cc8c0b diff --git a/dev-lang/lfe/lfe-2.0.1.ebuild b/dev-lang/lfe/lfe-2.0.1.ebuild index bd2582d072c0..60bc21520c3f 100644 --- a/dev-lang/lfe/lfe-2.0.1.ebuild +++ b/dev-lang/lfe/lfe-2.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -29,7 +29,7 @@ RDEPEND=" " DEPEND=" ${RDEPEND} - doc? ( app-text/pandoc ) + doc? ( virtual/pandoc ) " SITEFILE="70${PN}-gentoo.el" diff --git a/dev-lang/lfe/lfe-2.0.ebuild b/dev-lang/lfe/lfe-2.0.ebuild index a9f7eefb698e..888bf28c5c6f 100644 --- a/dev-lang/lfe/lfe-2.0.ebuild +++ b/dev-lang/lfe/lfe-2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -29,7 +29,7 @@ RDEPEND=" " DEPEND=" ${RDEPEND} - doc? ( app-text/pandoc ) + doc? ( virtual/pandoc ) " SITEFILE="70${PN}-gentoo.el" diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index c3d2a222bd52..fe4efbd70c00 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -203,5 +203,5 @@ EBUILD rust-bin-1.66.1-r1.ebuild 6798 BLAKE2B 6c814eb21abe2a4f3e3511d609e7ccc919 EBUILD rust-bin-1.67.1-r2.ebuild 6815 BLAKE2B 2de4c538189f9a2aad2b4d89c3dda55fa66f8dc9db229f3aef19191d6b1185e304e4a4041f52bd14513af7a02b950ea61697302d50432fabba346bf42dca8108 SHA512 610825359ada60e639220f0f9c48ef751b3e74c3a50723028605916e1391abecbc2748949a26105e25da2c8a95387109039d8db576fdec630a4fc86e57a02d01 EBUILD rust-bin-1.68.2-r1.ebuild 6770 BLAKE2B 7b40eeaeecce67b8a1c2b4705805d966644db051701f9e9c367bd6dfaf1ff8b12933c4f8b82759db1e26ec64ad9f765cf1aff5f7f108538588002bd16a1cd2cd SHA512 c30549581c8acd13453fffb9cca41c33dc2155279de6c58522dd6710c6bada519aaea7fd781284e652c15ff53915af4e31ef06121e9816fd4bf2876e8ceb63f4 EBUILD rust-bin-1.69.0.ebuild 6765 BLAKE2B c14b16db80f636d064a54bf256df9a4d8fe308e9821422dc9b46ce5e272200f32d463a4f6fa36b7a80b0c12972d00ff5c155183db4f788858cce6760d6b5a785 SHA512 c345e3f23dad76998bf86f893e75212b10a9c5621fd551546eaf3580cc418985255d3cc7e53f67855a42902d1d3116d3b78708fecc5073cfa71ec43c05ab1679 -EBUILD rust-bin-1.70.0-r1.ebuild 6963 BLAKE2B a55fa55bf3cbe6a5f6ef2acdcb606432542af11d4bf6287cc2e548c10ab4e809cded1b84760dd9e55b0f850f0fc51a763c601840d880194653bc4eb0b49f0409 SHA512 0a862be97e882ce2362fc95757b593746e93417a0a459280e2d94cbd99646fb502efc735916d45871b3b7b051265a9b15a55c9cd74ad436d6aa129aa3434fed6 +EBUILD rust-bin-1.70.0-r2.ebuild 6889 BLAKE2B 2bad9cb9724360157a1ca1eab776b2d86f6453399e9d298baa1d9aa6d38e2865c32e99940bafd9f4864a6067fd4d8c05fa73e971b6b3f9fe9b7e3c7182732de0 SHA512 83a7b4f7a1af11d8d9aa09a4894a722f6773f08904b7470cbc7e1009d045fa03c958543122a7c8c11aa9b4f7bf2bce3153a770ad28783cad794253333d1ef4c1 MISC metadata.xml 602 BLAKE2B 8e74f441d22eeb8b276d77ed0a9c5bde01540a3f34d6053185b2be77dd9188b80c01c536f8bb18c4c60214bd0bf366a504c1f3627110a213332120b533f7ddd2 SHA512 5f120deec600c7453d503b6acb9460d1c765a567954c79749654365721b1b6fa2dd48d60d5f3fc86191e79d5f7f78d7aa1e9634e6127f333f81e546f9b0f74ac diff --git a/dev-lang/rust-bin/rust-bin-1.70.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.70.0-r1.ebuild deleted file mode 100644 index 953c18686b33..000000000000 --- a/dev-lang/rust-bin/rust-bin-1.70.0-r1.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal - -MY_P="rust-${PV}" -# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" -MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-06-01/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) - rust-src? ( ${MY_SRC_URI} ) -" -# Keep this separate to allow easy commenting out if not yet built -#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="stable" -# KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" -IUSE="clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" - -DEPEND="" - -RDEPEND=" - >=app-eselect/eselect-rust-20190311 - dev-libs/openssl - sys-apps/lsb-release - sys-devel/gcc:* -" - -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" - -QA_PREBUILT=" - opt/${P}/bin/.* - opt/${P}/lib/.*.so - opt/${P}/libexec/.* - opt/${P}/lib/rustlib/.*/bin/.* - opt/${P}/lib/rustlib/.*/lib/.* -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc" - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then - die "${CHOST} is not supported by upstream Rust. You must use a hard float version." - fi -} - -src_unpack() { - # sadly rust-src tarball does not have corresponding .asc file - # so do partial verification - if use verify-sig; then - for f in ${A}; do - if [[ -f ${DISTDIR}/${f}.asc ]]; then - verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" - fi - done - fi - - default_src_unpack - - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - - # start native abi install - pushd "${S}" >/dev/null || die - local analysis std - analysis="$(grep 'analysis' ./components)" - std="$(grep 'std' ./components)" - local components="rustc,cargo,${std}" - use doc && components="${components},rust-docs" - use clippy && components="${components},clippy-preview" - use rustfmt && components="${components},rustfmt-preview" - use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" - # Rust component 'rust-src' is extracted from separate archive - if use rust-src; then - einfo "Combining rust and rust-src installers" - mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die - echo rust-src >> ./components || die - components="${components},rust-src" - fi - ./install.sh \ - --components="${components}" \ - --disable-verify \ - --prefix="${ED}/opt/${P}" \ - --mandir="${ED}/opt/${P}/man" \ - --disable-ldconfig \ - || die - - if use prefix; then - local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash) - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" - find "${ED}/opt/${P}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /opt/rust-bin-/bin/rustc- - local ver_i="${i}-bin-${PV}" - ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die - dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" - dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" - dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" - dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" - - # make all capital underscored variable - local CARGO_TRIPLET="$(rust_abi)" - CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" - CARGO_TRIPLET="${CARGO_TRIPLET^^}" - cat <<-_EOF_ > "${T}/50${P}" - LDPATH="${EPREFIX}/usr/lib/rust/lib" - MANPATH="${EPREFIX}/usr/lib/rust/man" - $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") - _EOF_ - doenvd "${T}/50${P}" - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/man - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${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 rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" - popd >/dev/null || die - #end native abi install - - else - local rust_target - rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" - dodir "/opt/${P}/lib/rustlib" - cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ - "${ED}/opt/${P}/lib/rustlib" || die - fi - - # BUG: installs x86_64 binary on other arches - rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die - - # libLLVM must NOT be stripped - # it's not present on all arches, but if present and stripped rustc will segfault. - # https://github.com/rust-lang/rust/issues/112286 - dostrip -x *libLLVM-* -} - -pkg_postinst() { - eselect rust update - - elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." - - 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/dev-lang/rust-bin/rust-bin-1.70.0-r2.ebuild b/dev-lang/rust-bin/rust-bin-1.70.0-r2.ebuild new file mode 100644 index 000000000000..93ef429779a2 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.70.0-r2.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-06-01/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +DEPEND="" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${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 rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." + + 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/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index d318071e8873..55a4954faea6 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -213,5 +213,5 @@ EBUILD rust-1.66.1.ebuild 23722 BLAKE2B fabdd9cfd2b8bdd812934548db81b4499b0e7ac4 EBUILD rust-1.67.1.ebuild 23148 BLAKE2B bc292a444801553efb9a8556834d9d8e117fe9e5c30bb7a8d99a3d0bcff62b839162f4f21161d7bede51236ac7c0d277aff93e97b308232fae4ddd3ee41958ec SHA512 ceafa53fcc725110b3b1d2cbb3bc198f558b3bb6fc17760a502232f85de114ec253dfe7275bbd0f8778ab936d20ba8f54b9035adde89c2c5e7713e2663527513 EBUILD rust-1.68.2.ebuild 23148 BLAKE2B 190d2a4c9fd075d9cb6a848224bc6c66f8d33502a9950bcd3aa6bef33e20fd9bd74ba53567b48afc923a6c0444cf9683e7423a6b1b79f9f7a5050fbc560da99e SHA512 fdf734a54c00fa9c12b87c2f097a6c2c4f864d0e8885f925e4a14b7fdf01afc1a2830cd40df8a184b5776039ca9398e3c50485c5d65fc439e230ea73bc9d3569 EBUILD rust-1.69.0-r1.ebuild 23207 BLAKE2B 9d17cdbbd5dd85e8591fba437462ee0677912a11d715e4483061fee22efcc5f1ac8b7eee2a404bb9c3c252551797c82163504e35ade99a29e22d111a3a8091ae SHA512 b1d0f50bbb9557aeb83a264d2dccdbc2ef879e44fd901cb2f6ac91c67e15a9aace3f4307c9d84228914e4317728fca91ee5fce1c3df1624bd6b3dfbba347988d -EBUILD rust-1.70.0.ebuild 23323 BLAKE2B fd77e4baf61ea9ba6d6ff875e1d5ab9db0be178d114dfa6892b458f6c72195f56de651b459f662aa935ded6cb6dab83dd85ef37fa57f2253a28c55e983c1e428 SHA512 ec796fb2b3e6c0aaa96967694d7f5ee27ae5fc61e55340f4703ee126d9cca57f7ef56ee0649e5ef766125a364da780749d8866fac93403a644cc4d5a330d6bc7 +EBUILD rust-1.70.0.ebuild 23321 BLAKE2B 50e5163e777315d2ded4193c27ac81570c4d8430aad5e4325e002941abacf8c414bb17c7aefb2a88b5a97aa685e58ca2a54514b66bbff87ca7e8874a054cf03a SHA512 1ac78a71aa54ee6e77fca5df409b698f9acd668dfb1aa63ca8ba67ed5e7eb0a0267fb6373a8e8b735aa1e69309e8fc3087e8386ec79a15fce1c6669178fb4714 MISC metadata.xml 1756 BLAKE2B fab29aa03373b0c47de798165a4cac03501da57e38b686917794a961c7e0491b87c7eabe2613883f7c05b6a5ea2ab225f409599e281b57c26ca8a2a22bbfa795 SHA512 a73f76a803fa7be46e30e87c939fab1ac5514daf15f5ef2800045bd30403a2fb2c69fd776becbc2bce61c67544228f7ddd4b87455982ad38dfb368c620bfb317 diff --git a/dev-lang/rust/rust-1.70.0.ebuild b/dev-lang/rust/rust-1.70.0.ebuild index 5c6f1dca8a0e..33820a266181 100644 --- a/dev-lang/rust/rust-1.70.0.ebuild +++ b/dev-lang/rust/rust-1.70.0.ebuild @@ -19,7 +19,7 @@ else SLOT="stable/${ABI_VER}" MY_P="rustc-${PV}" SRC="${MY_P}-src.tar.xz" - # KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" -- cgit v1.2.3