diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 12:44:17 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 12:44:17 +0000 |
commit | 20d4435a7d9459953db77f3256f699f420d3e484 (patch) | |
tree | b948635f8c8917e2c046e2dac66b3b25c2606317 /sys-devel/rust-std | |
parent | 4464bf26d93bdcc80e0b1330fe9c9caef26b34fc (diff) |
gentoo auto-resync : 09:03:2024 - 12:44:17
Diffstat (limited to 'sys-devel/rust-std')
-rw-r--r-- | sys-devel/rust-std/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/rust-std/files/1.75.0-handle-vendored-sources.patch | 45 | ||||
-rw-r--r-- | sys-devel/rust-std/rust-std-1.75.0.ebuild | 6 | ||||
-rw-r--r-- | sys-devel/rust-std/rust-std-1.76.0.ebuild | 159 |
4 files changed, 213 insertions, 2 deletions
diff --git a/sys-devel/rust-std/Manifest b/sys-devel/rust-std/Manifest index 9e440cef1d74..085ff7932a46 100644 --- a/sys-devel/rust-std/Manifest +++ b/sys-devel/rust-std/Manifest @@ -1,13 +1,16 @@ +AUX 1.75.0-handle-vendored-sources.patch 1786 BLAKE2B 3f6ebee13a1849f41f2dc87930bd4019fb6f0379a342065efb29071299ad324f37062d123de8aaf06c231737cc41ee7eb830e049e2657f328c9176643203ecab SHA512 827855a22a8bffa9a9b3b417f8989e19b9d186bbbde4c09222b8738a403818d5b29a9a2ffb155491053d41ece392f491bc8c6343b4980051aee471da4d4b028e DIST rustc-1.68.2-src.tar.xz 147835648 BLAKE2B 4b6deab818d915afe67a96f4d32a758c15a832041a77d9da5d065a903ea2718e0e7ebbc0cd1baaa436b655bdb93a62e0fb76f9e37aed595c064e0857201bb091 SHA512 8b085d0351e19100e9abc24b10c44a0939a1d35ba23421da4ece345d7373f7dbad1dc6a2ae153c1259404dd96b41e2682e711cf2b0b63fd03a196760cddbcdd3 DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 DIST rustc-1.72.0-src.tar.xz 151630408 BLAKE2B 7b26e5a9335f9262567b2a6aaf3b8ad6dc813688f532c54502c12c7b59d02082a082fe49ae370b0748fb13f8245dad13a58927d8563ba96fdf3639d4a128f236 SHA512 aed27c1babfec7f9b0815bc395302cff4f8e8ed83d8d3bde202f6c86fba4aec14ad2d3e99f4e22618c6727d876262511bfbcd83513731ea4b9c664462c97945b DIST rustc-1.73.0-src.tar.xz 154319536 BLAKE2B 077bdedb36fdbc30db3c6331ac6014615eb79393ad42e38488d037ba38eaa6542467d39b2a14228d0bf6717110f915bf6fdcf0074c6293f413720cc748316eff SHA512 75c59680a82cb9d076b9434744a1c65908524ef769293952f5d9c5779d9a9c6fa4d9aa0c7e7d6b7566a21a50a27cd6ae452b5283a4d4606b2fa1acc24dfd8e0c DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B 8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495 SHA512 7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606 +DIST rustc-1.76.0-src.tar.xz 162267908 BLAKE2B 0cf726841a837d9906d82a6216e65edad1e3e4a798ccd1ca3824c2098d0c45473854b8bf183c6e9ca70ba095752e77c4f5ef575d98c07243d609857214175f5e SHA512 92e16cfdeb91bde341fe6c2774d92868275b07aa1d46d870ddc9291eadfe4ea9af93e06586fa7d6b8d60534903945cbbe706d354c90272712989c58d2bf174bf EBUILD rust-std-1.68.2.ebuild 3413 BLAKE2B dfa5e114a114a18ff9aac854235a7d6a8765dc6dcecb713d523dbf78e60aa89445755c6255439f6f32dd07f8f67a3ccf8f05d69f855d2c838d33d1e60abd22e2 SHA512 1e15613b436ff7de2580407954601b7e1a5f56cfa4963e3e387c7fd3c39cdff74d921715b8d79a408bd5d281c60ba5ae8919c482c42762d6018c0b25311d9a5b EBUILD rust-std-1.71.1.ebuild 3413 BLAKE2B dfa5e114a114a18ff9aac854235a7d6a8765dc6dcecb713d523dbf78e60aa89445755c6255439f6f32dd07f8f67a3ccf8f05d69f855d2c838d33d1e60abd22e2 SHA512 1e15613b436ff7de2580407954601b7e1a5f56cfa4963e3e387c7fd3c39cdff74d921715b8d79a408bd5d281c60ba5ae8919c482c42762d6018c0b25311d9a5b EBUILD rust-std-1.72.0.ebuild 3413 BLAKE2B dfa5e114a114a18ff9aac854235a7d6a8765dc6dcecb713d523dbf78e60aa89445755c6255439f6f32dd07f8f67a3ccf8f05d69f855d2c838d33d1e60abd22e2 SHA512 1e15613b436ff7de2580407954601b7e1a5f56cfa4963e3e387c7fd3c39cdff74d921715b8d79a408bd5d281c60ba5ae8919c482c42762d6018c0b25311d9a5b EBUILD rust-std-1.73.0.ebuild 3404 BLAKE2B 69415ac4e55d97ec02074fb474c49f12aa21e695b330d642c5b4a64270bd20fd0bad28b1d11dbc3b8eb0d6c45aefe314cfd7fa289b75348b729bf36eb8853037 SHA512 801a0227ee957338ace20d32c661f93db3a4216fb9314c1d9556ababc147a7aaba1c16eb52357900e9bd27806fd36ead109dd7fa956b3fdbfb331bcea9c4d94f EBUILD rust-std-1.74.1.ebuild 3404 BLAKE2B 69415ac4e55d97ec02074fb474c49f12aa21e695b330d642c5b4a64270bd20fd0bad28b1d11dbc3b8eb0d6c45aefe314cfd7fa289b75348b729bf36eb8853037 SHA512 801a0227ee957338ace20d32c661f93db3a4216fb9314c1d9556ababc147a7aaba1c16eb52357900e9bd27806fd36ead109dd7fa956b3fdbfb331bcea9c4d94f -EBUILD rust-std-1.75.0.ebuild 3404 BLAKE2B 69415ac4e55d97ec02074fb474c49f12aa21e695b330d642c5b4a64270bd20fd0bad28b1d11dbc3b8eb0d6c45aefe314cfd7fa289b75348b729bf36eb8853037 SHA512 801a0227ee957338ace20d32c661f93db3a4216fb9314c1d9556ababc147a7aaba1c16eb52357900e9bd27806fd36ead109dd7fa956b3fdbfb331bcea9c4d94f +EBUILD rust-std-1.75.0.ebuild 3492 BLAKE2B 9ebf070c1d3fd770267daf296e62a84a0be859e0cd2bb0c4d58e6cd899e83b1515699918f8cc693078944c7172e9d50b1941ab1ffe3a878f97629317c6021163 SHA512 fbffae41e470e5f2ae6f17e4e510640da73606554ee853b165ac3e205f7180a3362af10b45a8cb6b63b6fe5c70e7f73b315258e34f399b83a295aa27f700fa9b +EBUILD rust-std-1.76.0.ebuild 3492 BLAKE2B 9ebf070c1d3fd770267daf296e62a84a0be859e0cd2bb0c4d58e6cd899e83b1515699918f8cc693078944c7172e9d50b1941ab1ffe3a878f97629317c6021163 SHA512 fbffae41e470e5f2ae6f17e4e510640da73606554ee853b165ac3e205f7180a3362af10b45a8cb6b63b6fe5c70e7f73b315258e34f399b83a295aa27f700fa9b MISC metadata.xml 962 BLAKE2B b6271630dbb001cafd645fbd8d8d3d62e315194991e3b8de3a612714164bf783858c1b74626a1060763434fde060735b9106a5544c654d22ef0a26f2d365fd37 SHA512 1502d0bb89fab24b07ce3ddf39b8fd7ac100d785baee190b8f86613edda46e5a88ff6049291a37f83165c184131ec6efc527631ba1bc187f795dda9a69020f56 diff --git a/sys-devel/rust-std/files/1.75.0-handle-vendored-sources.patch b/sys-devel/rust-std/files/1.75.0-handle-vendored-sources.patch new file mode 100644 index 000000000000..c68ceba15e82 --- /dev/null +++ b/sys-devel/rust-std/files/1.75.0-handle-vendored-sources.patch @@ -0,0 +1,45 @@ +From 4b7e0a0b56aa2446e670dfd6558380a1039a86aa Mon Sep 17 00:00:00 2001 +From: Arlo Siemsen <arsiem@microsoft.com> +Date: Thu, 4 Jan 2024 11:40:56 -0600 +Subject: [PATCH] Handle vendored sources when remapping paths + +Signed-off-by: Randy Barlow <randy@electronsweatshop.com> +--- + src/bootstrap/src/core/builder.rs | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs +index 4e20babc55a..3770d0687b2 100644 +--- a/src/bootstrap/src/core/builder.rs ++++ b/src/bootstrap/src/core/builder.rs +@@ -1799,15 +1799,20 @@ pub fn cargo( + } + + if self.config.rust_remap_debuginfo { +- // FIXME: handle vendored sources +- let registry_src = t!(home::cargo_home()).join("registry").join("src"); + let mut env_var = OsString::new(); +- for entry in t!(std::fs::read_dir(registry_src)) { +- if !env_var.is_empty() { +- env_var.push("\t"); +- } +- env_var.push(t!(entry).path()); ++ if self.config.vendor { ++ let vendor = self.build.src.join("vendor"); ++ env_var.push(vendor); + env_var.push("=/rust/deps"); ++ } else { ++ let registry_src = t!(home::cargo_home()).join("registry").join("src"); ++ for entry in t!(std::fs::read_dir(registry_src)) { ++ if !env_var.is_empty() { ++ env_var.push("\t"); ++ } ++ env_var.push(t!(entry).path()); ++ env_var.push("=/rust/deps"); ++ } + } + cargo.env("RUSTC_CARGO_REGISTRY_SRC_TO_REMAP", env_var); + } +-- +2.43.0 + diff --git a/sys-devel/rust-std/rust-std-1.75.0.ebuild b/sys-devel/rust-std/rust-std-1.75.0.ebuild index 1432096c3a0d..c63efccf3b0c 100644 --- a/sys-devel/rust-std/rust-std-1.75.0.ebuild +++ b/sys-devel/rust-std/rust-std-1.75.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2020-2023 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -36,6 +36,10 @@ RESTRICT="test" QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so" +PATCHES=( + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch # remove for >=1.77.0 +) + S="${WORKDIR}/${P/-std/c}-src" # diff --git a/sys-devel/rust-std/rust-std-1.76.0.ebuild b/sys-devel/rust-std/rust-std-1.76.0.ebuild new file mode 100644 index 000000000000..c63efccf3b0c --- /dev/null +++ b/sys-devel/rust-std/rust-std-1.76.0.ebuild @@ -0,0 +1,159 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) + +inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs + +DESCRIPTION="Rust standard library, standalone (for crossdev)" +HOMEPAGE="https://www.rust-lang.org" +SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4" +SLOT="stable/$(ver_cut 1-2)" +# please do not keyword +#KEYWORDS="" #nowarn +IUSE="debug" + +BDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/rust-${PV}:= +" + +DEPEND="|| + ( + >="${CATEGORY}"/gcc-4.7:* + >="${CATEGORY}"/clang-3.5:* + ) +" + +RDEPEND="${DEPEND}" + +# need full compiler to run tests +RESTRICT="test" + +QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so" + +PATCHES=( + "${FILESDIR}"/1.75.0-handle-vendored-sources.patch # remove for >=1.77.0 +) + +S="${WORKDIR}/${P/-std/c}-src" + +# +# The cross magic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { + [[ ${CHOST} != ${CTARGET} ]] +} + +toml_usex() { + usex "$1" true false +} + +pkg_pretend() { + is_cross || die "${PN} should only be used for cross" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default +} + +src_configure() { + # do the great cleanup + strip-flags + filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64' + strip-unsupported-flags + + local rust_root x + rust_root="$(rustc --print sysroot)" + rtarget="$(rust_abi ${CTARGET})" + rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom. + rbuild="$(rust_abi ${CBUILD})" + rhost="$(rust_abi ${CHOST})" + + echo + for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do + einfo "$(printf '%10s' ${x^^}:) ${!x}" + done + + cat <<- EOF > "${S}"/config.toml + [build] + build = "${rbuild}" + host = ["${rhost}"] + target = ["${rtarget}"] + cargo = "${rust_root}/bin/cargo" + rustc = "${rust_root}/bin/rustc" + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + verbose = 2 + 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) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + rpath = false + dist-src = false + remap-debuginfo = true + jemalloc = false + [dist] + src-tarball = false + [target.${rtarget}] + ar = "$(tc-getAR ${CTARGET})" + cc = "$(tc-getCC ${CTARGET})" + cxx = "$(tc-getCXX ${CTARGET})" + linker = "$(tc-getCC ${CTARGET})" + ranlib = "$(tc-getRANLIB ${CTARGET})" + $(usev elibc_musl 'crt-static = false') + EOF + + einfo "${PN^} configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + env RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \ + library/std --stage 0 || die +} + +src_test() { + ewarn "${PN} can't run tests" +} + +src_install() { + local rustlib="lib/rust/${PV}/lib/rustlib" + dodir "/usr/${rustlib}" + pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die + cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die + popd > /dev/null || die +} |