diff options
Diffstat (limited to 'dev-lang/rust')
-rw-r--r-- | dev-lang/rust/Manifest | 27 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.71.1-r101.ebuild (renamed from dev-lang/rust/rust-1.71.1-r100.ebuild) | 7 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.74.1-r101.ebuild (renamed from dev-lang/rust/rust-1.74.1-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.75.0-r101.ebuild (renamed from dev-lang/rust/rust-1.75.0-r100.ebuild) | 7 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.76.0-r101.ebuild (renamed from dev-lang/rust/rust-1.76.0-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.77.1-r101.ebuild (renamed from dev-lang/rust/rust-1.77.1-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.78.0-r101.ebuild (renamed from dev-lang/rust/rust-1.79.0-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.79.0-r101.ebuild (renamed from dev-lang/rust/rust-1.78.0-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.80.1-r101.ebuild (renamed from dev-lang/rust/rust-1.80.1-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.81.0-r101.ebuild (renamed from dev-lang/rust/rust-1.81.0-r100.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.82.0-r100.ebuild | 756 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.82.0-r102.ebuild (renamed from dev-lang/rust/rust-1.82.0-r101.ebuild) | 5 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.83.0-r2.ebuild (renamed from dev-lang/rust/rust-1.83.0-r1.ebuild) | 3 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.84.0-r1.ebuild (renamed from dev-lang/rust/rust-1.84.0.ebuild) | 39 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.84.1-r1.ebuild (renamed from dev-lang/rust/rust-1.84.1.ebuild) | 39 |
15 files changed, 38 insertions, 880 deletions
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 49d2ac443c33..3d08c8e892b6 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -44,18 +44,17 @@ DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb DIST rustc-1.84.1-src.tar.xz 355078168 BLAKE2B 849e8c909493bf76ce9749b9dcb1967180223b91a41d690bc477e78557d4e24949c9a8d8276d824af8c54ad62bc4a998e7a8efbc0bbd2008a4f64f51a7690d48 SHA512 f1cc4765736551508408126e44086988e8ddc30c1a929bf7b61c6be85ad0d65928dd5fb1041cfaeee8eb37d2208f2c1917e276aef2bc9a8e40e34f6713b349e1 DIST rustc-1.84.1-src.tar.xz.asc 801 BLAKE2B f3decd3470fd1eff33adbb376490a30eb8db28dd4176bde0fefe4f60acf79c3dd0e1a330d519b5319360136ea7d0a124f6720dea08617202d9e9298da992ccf6 SHA512 a241fe3efba293f3e872b74f09dd0d184e0239afd1416326d57bf1134d92721c65b187f5c99962b51671877a539f18e82d2d797c76af42615c11a8bb3905f796 -EBUILD rust-1.71.1-r100.ebuild 22077 BLAKE2B 1082eec69086f44922a4d9b4d7d0fbee5104c4653fe6320764748638389871081c5812aa0bed84ecd36f6d764e38a257c640518b3ca190797ca595506106739f SHA512 461a0bd207a4424c2512ee404202b14fdc8bf6d4bd628e38f325584ff4e452de0f3615e3a3683b2d1eae0b9498443eccb10f6800cf3c6be862f1643b9203c017 -EBUILD rust-1.74.1-r100.ebuild 37690 BLAKE2B 93ff1451143f5282ef231911a3b820649052300b933a9e6fd602ce6dcbf6f88af118e2835e59d3b520ba7f09a292d71d1f9b7b7a48bbbeadaaf880ff0a0dc3ea SHA512 2709d8377472eda62ebd2d0c296b1b678c106e6cc33268823391f0e2072f06551e1bb9094017077f4bd56aa0a34bee3a329d0a6f27fd1f8304af6abcc9e9b241 -EBUILD rust-1.75.0-r100.ebuild 23584 BLAKE2B ec9b5d0dc286ce5f1931df6e60817531f3ce6002a3916e47355c557693b19bdacdefd3e01d309880c8e48e53d4fc9082bab4aa2ed9da34c51df8b8c25e60305f SHA512 f759a9db473a3d19571b20669b9631446b71c508ba9cf42edc126e1da03ce8ad34478b6712f48711ee152001841d31662ea6f227faacec1fb51b625522415e64 -EBUILD rust-1.76.0-r100.ebuild 20091 BLAKE2B c9132c08aa051dcd3412909472312db21db79db7215beacc564c2d58e00b2dbd758f4bfa3a81d2a5dfa70a1bbf9ec82a96dbd7042e561d05c5e3cb7a699d240c SHA512 c9a821bfb2f693ab5d628eff20dcdea32bc1f29540e22c465275f89a6559f6db6d9ab93fd2cabba30f20b5bdd9cb24645d4f73f9b1976bb113b06544ea4746c2 -EBUILD rust-1.77.1-r100.ebuild 23547 BLAKE2B dfa0b1105be8a58c88afd4fe184381bc83516f9935e6ac533d8f44bc0953b3da9305cbfdd44915810d87fc89cd2aee76f06e30d617ed4425cd01cbe429e5e8c4 SHA512 9ce03c548c77382a8fd91690a6071bf082f468e5807cd132a0b8206208580336a61991f7d563b5d12629d920753e2b2d59d099e7f7afad17d259717a17af6cd5 -EBUILD rust-1.78.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2 -EBUILD rust-1.79.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2 -EBUILD rust-1.80.1-r100.ebuild 23654 BLAKE2B 10e70066371a07ff8e0618533ad210c5080e2cfcba87fb69535c7845b508e62825d9d392068d1ee264fcf951c20c9bbe815e4868ac08d0f97b68a6a77a03417e SHA512 e1869237eb35a8f27ed1b540b679c58aee3303e21d7f6f96af8828171c1bfd1d32c7c0a3b94e15fc2ca4bc0e0840ee9e79fd5a93b5c3e8e2e9b1fe70965c875a -EBUILD rust-1.81.0-r100.ebuild 23851 BLAKE2B 03c31a2fca18dbddce10b8652bba84d86fcde844a24c3bb4c1981f7ef549627c03008c4df82fe0529368e4e7af632ed605a49502a79ff8c670e680a5ae94c10b SHA512 b313e6de5b77854bc2c2afb6ae1347f85a0dbbec86111b8f266ed6f3e92d0eee461588b209b1cead0caa433336c7c63040d08fd00de3272c51cf68c5d2ba3ff1 -EBUILD rust-1.82.0-r100.ebuild 23997 BLAKE2B 227d902466e31d42551be544e88839814ffb05e43fdcebdcdf43e6afa9019ea398ac9123a6e38f73f7b7772891a504a425d570401937d43667d2cead70597c46 SHA512 cbff12c735f0a0bd1f098a27f69212affce60da38b79409da4b10b256d9bb8ebdd4129b78786354bac9fba63c4889e5a58e10d522e928901e7ff20c921925da4 -EBUILD rust-1.82.0-r101.ebuild 24046 BLAKE2B d132b0109d9d1e68ded0357221609102f0e638069e4ec2bf61e53fb94b388fe67e97b5cb5ee3f29ecdc3a9f4c18a4ad6cef0e08addc248289ae3178c2e04aa04 SHA512 31f3e5bfa8345bcad487474bd8e0570c31e51a7e477d030f2fe61148e4598f069211139504a43958367b740cf38b18ff92e46e49d6080b7df8177453e9dae14e -EBUILD rust-1.83.0-r1.ebuild 23279 BLAKE2B 183f2a6f686030c2efad110709d52b68c655dc374faa748f83c5d33ced7e44b81d5c321e843e8ffcd6c4d248bb8b6452986eb9f1e0b636e199404668f3a54518 SHA512 8220054d98db8bb50d9abd765ffefaafd360ad13ee566485e2f82930a8821b32c7b5e33080127e8fea5dbe655a81c8edd1563d0efa5c78be4c41d8bd4af22050 -EBUILD rust-1.84.0.ebuild 23404 BLAKE2B 88d74e3cddb102b4350def9572ff051b7f87819a8fe0b261e0583e10671ec79e0bee6b900aa5314629f0800ade3b94eff8676db7b913b2cbcf926e57ac3e7b97 SHA512 47ea8bf8f6e2b39902cf53558bb33a90be1ae5182e076904e243201057e0ca239e775fd30b3365078bd2e7406987eeb6251cedca43421ee52faa70c23066278d -EBUILD rust-1.84.1.ebuild 23389 BLAKE2B 2ad9acb5b85e5e2a991cc78fe7389eaf41772e4e068e26a196931b6825ed62472659cdde3ec6bb381aa7738f53123cc10fbf0d655f8eb39d59c17b88f86e600d SHA512 6ab88695cc1f8420e4b45914a29fc9e5f21618ecb1c202141c156624d95bfce4e341a80553928c3b541c795fef7c309b4040607487109b3d71d3d3e615f1f556 +EBUILD rust-1.71.1-r101.ebuild 22030 BLAKE2B 58e75a73001d98eb55cbe015daf1a25b432594dcd455b7a068695d149ae22ac4934e05494716d25c45976f8c17f826d0022d38044710f4a7f0c1aeea46a875ad SHA512 51b9c7898587ace9e812b51db86e3fdc51e53eba29bb65ab6dd903da417adab07b15cad5f99cabbe541c08391043ba06bcdf7da8b20d45817fb5bc6cfc30f77c +EBUILD rust-1.74.1-r101.ebuild 37643 BLAKE2B 3c25e40a1c7a2e2b6223e544f5c5dd041715b04dec89d0afd25e072ebb5f836b91943330d0010f3b6a17e728811718cbaf344a5dabf001227f48788b157a6851 SHA512 3e89d30915b7c92f2edb164f1a3fe1e2fea47a4a952717f2a110379852f85cf3f4013ef2436f003a79b60ccc76888056a15da2c8eccc19e502bfede9f4ebd7b4 +EBUILD rust-1.75.0-r101.ebuild 23537 BLAKE2B 3314232dbba9bd04f761e50f963f95db91f45eab4ee4dbbf578c05bed09e079edc27ee37a7d71aa9b6969e1ed32d2ff91ee5cdff3cd7676e60bfba0344f4aba2 SHA512 e09ecdbbbb53a872b0a628610585239c3e53165e8ca5737bcbcfff74e1f5418ca818a1f3ba38227cd477a630993ecb05fed20c8010c9a1b56c2efa32c88a6d65 +EBUILD rust-1.76.0-r101.ebuild 20045 BLAKE2B b7d74577b9491930c6f950bfd4bcaec6bbf25c938f67d293f85ca818b56791ed7a64b7a8fc0ea5f15be00a4bfb384c91725a200061bce16a188b83659881bdf4 SHA512 c272ce7816b9ca45fc7f86019ca0c37944191632d5d6491489ead86b7ff7b6b35a65b85bf97ef0a8415d29e6b9cd53649a3d93c6670fd22f734a4bb96d0c2b75 +EBUILD rust-1.77.1-r101.ebuild 23501 BLAKE2B 29040b14df7538cf8cd450a6a6b4bcfed4d40e507327dae34287363c3069b151ee55eb53f4e5df14954a9b81de74484a05fc48f44bd71139d45d74e21014d1fd SHA512 aedaa5c9c7c400fc3d76e8eb99e93c5ed7f5419f97cb0516f6f065c90919df4309235cd6ed10264d02f36cc470152e355a6c90cf4c6b937347115f198bc686bf +EBUILD rust-1.78.0-r101.ebuild 23736 BLAKE2B 555bab47f61ab8520369a7878ae5ab644eeaeef46cf87b2b38783b2c04e2778e844d6aae1de85bde4a9c0be4dda25e22829fd4cbf71bf9915ddb4ef90d94995a SHA512 3d0b3f539e509c9d4436a150a3b0598cdc7e30d57b2eb41e9371ff824a05bb28ff031e604c7936f4b2c492d3153f602acc2ed5c821cea757b992c5a4faa4d36a +EBUILD rust-1.79.0-r101.ebuild 23736 BLAKE2B 555bab47f61ab8520369a7878ae5ab644eeaeef46cf87b2b38783b2c04e2778e844d6aae1de85bde4a9c0be4dda25e22829fd4cbf71bf9915ddb4ef90d94995a SHA512 3d0b3f539e509c9d4436a150a3b0598cdc7e30d57b2eb41e9371ff824a05bb28ff031e604c7936f4b2c492d3153f602acc2ed5c821cea757b992c5a4faa4d36a +EBUILD rust-1.80.1-r101.ebuild 23608 BLAKE2B 418beedaf87e3c1dfefdce12564dde1e10ff6722690f4d7a60faff0aa89bc1953c0a3fddbae5de131cd386f7d0c0c1377ecaa6acbdba3f3c0aeedd4f4fe75067 SHA512 3006aab0d8138ba6dcf5715386d69bfaafc1767dcc8019253f27e615e198588b3ff0b7d98b7bb70a05804dda846572c49f9590ca0f228481c4168456e27af1b7 +EBUILD rust-1.81.0-r101.ebuild 23805 BLAKE2B 682aa0f041d84310e3fe85f2b92ef476090207c619d92d75c84173b63b86c14b052ae93d105d85a6ddcc1fa887dd791dcd9d3af3c4b9302af27f5902fb190dcf SHA512 fafe7c8b80c5a5c6c0783a113c2dce3c96dc5c8684da29241836ff59d266b0ea0e1d4d34ceb0c1c94f79f66bfc2221ea23b2d6aeb797e348d0e465ca1c5297f0 +EBUILD rust-1.82.0-r102.ebuild 24000 BLAKE2B a40774735acbe3af636566bd83c799422bb365f5b3cbc16f35ee4a13cd2415f3a2aade6ae59c910e8aa6671d26a5387eb66acf3aa9a38b494bae90a5171dc1ba SHA512 7be689a92fd46a71425088f388cb5fc380a5baf82f85119450b1c8a7464f8435e49b2ba4cf4479c728bc8c4d250455d33bd77262952b9f0143ed2a0ccdb4638d +EBUILD rust-1.83.0-r2.ebuild 23233 BLAKE2B b85425b5ed8eb8e344df196f4728e5d4d3606a0fb4c4ead41b9d8ff631736c566ffb8559579c0ee00675a4b1457c4b19d54cd06ff63abe3d997ad46b07028551 SHA512 767ccf3e9ee1812b70268239123f1ebdf45be6be3ae498d359b9b09ad2f095da1c21fbe519ce7971850aee2760826655576e0ef560e93b0f5432ef25cc180ef6 +EBUILD rust-1.84.0-r1.ebuild 21926 BLAKE2B 66c3092a1e85825a1f1cebdca4a565b8cac89dc48c52d39fa594dec33c95bbb2b9567a3160d3b632643dc9e46fdbd416511d6560179639343437d68d95ef9c52 SHA512 b23b45a6bd4faa321a953ecb8b202edb03cce2a29905f272eeefcd52d4626350487300cbef91306f0cf6f3c919a59c318ca54e637b31dc97d0d3439f87a58265 +EBUILD rust-1.84.1-r1.ebuild 21911 BLAKE2B fdaf45f702f65a7050fd14b960437c476063706127d82bc154234f8be1ec5058874baee6f4043c43ee45b7e473a88dcac7efe3ba61b49bef48052e24c740f16c SHA512 839b6ee0d8ce2fc139bfbaca64008ba55fee0728c9c004c1e79a5f9adec6159eaeb7e054054fcf4dc6f2687ffeff31a5aa5ed0ef5b46dc7ff01352bbcd765b3a MISC metadata.xml 1841 BLAKE2B 48a8167ae44a7f4892b917895298627ac920af6c488180980e65bdeec53b650455fc6d7dddad0a7a8257d473080082377fb6b6df6a834b294b6e6485e6784a1e SHA512 1f5fd792b65ccac89a61233004980d9f7cbaecea5d05f35f9cc2dc9cab4e3ccfcd46828e88770a1b8ba5ca23064b6a75eea72a0b32bcce52bb399b85ac95f755 diff --git a/dev-lang/rust/rust-1.71.1-r100.ebuild b/dev-lang/rust/rust-1.71.1-r101.ebuild index dedaab4fcbad..a454fcc7d08a 100644 --- a/dev-lang/rust/rust-1.71.1-r100.ebuild +++ b/dev-lang/rust/rust-1.71.1-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -43,7 +43,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -329,7 +329,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -586,7 +586,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.74.1-r100.ebuild b/dev-lang/rust/rust-1.74.1-r101.ebuild index d131b800b874..cabb75e7e37c 100644 --- a/dev-lang/rust/rust-1.74.1-r100.ebuild +++ b/dev-lang/rust/rust-1.74.1-r101.ebuild @@ -49,7 +49,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -396,7 +396,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -899,7 +899,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.75.0-r100.ebuild b/dev-lang/rust/rust-1.75.0-r101.ebuild index 478f58c567f0..5bec96815fdf 100644 --- a/dev-lang/rust/rust-1.75.0-r100.ebuild +++ b/dev-lang/rust/rust-1.75.0-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -44,7 +44,7 @@ ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -362,7 +362,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -619,7 +619,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.76.0-r100.ebuild b/dev-lang/rust/rust-1.76.0-r101.ebuild index 364d59bed5b6..f26d3673bb4f 100644 --- a/dev-lang/rust/rust-1.76.0-r100.ebuild +++ b/dev-lang/rust/rust-1.76.0-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -361,7 +361,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -536,7 +536,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.77.1-r100.ebuild b/dev-lang/rust/rust-1.77.1-r101.ebuild index 5461a2a6b93e..a84253b3343f 100644 --- a/dev-lang/rust/rust-1.77.1-r100.ebuild +++ b/dev-lang/rust/rust-1.77.1-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -360,7 +360,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -618,7 +618,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.79.0-r100.ebuild b/dev-lang/rust/rust-1.78.0-r101.ebuild index 19a64890ab0b..a2ab0b579d5f 100644 --- a/dev-lang/rust/rust-1.79.0-r100.ebuild +++ b/dev-lang/rust/rust-1.78.0-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -359,7 +359,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -620,7 +620,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.78.0-r100.ebuild b/dev-lang/rust/rust-1.79.0-r101.ebuild index 19a64890ab0b..a2ab0b579d5f 100644 --- a/dev-lang/rust/rust-1.78.0-r100.ebuild +++ b/dev-lang/rust/rust-1.79.0-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -359,7 +359,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -620,7 +620,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.80.1-r100.ebuild b/dev-lang/rust/rust-1.80.1-r101.ebuild index fb5eef4568b5..c569cb53351c 100644 --- a/dev-lang/rust/rust-1.80.1-r100.ebuild +++ b/dev-lang/rust/rust-1.80.1-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -358,7 +358,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -618,7 +618,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.81.0-r100.ebuild b/dev-lang/rust/rust-1.81.0-r101.ebuild index 93dfa988757c..01d49bc018e9 100644 --- a/dev-lang/rust/rust-1.81.0-r100.ebuild +++ b/dev-lang/rust/rust-1.81.0-r101.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -362,7 +362,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -622,7 +622,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.82.0-r100.ebuild b/dev-lang/rust/rust-1.82.0-r100.ebuild deleted file mode 100644 index 25fbe716b6a7..000000000000 --- a/dev-lang/rust/rust-1.82.0-r100.ebuild +++ /dev/null @@ -1,756 +0,0 @@ -# Copyright 1999-2024 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} -RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" - -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} = *beta* ]]; then - betaver=${PV//*beta} - BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" - MY_P="rustc-beta" - SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" -else - MY_P="rustc-${PV}" - SRC="${MY_P}-src.tar.xz" - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" -fi - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} - verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) -" -S="${WORKDIR}/${MY_P}-src" - -# 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[@]/%/(-)?} - -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" -SLOT="${PV}" - -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" - -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}]") )" ) -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 - >=llvm-core/clang-3.5 - ) - !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[*]} ) - miri? ( nightly ) - parallel-compiler? ( nightly ) - 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}/${PV}/bin/.* - usr/lib/${PN}/${PV}/libexec/.* - usr/lib/${PN}/${PV}/lib/lib.*.so - usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -QA_SONAME=" - usr/lib/${PN}/${PV}/lib/lib.*.so.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -QA_PRESTRIPPED=" - usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp - usr/lib/${PN}/${PV}/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}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -# causes double bootstrap -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -PATCHES=( - "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch - "${FILESDIR}"/1.74.1-cross-compile-libz.patch - #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh - "${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 -} - -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} )) - M=$(( $(usex miri 128 0) + ${M} )) - 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() { - # 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 - - 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 miri && tools+=',"miri"' - use rustfmt && tools+=',"rustfmt"' - use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' - use rust-src && tools+=',"src"' - - 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}")" - - LLVM_EXPERIMENTAL_TARGETS=() - for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do - if use llvm_targets_${_x} ; then - LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) - fi - done - LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} - - local cm_btype="$(usex debug DEBUG RELEASE)" - cat <<- _EOF_ > "${S}"/config.toml - [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 = "${LLVM_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}/${PV}" - 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 = \"$(tc-getCC)\"" - fi) - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - description = "gentoo" - rpath = false - 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)) - # 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}/${PV}/share/man/ - - # bug #689562, #689160 - rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die - rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use miri && symlinks+=( miri cargo-miri ) - 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}/${PV}/bin/${i}" ]]; then - einfo "Installing ${i} symlink" - ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die - else - ewarn "${i} symlink requested, but source file not found" - ewarn "please report this" - fi - dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - use rust-analyzer && dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" - dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" - dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" - dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" - - newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" - MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" - _EOF_ - - rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die - - # 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 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-${P}" - - if use dist; then - "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - insinto "/usr/lib/${PN}/${PV}/dist" - doins -r "${S}/build/dist/." - fi -} - -pkg_preinst() { - # 943308 and friends; basically --keep-going can forget to unmerge old rust - # but the soft blocker allows us to install conflicting files. - # This results in duplicated .{rlib,so} files which confuses rustc and results in - # the need for manual intervention. - if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then - # we need to find all .{rlib,so} files in the old rust lib directory - # and store them in an array for later use - readarray -d '' old_rust_libs < <( - find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ - -type f \( -name '*.rlib' -o -name '*.so' \) -print0) - export old_rust_libs - if [[ ${#old_rust_libs[@]} -gt 0 ]]; then - einfo "Found old .rlib and .so files in the old rust lib directory" - else - die "Found no old .rlib and .so files but old rust version is installed. Bailing!" - fi - fi -} - -pkg_postinst() { - - local old_rust="dev-lang/rust:stable/$(ver_cut 1-2)" - if has_version -b ${old_rust}; then - # Be _extra_ careful here as we're removing files from the live filesystem - local f - local only_one_file=() - einfo "Tidying up libraries files from non-slotted \`${old_rust}\`." - for f in "${old_rust_libs[@]}"; do - [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" - local base_name="${f%-*}" - local ext="${f##*.}" - local matching_files=("${base_name}"-*.${ext}) - case ${#matching_files[@]} in - 2) - einfo "Removing old .${ext}: ${f}" - rm "${f}" || die - ;; - 1) - # Turns out fingerprints are not as unique as we'd thought, _sometimes_ they collide, - # so we may have already installed over the old file. - # We'll warn about this just in case, but it's probably fine. - only_one_file+=( "${matching_files[0]}" ) - ;; - *) - die "Expected one or two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" - ;; - esac - done - if [[ ${#only_one_file} -gt 0 ]]; then - einfo "While tidying up non-slotted rust libraries for \`${old_rust}\`," - einfo "the following file(s) did not have a duplicate where one was expected:" - for f in "${only_one_file[@]}"; do - einfo " * ${f}" - done - einfo "" - einfo "This is unlikely to cause problems; the fingerprint for the library ended up being the same." - einfo "However, if you encounter any issues please report them to the Gentoo Rust Team." - fi - fi - - 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 - - optfeature "Emacs support" "app-emacs/rust-mode" - optfeature "Vim support" "app-vim/rust-vim" -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.82.0-r101.ebuild b/dev-lang/rust/rust-1.82.0-r102.ebuild index 1f70f958d492..4408b27683cb 100644 --- a/dev-lang/rust/rust-1.82.0-r101.ebuild +++ b/dev-lang/rust/rust-1.82.0-r102.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -370,7 +370,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -632,7 +632,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.83.0-r1.ebuild b/dev-lang/rust/rust-1.83.0-r2.ebuild index 2262915b0d62..d98a717dc572 100644 --- a/dev-lang/rust/rust-1.83.0-r1.ebuild +++ b/dev-lang/rust/rust-1.83.0-r2.ebuild @@ -370,7 +370,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -632,7 +632,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ diff --git a/dev-lang/rust/rust-1.84.0.ebuild b/dev-lang/rust/rust-1.84.0-r1.ebuild index e40d98a96166..10294bcfad06 100644 --- a/dev-lang/rust/rust-1.84.0.ebuild +++ b/dev-lang/rust/rust-1.84.0-r1.ebuild @@ -372,7 +372,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -634,7 +634,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ @@ -682,44 +681,8 @@ src_install() { fi } -pkg_preinst() { - # 943308 and friends; basically --keep-going can forget to unmerge old rust - # but the soft blocker allows us to install conflicting files. - # This results in duplicated .{rlib,so} files which confuses rustc and results in - # the need for manual intervention. - if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then - # we need to find all .{rlib,so} files in the old rust lib directory - # and store them in an array for later use - readarray -d '' old_rust_libs < <( - find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ - -type f \( -name '*.rlib' -o -name '*.so' \) -print0) - export old_rust_libs - if [[ ${#old_rust_libs[@]} -gt 0 ]]; then - einfo "Found old .rlib and .so files in the old rust lib directory" - else - die "Found no old .rlib and .so files but old rust version is installed. Bailing!" - fi - fi -} - pkg_postinst() { - if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then - # Be _extra_ careful here as we're removing files from the live filesystem - local f - for f in "${old_rust_libs[@]}"; do - [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" - local base_name="${f%-*}" - local ext="${f##*.}" - local matching_files=("${base_name}"-*.${ext}) - if [[ ${#matching_files[@]} -ne 2 ]]; then - die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" - fi - einfo "Removing old .rlib file ${f}" - rm "${f}" || die - done - fi - eselect rust update if has_version dev-debug/gdb || has_version llvm-core/lldb; then diff --git a/dev-lang/rust/rust-1.84.1.ebuild b/dev-lang/rust/rust-1.84.1-r1.ebuild index 12a8d60e406a..8ae682155bcc 100644 --- a/dev-lang/rust/rust-1.84.1.ebuild +++ b/dev-lang/rust/rust-1.84.1-r1.ebuild @@ -372,7 +372,7 @@ src_configure() { parallel-compiler = $(toml_usex parallel-compiler) channel = "$(usex nightly nightly stable)" description = "gentoo" - rpath = false + rpath = true verbose-tests = true optimize-tests = $(toml_usex !debug) codegen-tests = true @@ -634,7 +634,6 @@ src_install() { dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" _EOF_ @@ -682,44 +681,8 @@ src_install() { fi } -pkg_preinst() { - # 943308 and friends; basically --keep-going can forget to unmerge old rust - # but the soft blocker allows us to install conflicting files. - # This results in duplicated .{rlib,so} files which confuses rustc and results in - # the need for manual intervention. - if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then - # we need to find all .{rlib,so} files in the old rust lib directory - # and store them in an array for later use - readarray -d '' old_rust_libs < <( - find "${EROOT}/usr/lib/rust/${PV}/lib/rustlib" \ - -type f \( -name '*.rlib' -o -name '*.so' \) -print0) - export old_rust_libs - if [[ ${#old_rust_libs[@]} -gt 0 ]]; then - einfo "Found old .rlib and .so files in the old rust lib directory" - else - die "Found no old .rlib and .so files but old rust version is installed. Bailing!" - fi - fi -} - pkg_postinst() { - if has_version -b "dev-lang/rust:stable/$(ver_cut 1-2)"; then - # Be _extra_ careful here as we're removing files from the live filesystem - local f - for f in "${old_rust_libs[@]}"; do - [[ -f ${f} ]] || die "old_rust_libs array contains non-existent file" - local base_name="${f%-*}" - local ext="${f##*.}" - local matching_files=("${base_name}"-*.${ext}) - if [[ ${#matching_files[@]} -ne 2 ]]; then - die "Expected exactly two files matching ${base_name}-\*.rlib, but found ${#matching_files[@]}" - fi - einfo "Removing old .rlib file ${f}" - rm "${f}" || die - done - fi - eselect rust update if has_version dev-debug/gdb || has_version llvm-core/lldb; then |