diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-04-03 01:34:02 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-04-03 01:34:02 +0100 |
commit | 476528d7a16cfe2435b30ebd74783eea6925db5f (patch) | |
tree | 7272fd6469aed7e7f83598430e378aec9ce0dbff /dev-lang/rust | |
parent | 6be74aaad3f65bab8561cebfef177dc28d802d9f (diff) |
gentoo auto-resync : 03:04:2025 - 01:34:01
Diffstat (limited to 'dev-lang/rust')
-rw-r--r-- | dev-lang/rust/Manifest | 11 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild | 815 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.86.0_beta20250323.ebuild (renamed from dev-lang/rust/rust-1.86.0_beta20250225.ebuild) | 11 |
3 files changed, 5 insertions, 832 deletions
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index b9c4414c360d..958ffb0fef0b 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -20,8 +20,6 @@ AUX 1.83.0-dwarf-llvm-assertion.patch 10432 BLAKE2B 27f7c4145cf3046e7cb74071b72c AUX 1.84.1-fix-cross.patch 1406 BLAKE2B 3af3e4d4c52c37a4580f1ec56d2b79f2751ad017fce4e5d615e74a495acdb7a6be2e0d1e8cb6bd6c2d30a1b739444a11e20e8fd4eb002cc2c1f17ac1167e5a04 SHA512 4dd606ed7a7d026f6209fb8e7507afee04dbc3be5956ef338fc1810385e9ead568f985cac63c8d1582c16153b597a46ec97cfbf677472e4ae28e7159243a5079 AUX 1.85.0-cross-compile-libz.patch 1130 BLAKE2B 145695a50ccf2db6f8060bf313924e4b337b63f4d1d8f49c7da014f9a3c9ab3849b7acdd6f0defd75f88852eafe5986019371b09c8305f65280883b7be7d9c70 SHA512 2c27d13ffb62143b1019b7568c7d1187744d9a4d01390d8dfb0d27fe758506dad317fafe0a12eeb13e785885c006cb4e72db104ef72229f51c276a3bfdf2bc9e AUX 1.85.0-musl-dynamic-linking.patch 15350 BLAKE2B 86704d0f99630153c10454d9776e8097f74e56abe69fcb71e6e9b62e8d8ee003cab981c9d2b719e4290249aece6b3b0fd547727ab89516500bfba18a8ffbb58b SHA512 31fec41ddd6c84988f22869ab7b81adc92ca5ebdce2f62ec4ddb6ed91e0bedcf3e34ddbd8a0725fa2ec50b84d0f87444c1beceaefb301f34864461ae071691f6 -DIST rust-1.86.0_beta20250218-vendor-in-install-phase.patch 22553 BLAKE2B a99d31c5ceeec4c74453849d87c35969ad3924cff48861a1c3009c78ac59440c8a1bd3088f0dace262558cff27197a932f3c81872d4ede4f3c5a03c27e6dc316 SHA512 228c551b7dfd4b43e3b34a97c7d55121cfc15f4c999c15e8ee2a30b41757099ae493148aaedf86f5e4e4143e26ae02464ab725162f1dcad68a0315cfadf3ab8a -DIST rust-1.86.0_beta20250225-vendor-in-install-phase.patch 22527 BLAKE2B 79c800e3ea5eef31e5603a6f3ec99606065f1c383751a989c9835490c2717620a71dc5bdc3613fbcc30ef45862090a8bc5049ba9ae6af861b20159a9cee96682 SHA512 cbfdcc55759c60b575808f2c6ec245d2ea271558295ea4ff4013933bf26252e00017422c286023a6f7089f2edcfe90c49cb06a07c4c41f2bf40e20c8dc85a604 DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 DIST rustc-1.71.1-src.tar.xz.asc 801 BLAKE2B a88c073a70552d73e2d7695eceabdaa478f34501b7271fabf7f4a09f3efa545181f34353e45776b05918e6aeba88adb02f9731454f7085a7abf1602fc6589983 SHA512 9dd0406cf22f1daa7fcfd015fc1c6f8d36586aa99bf14c1491ee464c1f892ab759feb83e8b55b64713170fb777fdbe038fb5fd01a59c911b6599223baaba0677 DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d @@ -52,10 +50,8 @@ DIST rustc-1.85.0-src.tar.xz 274011696 BLAKE2B 9cb1c5b9fa9b0ee8a3150d634b58f4d14 DIST rustc-1.85.0-src.tar.xz.asc 801 BLAKE2B 8168c984f69356898f7a51199f3250a51c58a6512463cd5011acdff8c63754ba196bb050dba95b73d37c7e6d4bbcd3d1cb471d067a6615cd81b8969394e3539a SHA512 b96fffde7eb3d98cca6abe44e671fd4752416357ab3180d2a09a60fc022ac03d10e64ae285ef6276b8d881d6154fd7398f46666f5a2ea6f3023ea38fd543f59e DIST rustc-1.85.1-src.tar.xz 274028992 BLAKE2B 1dddbbc0d14fe9551fd2eb59a47521ac7eaf783b8ebf5e89d3e82b38f3f1539c14626a86b6530a47e5a967d47a04db7a3daef568eb5164f42d98b6826346cffe SHA512 d61afb4f00d0c63eef132e10ca5369202064ecad8ab5bcf4fbd62e9a20b2bd71840b2a769dadcf43452fc0448865975c9de1c129752caa9928d2757027bacf7c DIST rustc-1.85.1-src.tar.xz.asc 801 BLAKE2B 07409ef6c044b72394a28dfd5b5decb237ca540714010a4f81e4213a3bf7ffb2e14029789f930cea0dab115a6e986859f6cdefd3798be780c2ff21c3e5fa6593 SHA512 7f19653fd05c89390a4073f5184ca162863b7116cc4d8867a5aa4304568880707ebb9f9dda166d7d04f30b2df6ed223eedd98df1744f809773054edfcd2385ff -DIST rustc-1.86.0_beta20250218-src.tar.xz 280540916 BLAKE2B ed3fe1b1ce392ffd264dd78c00e43b478d14c6bf9bc7120aa484c46a72ff904abf3ed1d1d539828a22071997860d186ecf9d5d4abed25f14cbbe0068dee06a5e SHA512 bd8982d6adee08e0b39a58786741594e0c651cd107818178aca0ded3c3272239be3c4f0f6b617679bc8b1cea67e4b5924d6bb1ae8a9d5903fb77245dd8ac528b -DIST rustc-1.86.0_beta20250218-src.tar.xz.asc 801 BLAKE2B 8a7c489f9087342074262c64089922b97e886aa6d3f89c2a0ed1185e084c8bed07d57c363608f26536ca884d764aa43e3ade214ab4fe4e67e9c6d7e1338e93aa SHA512 d34b536200fdb4c7e85af005b1753ce88f32a1faa418a01de21de992679d744ec396fd0f9aaaf851569de1f4f06f14a6481b68b1378659b3475d30818421ea3a -DIST rustc-1.86.0_beta20250225-src.tar.xz 280546668 BLAKE2B ea1956a83175a2cda21b6ad1ead38d8d0f6c95559d2e329bf0e4ca13d0ff6562d017d5bffbb57f9d6d232b1f87f3d190718bc0b90c6938b06763526fac083ada SHA512 782fafa305b8766db3d23796014a5897470988c9447baf4bee35d98b90382b5a727d0aecc3dabbdab0f82b6d862def8be23d8a6cf3d98cc96f18cf4a2bc38f66 -DIST rustc-1.86.0_beta20250225-src.tar.xz.asc 801 BLAKE2B 517f8d88edc1ef4ebd25d66a1be4f37718bfa361f8ae1001aca85ba626dacfef6ae27a327f33dd1ae9db7e57a91eab2d8bbfe910b5789df0998dd18026c75726 SHA512 50e3c85b7c6a7f42e094e63f4ee554d2d944a8e153ab5dbd1c2a09a1f44c6ee53cb1c4985080a373c5cb09681bc5b987e8a8e2f56a0a0053ccea99f22dc92986 +DIST rustc-1.86.0_beta20250323-src.tar.xz 275676660 BLAKE2B f86bc627ae6fc2abca4f274ef6b6b0702fe8c0f5f1b32af4a376992375786737da7f4c3b8f954b762ab04fae65f24afbd4658a286ddda1bacf0d3cf7d59f5168 SHA512 4768b2875f119e87a39596a45f7bbb02a00ea4d4516d080d6822934f8ff52f0af4430384d6a2366ddb2b0ddcaef4afb89438ecda829668522f2212f92d171b02 +DIST rustc-1.86.0_beta20250323-src.tar.xz.asc 801 BLAKE2B f8a278f2ee4a9a9ab608a326a420523268efd2fbbd77c9517a585bca5c1a48cf6ff7df8a8ba6c529d910fa66b0fa132dd3b602d8c9eaf675ce2bf1a2538096ec SHA512 20530c6cf689c43f96a8a6896d7eca46e225138708495b84422977e6d1a70ce7a3162c36d072b15b4c26e200576fe0a00cd937fb9a264f03492b64913a6d4985 EBUILD rust-1.71.1-r101.ebuild 22398 BLAKE2B 14f409fb8a8cd5bab98003e46778c6b08cebb1e52fd141ca55edab79e0d466dd680a7a09c6d607f87af1e7ffc995e3984b46f62a74164bdc3925dd5a4e866e47 SHA512 3c5a8471b73f392e4f3da8ad1ddc585a8e5fb0621fcb5cc6686ce228a88b0d01cc611f3836ec36173f28e6b5ff8e591b56254bb3a49ef9b874820c4f241b6cc6 EBUILD rust-1.74.1-r101.ebuild 38047 BLAKE2B 635e4abbd3b4adb9c82c1ddc7554ee417beed44d0aee61df98255175083d98a9ba0a3f091d8a273da36f4f7fc0476d3ce46d760504a37c8231c73df445238cfb SHA512 8d7fa2a8b28211e6470b3f6a1a27aeec0d3c3f8e99420ca5996bf4e26d5012aab480e669632b4ca1736b8118b38722e5d324ee12cbe6558ff114e7a21fc4726f EBUILD rust-1.75.0-r101.ebuild 23941 BLAKE2B 2f4bab4676bf7d52fb03a0265b2efcae3ce309598009decb8609b69040eb5863dc6e767564bb457d933c1045afb8245b3d9f612920ffd72265ac09777b9a051a SHA512 a3a3a4c6ffa2e9fa8b4c3fe0f58b73ef7f08d837cfcbd3c3354ba825c432f7dd19481e668ef7228e18ba78cfd797267d8de45dcd4697e6204cb15bfd0287ca9f @@ -72,7 +68,6 @@ EBUILD rust-1.84.1-r1.ebuild 22453 BLAKE2B f1c5b255369c426023960d89bc0cd2aedbc29 EBUILD rust-1.85.0-r1.ebuild 25586 BLAKE2B 8922eb45ace74a0a6bc8e15d00680a5f3ca27519d3dd7ba7dcac1be2b3aeb502b78f3cddc18631de52581e6532ba10715c968bce1f8a559755d494a088ca51bb SHA512 438c76f395828684184982316ef0931d3619a3d09f5e733310fea5c8a64e1ca504dd4fc20d31cc788f88d46f1825c05cb9898cb9fd201157e83e53797164f841 EBUILD rust-1.85.0.ebuild 25537 BLAKE2B 7b4a1cffb5769f7ac2b049a2076c51a5df13b7d9d2be1c7d960ac3046b983e577bb991668f124899a0d0220e6055a31fc88775ce3e8ff7ae6efc68428f5d865b SHA512 31cac0249245527578ae82f52e097b337c691706f39b5e060426e76b55a7aed95f0ad32671a2d6866c570f6ec4c50dc90e8853e2aac68c7eca80c3d5295cca54 EBUILD rust-1.85.1.ebuild 25586 BLAKE2B 8922eb45ace74a0a6bc8e15d00680a5f3ca27519d3dd7ba7dcac1be2b3aeb502b78f3cddc18631de52581e6532ba10715c968bce1f8a559755d494a088ca51bb SHA512 438c76f395828684184982316ef0931d3619a3d09f5e733310fea5c8a64e1ca504dd4fc20d31cc788f88d46f1825c05cb9898cb9fd201157e83e53797164f841 -EBUILD rust-1.86.0_beta20250218-r1.ebuild 25950 BLAKE2B 6f970112b770e85633ecb82925816400135595cd3ac0bd274fd362144cb77adeafcbfc24403c384d598e2e139e4fcc2a48238adec853013bf54bc5e7a1ee9efe SHA512 930e930b54cdc50d3f24e6835617a706c714c0f1b817aff558d131dfe73fdb9a222fe6f69c8167585a42ef21bf2687ffc817cb8abace1b3dd0164d9378c9f28d -EBUILD rust-1.86.0_beta20250225.ebuild 25951 BLAKE2B d2fcba60f03d85d3c4dc5a6c3d43385cef91de18235fc80d902e3f4855999376f1013ba55ee3b5f54b2d1945c70614eeca0107693456c6bfb9d9f4490757213b SHA512 c3d0032a3d2e7aff373ac1b040c06d4ff3585daf4d93adb4b95d7e446596c48d09b804c405cc9bf997790f89e06287aec9f2c7c41739bdf3e22eb92a71a90c8c +EBUILD rust-1.86.0_beta20250323.ebuild 25587 BLAKE2B 3639214ebe4f056fdbc31f91c0ce7842c2028400c018293e2f371dddfea154d5116706431445b9675239ac362d2887aa3ed226b948acfcded02c11835ea45950 SHA512 3786017c2e5c050a3ff0733375f741839a0115d6b471b707dfc2e1bf2893b97a7ff911b4821360a517585ab87b90c0a255a07dec84864ea35d486b996b9329ce EBUILD rust-9999.ebuild 25610 BLAKE2B 0f09d17c911ce17034666917dc1a3527c91cd4f4ac7aaeb51c196e8ad0d64f6609ef99f1b490beac2612fec7dc8cb606748600a7ba93da2991fce5b95c53dde6 SHA512 a6e078cd1c42602dc52e9081fae8342f08673703a2698d01c2ba1ce361598cec66572c8b1a10e3695888bb17fb6a342ed8bdc9c89098e7a3458a41ec84d3eb5b MISC metadata.xml 1841 BLAKE2B 48a8167ae44a7f4892b917895298627ac920af6c488180980e65bdeec53b650455fc6d7dddad0a7a8257d473080082377fb6b6df6a834b294b6e6485e6784a1e SHA512 1f5fd792b65ccac89a61233004980d9f7cbaecea5d05f35f9cc2dc9cab4e3ccfcd46828e88770a1b8ba5ca23064b6a75eea72a0b32bcce52bb399b85ac95f755 diff --git a/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild b/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild deleted file mode 100644 index c22abb3204b7..000000000000 --- a/dev-lang/rust/rust-1.86.0_beta20250218-r1.ebuild +++ /dev/null @@ -1,815 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 19 ) -PYTHON_COMPAT=( python3_{10..13} ) - -RUST_MAX_VER=${PV%%_*} -if [[ ${PV} == *9999* ]]; then - RUST_MIN_VER="1.86.0" # Update this as new `beta` releases come out. -elif [[ ${PV} == *beta* ]]; then - # Enforce that `beta` is built from `stable`. - # While uncommon it is possible for feature changes within `beta` to result - # in an older snapshot being unable to build a newer one without modifying the sources. - # 'stable' releases should always be able to build a beta snapshot so just use those. - RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" - RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" -else - RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" -fi - -inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature \ - multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rust-lang/rust.git" - EGIT_SUBMODULES=( - "*" - "-src/gcc" - ) -elif [[ ${PV} == *beta* ]]; then - # Identify the snapshot date of the beta release: - # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz - verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc - -> rustc-${PV}-src.tar.xz.asc ) - https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch - " - S="${WORKDIR}/${MY_P}-src" -else - MY_P="rustc-${PV}" - SRC_URI="https://static.rust-lang.org/dist/${MY_P}-src.tar.xz - verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}-src" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -DESCRIPTION="Systems programming language originally developed by Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -# keep in sync with llvm ebuild of the same version as bundled one. -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai - LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE - WebAssembly X86 XCore Xtensa ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} - -# https://github.com/rust-lang/llvm-project/blob/rustc-1.84.0/llvm/CMakeLists.txt -_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) -declare -A ALL_RUST_EXPERIMENTAL_TARGETS -for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do - ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 -done - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable - -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" - -if [[ ${PV} = *9999* ]]; then - # These USE flags require nightly rust - IUSE+=" miri" -fi - -LLVM_DEPEND=() -# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation -for _x in "${ALL_LLVM_TARGETS[@]}"; do - LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}]") )" ) - if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then - ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 - fi -done -LLVM_DEPEND+=( " wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) -LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) - -BDEPEND="${PYTHON_DEPS} - app-eselect/eselect-rust - || ( - >=sys-devel/gcc-4.7[cxx] - >=llvm-core/clang-3.5 - ) - lto? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) - !system-llvm? ( - >=dev-build/cmake-3.13.4 - app-alternatives/ninja - ) - test? ( dev-debug/gdb ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -DEPEND=" - >=app-arch/xz-utils-5.2 - net-misc/curl:=[http2,ssl] - sys-libs/zlib:= - dev-libs/openssl:0= - system-llvm? ( - ${LLVM_DEPEND[*]} - llvm-libunwind? ( llvm-runtimes/libunwind:= ) - ) - !system-llvm? ( - !llvm-libunwind? ( - elibc_musl? ( sys-libs/libunwind:= ) - ) - ) -" - -RDEPEND="${DEPEND} - app-eselect/eselect-rust - dev-lang/rust-common - sys-apps/lsb-release - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" - -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) - rust-analyzer? ( rust-src ) - test? ( ${ALL_LLVM_TARGETS[*]} ) - wasm? ( llvm_targets_WebAssembly ) - x86? ( cpu_flags_x86_sse2 ) -" - -# we don't use cmake.eclass, but can get a warning -CMAKE_WARN_UNUSED_CLI=no - -QA_FLAGS_IGNORED=" - usr/lib/${PN}/${SLOT}/bin/.* - usr/lib/${PN}/${SLOT}/libexec/.* - usr/lib/${PN}/${SLOT}/lib/lib.*.so - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so -" - -QA_SONAME=" - usr/lib/${PN}/${SLOT}/lib/lib.*.so.* - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so -" - -QA_PRESTRIPPED=" - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp - usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o -" - -# 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="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -# causes double bootstrap -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -PATCHES=( - "${DISTDIR}"/${P}-vendor-in-install-phase.patch - "${FILESDIR}"/1.85.0-cross-compile-libz.patch - "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch - "${FILESDIR}"/1.67.0-doc-wasm.patch -) - -clear_vendor_checksums() { - sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die -} - -toml_usex() { - usex "${1}" true false -} - -src_unpack() { - if [[ ${PV} = *9999* ]]; then - git-r3_src_unpack - mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} - touch "${S}/.cargo/config.toml" || die - local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" - local rust_build="" - local rust_host="" - # Configure vendor to use the portage-provided toolchain. This prevents it from - # attempting to fetch a `beta` toolchain from the internet. - cat <<- _EOF_ > "${T}/vendor-config.toml" - [build] - build = "$(rust_abi "${CBUILD}")" - host = ["$(rust_abi "${CHOST}")"] - target = ["$(rust_abi "${CHOST}")"] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - _EOF_ - # We're using git sources so we need to run the Vendor script - # to ensure that all dependencies are present and up-to-date - mkdir "${S}/vendor" || die - # This also compiles the 'build helper', there's no way to avoid this. - ${EPYTHON} "${S}"/x.py vendor -vvv --config="${T}"/vendor-config.toml -j$(makeopts_jobs) || - die "Failed to vendor dependencies" - # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. - cat <<- _EOF_ > "${S}/.cargo/config.toml" - [source.crates-io] - replace-with = "vendored-sources" - - [source."git+https://github.com/rust-lang/team"] - git = "https://github.com/rust-lang/team" - replace-with = "vendored-sources" - - [source.vendored-sources] - directory = "vendor" - _EOF_ - else - # Until upstream merge this patch we can't use the default verify-sig_src_unpack - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/rustc-${PV}-src.tar.xz" \ - "${DISTDIR}/rustc-${PV}-src.tar.xz.asc" - fi - default_src_unpack - fi -} - -pre_build_checks() { - local M=9216 - # multiply requirements by 1.3 if we are doing x86-multilib - if use amd64; then - M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) - fi - M=$(( $(usex clippy 128 0) + ${M} )) - if [[ ${PV} == *9999* ]]; then - M=$(( $(usex miri 128 0) + ${M} )) - fi - M=$(( $(usex rustfmt 256 0) + ${M} )) - # add 2G if we compile llvm and 256M per llvm_target - if ! use system-llvm; then - M=$(( 2048 + ${M} )) - local ltarget - for ltarget in ${ALL_LLVM_TARGETS[@]}; do - M=$(( $(usex ${ltarget} 256 0) + ${M} )) - done - fi - M=$(( $(usex wasm 256 0) + ${M} )) - M=$(( $(usex debug 2 1) * ${M} )) - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - M=$(( 15 * ${M} / 10 )) - fi - eshopts_pop - M=$(( $(usex doc 256 0) + ${M} )) - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -llvm_check_deps() { - has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include <ciso646> -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - [[ ${out} == *HAVE_LIBCXX* ]] -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - python-any-r1_pkg_setup - - export LIBGIT2_NO_PKG_CONFIG=1 #749381 - if tc-is-cross-compiler; then - use system-llvm && die "USE=system-llvm not allowed when cross-compiling" - local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" - use "llvm_targets_${cross_llvm_target}" || \ - die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" - fi - - rust_pkg_setup - - if use system-llvm; then - llvm-r1_pkg_setup - - local llvm_config="$(get_llvm_prefix)/bin/llvm-config" - export LLVM_LINK_SHARED=1 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" - fi -} - -src_prepare() { - if [[ ${PV} = *9999* ]]; then - # We need to update / generate lockfiles for the workspace - ${CARGO} generate-lockfile --offline - - fi - # Rust baselines to Pentium4 on x86, this patch lowers the baseline to i586 when sse2 is not set. - if use x86; then - if ! use cpu_flags_x86_sse2; then - eapply "${FILESDIR}/1.82.0-i586-baseline.patch" - #grep -rl cmd.args.push\(\"-march=i686\" . | xargs sed -i 's/march=i686/-march=i586/g' || die - fi - fi - - if use lto && tc-is-clang && ! tc-ld-is-lld; then - export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" - fi - - default -} - -src_configure() { - if tc-is-cross-compiler; then - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH="${ESYSROOT}/usr/$(get_libdir)/pkgconfig" - export OPENSSL_INCLUDE_DIR="${ESYSROOT}/usr/include" - export OPENSSL_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)" - fi - - filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 - - 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_abi $(get_abi_CHOST ${v##*.}))\"" - done - if use wasm; then - rust_targets+=",\"wasm32-unknown-unknown\"" - if use system-llvm; then - # un-hardcode rust-lld linker for this target - # https://bugs.gentoo.org/715348 - sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die - fi - fi - rust_targets="${rust_targets#,}" - - # cargo and rustdoc are mandatory and should always be included - local tools='"cargo","rustdoc"' - use clippy && tools+=',"clippy"' - use rustfmt && tools+=',"rustfmt"' - use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' - use rust-src && tools+=',"src"' - - if [[ ${PV} == *9999* ]]; then - use miri && tools+=',"miri"' - fi - - local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" - - rust_target="$(rust_abi)" - rust_build="$(rust_abi "${CBUILD}")" - rust_host="$(rust_abi "${CHOST}")" - - RUST_EXPERIMENTAL_TARGETS=() - for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do - if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then - RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) - fi - done - RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} - - local cm_btype="$(usex debug DEBUG RELEASE)" - local build_channel - local build_miri="false" - case "${PV}" in - *9999*) - build_channel="nightly" - ;; - *beta*) - build_channel="beta" - ;; - *) - build_channel="stable" - ;; - esac - cat <<- _EOF_ > "${S}"/config.toml - # https://github.com/rust-lang/rust/issues/135358 (bug #947897) - profile = "dist" - [llvm] - download-ci-llvm = false - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" - link-shared = $(toml_usex system-llvm) - $(if is_libcxx_linked; then - # https://bugs.gentoo.org/732632 - echo "use-libcxx = true" - echo "static-libstdcpp = false" - fi) - $(case "${rust_target}" in - i586-*-linux-*) - # https://github.com/rust-lang/rust/issues/93059 - echo 'cflags = "-fcf-protection=none"' - echo 'cxxflags = "-fcf-protection=none"' - echo 'ldflags = "-fcf-protection=none"' - ;; - *) - ;; - esac) - enable-warnings = false - [llvm.build-config] - CMAKE_VERBOSE_MAKEFILE = "ON" - $(if ! tc-is-cross-compiler; then - # When cross-compiling, LLVM is compiled twice, once for host and - # once for target. Unfortunately, this build configuration applies - # to both, which means any flags applicable to one target but not - # the other will break. Conditionally disable respecting user - # flags when cross-compiling. - echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" - echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" - echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" - echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" - fi) - [build] - build-stage = 2 - test-stage = 2 - build = "${rust_build}" - host = ["${rust_host}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - docs = $(toml_usex doc) - compiler-docs = false - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = true - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" - sysconfdir = "etc" - docdir = "share/doc/rust" - bindir = "bin" - libdir = "lib" - mandir = "share/man" - [rust] - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debug-assertions-std = $(toml_usex debug) - debuginfo-level = $(usex debug 2 0) - debuginfo-level-rustc = $(usex debug 2 0) - debuginfo-level-std = $(usex debug 2 0) - debuginfo-level-tools = $(usex debug 2 0) - debuginfo-level-tests = 0 - backtrace = true - incremental = false - $(if ! tc-is-cross-compiler; then - echo "default-linker = \"${CHOST}-cc\"" - fi) - channel = "${build_channel}" - description = "gentoo" - rpath = true - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - dist-src = false - remap-debuginfo = true - lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then - echo "use-lld = true" - fi) - # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it - # https://github.com/rust-lang/rust/issues/74976 - # https://github.com/rust-lang/rust/issues/76526 - deny-warnings = $(usex wasm $(usex doc false true) true) - backtrace-on-ice = true - jemalloc = false - # See https://github.com/rust-lang/rust/issues/121124 - lto = "$(usex lto thin off)" - [dist] - src-tarball = false - compression-formats = ["xz"] - compression-profile = "balanced" - _EOF_ - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - export CFLAGS_${rust_target//-/_}="${arch_cflags}" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${rust_target}] - ar = "$(tc-getAR)" - cc = "$(tc-getCC)" - cxx = "$(tc-getCXX)" - linker = "$(tc-getCC)" - ranlib = "$(tc-getRANLIB)" - llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix)/bin/llvm-config" - _EOF_ - fi - # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - # but we patch it and set to false here as well - if use elibc_musl; then - cat <<- _EOF_ >> "${S}"/config.toml - crt-static = false - musl-root = "$($(tc-getCC) -print-sysroot)/usr" - _EOF_ - fi - done - if use wasm; then - wasm_target="wasm32-unknown-unknown" - export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" - cat <<- _EOF_ >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 - profiler = false - _EOF_ - fi - - if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below - # experimental cross support - # discussion: https://bugs.gentoo.org/679878 - # TODO: c*flags, clang, system-llvm, cargo.eclass target support - # it would be much better if we could split out stdlib - # complilation to separate ebuild and abuse CATEGORY to - # just install to /usr/lib/rustlib/<target> - - # extra targets defined as a bash array - # spec format: <LLVM target>:<rust-target>:<CTARGET> - # best place would be /etc/portage/env/dev-lang/rust - # Example: - # RUST_CROSS_TARGETS=( - # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" - # ) - # no extra hand holding is done, no target transformations, all - # values are passed as-is with just basic checks, so it's up to user to supply correct values - # valid rust targets can be obtained with - # rustc --print target-list - # matching cross toolchain has to be installed - # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) - # only gcc toolchains installed with crossdev are checked for now. - - # BUG: we can't pass host flags to cross compiler, so just filter for now - # BUG: this should be more fine-grained. - filter-flags '-mcpu=*' '-march=*' '-mtune=*' - - local cross_target_spec - for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do - # extracts first element form <LLVM target>:<rust-target>:<CTARGET> - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, <rust-target>:<CTARGET> - local cross_triples="${cross_target_spec#*:}" - # extracts first element after before : separator - local cross_rust_target="${cross_triples%%:*}" - # extracts last element after : separator - local cross_toolchain="${cross_triples##*:}" - use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" - command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${cross_rust_target}] - ar = "${cross_toolchain}-ar" - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ranlib = "${cross_toolchain}-ranlib" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix)/bin/llvm-config" - _EOF_ - fi - if [[ "${cross_toolchain}" == *-musl* ]]; then - cat <<- _EOF_ >> "${S}"/config.toml - musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" - _EOF_ - fi - - # append cross target to "normal" target list - # example 'target = ["powerpc64le-unknown-linux-gnu"]' - # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' - - rust_targets="${rust_targets},\"${cross_rust_target}\"" - sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die - - ewarn - ewarn "Enabled ${cross_rust_target} rust target" - ewarn "Using ${cross_toolchain} cross toolchain" - ewarn - if ! has_version -b 'sys-devel/binutils[multitarget]' ; then - ewarn "'sys-devel/binutils[multitarget]' is not installed" - ewarn "'strip' will be unable to strip cross libraries" - ewarn "cross targets will be installed with full debug information" - ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" - ewarn - ewarn "Alternatively llvm-strip can be used, it supports stripping any target" - ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" - ewarn - fi - done - fi # I_KNOW_WHAT_I_AM_DOING_CROSS - - einfo "Rust configured with the following flags:" - echo - echo RUSTFLAGS="\"${RUSTFLAGS}\"" - echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" - echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" - echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" - env | grep "CARGO_TARGET_.*_RUSTFLAGS=" - env | grep "CFLAGS_.*" - echo - einfo "config.toml contents:" - cat "${S}"/config.toml || die - echo -} - -src_compile() { - RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die -} - -src_test() { - # https://rustc-dev-guide.rust-lang.org/tests/intro.html - - # those are basic and codegen tests. - local tests=( - codegen - codegen-units - compile-fail - incremental - mir-opt - pretty - run-make - ) - - # fails if llvm is not built with ALL targets. - # and known to fail with system llvm sometimes. - use system-llvm || tests+=( assembly ) - - # fragile/expensive/less important tests - # or tests that require extra builds - # TODO: instead of skipping, just make some nonfatal. - if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then - tests+=( - rustdoc - rustdoc-js - rustdoc-js-std - rustdoc-ui - run-make-fulldeps - ui - ui-fulldeps - ) - fi - - local i failed=() - einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" - for i in "${tests[@]}"; do - local t="src/test/${i}" - einfo "rust_src_test: running ${t}" - if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ - -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" - then - failed+=( "${t}" ) - eerror "rust_src_test: ${t} failed" - fi - done - - if [[ ${#failed[@]} -ne 0 ]]; then - eerror "rust_src_test: failure summary: ${failed[@]}" - die "aborting due to test failures" - fi -} - -src_install() { - DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - - docompress /usr/lib/${PN}/${SLOT}/share/man/ - - # bug #689562, #689160 - rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die - rmdir -v "${ED}/usr/lib/${PN}/${SLOT}"/etc{/bash_completion.d,} || die - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - if [[ ${PV} = *9999* ]]; then - use miri && symlinks+=( miri cargo-miri ) - fi - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" - 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 /usr/lib/rust/<ver>/bin/rustc-<ver> - # need to fix eselect-rust to remove this hack. - local ver_i="${i}-${PV%%_*}" - if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then - einfo "Installing ${i} symlink" - ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die - else - ewarn "${i} symlink requested, but source file not found" - ewarn "please report this" - fi - dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" - use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" - dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" - dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" - dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${P}" - - newenvd - "50${P}" <<-_EOF_ - MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" - _EOF_ - - rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" - /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 [[ ${SLOT} == *9999* ]] && use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${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/lib/rust/libexec >> "${T}/provider-${P}" - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${PN}-${SLOT}" - - if use dist; then - "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - insinto "/usr/lib/${PN}/${SLOT}/dist" - doins -r "${S}/build/dist/." - fi -} - -pkg_postinst() { - - eselect rust update - - if has_version dev-debug/gdb || has_version llvm-core/lldb; then - elog "Rust installs helper scripts for calling GDB and LLDB," - elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." - fi - - if has_version app-editors/emacs; then - optfeature "emacs support for rust" app-emacs/rust-mode - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - optfeature "vim support for rust" app-vim/rust-vim - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.86.0_beta20250225.ebuild b/dev-lang/rust/rust-1.86.0_beta20250323.ebuild index 7590d615f095..320054bf1db1 100644 --- a/dev-lang/rust/rust-1.86.0_beta20250225.ebuild +++ b/dev-lang/rust/rust-1.86.0_beta20250323.ebuild @@ -14,7 +14,7 @@ elif [[ ${PV} == *beta* ]]; then # While uncommon it is possible for feature changes within `beta` to result # in an older snapshot being unable to build a newer one without modifying the sources. # 'stable' releases should always be able to build a beta snapshot so just use those. - RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" + RUST_MAX_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).1" RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" else RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" @@ -39,7 +39,6 @@ elif [[ ${PV} == *beta* ]]; then SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc -> rustc-${PV}-src.tar.xz.asc ) - https://github.com/rust-lang/rust/pull/137020.patch -> ${P}-vendor-in-install-phase.patch " S="${WORKDIR}/${MY_P}-src" else @@ -167,7 +166,6 @@ RESTRICT="test" VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc PATCHES=( - "${DISTDIR}"/${P}-vendor-in-install-phase.patch "${FILESDIR}"/1.85.0-cross-compile-libz.patch "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch "${FILESDIR}"/1.67.0-doc-wasm.patch @@ -219,12 +217,7 @@ src_unpack() { directory = "vendor" _EOF_ else - # Until upstream merge this patch we can't use the default verify-sig_src_unpack - if use verify-sig; then - verify-sig_verify_detached "${DISTDIR}/rustc-${PV}-src.tar.xz" \ - "${DISTDIR}/rustc-${PV}-src.tar.xz.asc" - fi - default_src_unpack + verify-sig_src_unpack fi } |