commit f52542bc73157d8235cf25cba19d010cfee448c96716dd9369552bdb5ddc2ecf Author: Adrian Schröter Date: Fri Feb 7 18:43:17 2025 +0100 Sync from SUSE:SLFO:Main rust1.84 revision 378709f574a62b001506b2c213d5f2f5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Disable-pidfs-tests-for-15SP3.patch b/0001-Disable-pidfs-tests-for-15SP3.patch new file mode 100644 index 0000000..a7e23dc --- /dev/null +++ b/0001-Disable-pidfs-tests-for-15SP3.patch @@ -0,0 +1,34 @@ +From d0edd689820928847d74b583dc0d6b540942c1a2 Mon Sep 17 00:00:00 2001 +From: William +Date: Tue, 10 Dec 2024 12:57:45 +1000 +Subject: [PATCH] Disable pidfs tests for 15SP3 + +SLE-15-SP3 has a kernel that is too old to correctly use pidfs. Disable +testing pidfs features for that platform. +--- + library/std/src/sys/pal/unix/linux/pidfd/tests.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/library/std/src/sys/pal/unix/linux/pidfd/tests.rs b/library/std/src/sys/pal/unix/linux/pidfd/tests.rs +index fb928c76fbd..686d92c50be 100644 +--- a/library/std/src/sys/pal/unix/linux/pidfd/tests.rs ++++ b/library/std/src/sys/pal/unix/linux/pidfd/tests.rs +@@ -5,6 +5,7 @@ + use crate::process::Command; + + #[test] ++#[ignore = "fails on 15-SP3"] + fn test_command_pidfd() { + let pidfd_open_available = probe_pidfd_support(); + +@@ -57,6 +58,7 @@ fn test_command_pidfd() { + } + + #[test] ++#[ignore = "fails on 15-SP3"] + fn test_pidfd() { + if !probe_pidfd_support() { + return; +-- +2.47.1 + diff --git a/README.suse-maint b/README.suse-maint new file mode 100644 index 0000000..6b3cc8f --- /dev/null +++ b/README.suse-maint @@ -0,0 +1,96 @@ +# Automatic updating via _service + +Edit the rustX.YY.spec file, and update the variables related with the +version: + +- *version_suffix*: for the new version of Rust, in X.YY format +- *version_current*: for the new version of Rust, in X.YY.Z format +- *version_previous*: for the previous version of Rust, in X.YY.X + format + +Generate the spec files for the different bootstrap compilers. This +will take the version from the main spec file. + + ./update-bootstrap.sh + +After that, we can execute the service file: + + osc service disabledrun + +This will download the new bootstrap compilers and the signature file. + +If `osc` complains about a missing service component, double check +that the components are installed. For example, for Tumbleweed: + + zypper in obs-service-download_files obs-service-refresh_patches + +Finally, update the changelog based on the releases notes: + + https://github.com/rust-lang/rust/blob/master/RELEASES.md + +# Updating to a new version from upstream + +(Original link: https://en.opensuse.org/Rust) + +Branch the rust package in the devel:languages:rust project. + +You'll need to download precompiled binaries for the compiler used for +bootstrapping, and the actual source code for the compiler. In the +"Other Installation Methods" page listed below, note that it shows +links to .tar.gz packages and their .tar.gz.asc GPG signatures, but +.tar.xz versions are also available. + +*Binaries for bootstrapping* - Go to the "Other Installation Methods" +page from rust-lang.org and scroll down to the "Standalone installers" +section. Download the following: + +- rust--aarch64-unknown-linux-gnu.tar.xz +- rust--armv7-unknown-linux-gnueabihf.tar.xz +- rust--i686-unknown-linux-gnu.tar.xz +- rust--powerpc64le-unknown-linux-gnu.tar.xz +- rust--powerpc64-unknown-linux-gnu.tar.xz +- rust--s390x-unknown-linux-gnu.tar.xz +- rust--x86_64-unknown-linux-gnu.tar.xz + +*Compiler source code* - From the same page, but now in the "Source +code" section, download this: + + rustc--src.tar.xz + +Update those files in the source RPM. Check that all the patches still +apply. + +Update the version number in rust.spec. + +Add the release notes to rust.changes. + +# Running the tests locally + +The tests are executed outside the main package using the _multibuild +feature of OBS. This is convenient for several reasons: + +* We force the installation of the new rustc / cargo in the system + +* All the test / bootstrabs and utilities are compiled using the new + compiler, and not the one used to generate the initial Rust + compiler. + +* A test fail do not block the release. Upstream tests can be + affected by some environment application, and there is some delay + for the fix. + +The tests can be run with: + + osc build -M test + +This will install the Rust compiler from OBS, so is a good idea that +we have them available. + +If some test fail, we can enter the chroot to debug it: + + osc shell + +There is more information about the test infrastructure here: + + https://rustc-dev-guide.rust-lang.org/tests/intro.html + diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..afb4dab --- /dev/null +++ b/_constraints @@ -0,0 +1,27 @@ + + + + + + 6 + + 4 + + + + 30 + + + + + + + aarch64 + + + + 12 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/_service b/_service new file mode 100644 index 0000000..5102c40 --- /dev/null +++ b/_service @@ -0,0 +1,9 @@ + + + enable + + + enable + enable + + diff --git a/ignore-Wstring-conversion.patch b/ignore-Wstring-conversion.patch new file mode 100644 index 0000000..940139b --- /dev/null +++ b/ignore-Wstring-conversion.patch @@ -0,0 +1,17 @@ +Index: rustc-1.51.0-src/compiler/rustc_llvm/build.rs +=================================================================== +--- rustc-1.51.0-src.orig/compiler/rustc_llvm/build.rs ++++ rustc-1.51.0-src/compiler/rustc_llvm/build.rs +@@ -154,6 +154,12 @@ fn main() { + continue; + } + ++ // hack to avoid flag on openSUSE which is incompatible with GCC ++ if flag.starts_with("-W") && flag.contains("string-conversion") { ++ continue; ++ } ++ ++ + cfg.flag(flag); + } + diff --git a/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz b/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..49b563a --- /dev/null +++ b/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c535d4eb461a361fcaaad98ce578b5846e1a0bd3ff6939874a3e9cbe72cfae17 +size 241841868 diff --git a/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..866634f --- /dev/null +++ b/rust-1.84.0-aarch64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jnCRCFq5bm+hvl/gAA7jAQALUHc5JpFXfRqVPYu57MyCwT +ce4/pxx5pOM2ubkmLblplWlpAiU8uD4TsBKDEPmIMtLiReLcOs9iX1P0Q34ykqOD +HVMO1dCAf/q0dtbk8BPLE0KI9Mor+KnfL/lUCfdc3/x3vKz/sdhkFF32DXNaUd7b +EtVsYx7Ss41KQZW2JfS9wuiOKOMES82S2aBFMJhskJlCbeQBT6RlpdD/EENqYNIh +AVhTx4S+TTRqO6C9ar8nTE8jKw5vJ7wFOnmscVqgcEpVpUecEDoS8gyn1aYuzIWp +xihamci30MpPHPJRmUz/gZT/B3gyCUVdfOahyeGRyHhwDUWyLNQsosya9VwHzXzI +j24MlXKV6nAz/wUsOK/5Q3B6H8adNLNO0QcZm78AkIN7XQqzi/nfqQdU/OPGMDKX +mte5hmA39iCtwYmZ9hwYbW+6KPRE55quaraMweK1p0zNntlCYV4wS1e7u7f3y+/K +lsqPXMDgLnKPIvMCV+x6yfC99wfbVwFCuRQ81HV7MJwOXc7cYNDSx6U0d/MhCjOU +PJRve6XIPENDgZ4gGiRgdCHZ8X3Gsev9y1Chcig8kAnrGSMZuY7YlLMKjgEBnQzj +OrnHJbiqi51VjvA2KpiILlNF/53IvQQuWzxZ+XCaZ1H62BjVUthsUCJfpe7XXRSe +7XFBR4Ew3cB3Hww849xX +=H1IL +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz b/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..80b54a9 --- /dev/null +++ b/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cce7bab1fcf9aca52a2b150fefbfed230e0118f0141f611caba94a4bed6febf +size 203947296 diff --git a/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..fb3a3cd --- /dev/null +++ b/rust-1.84.0-arm-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jlCRCFq5bm+hvl/gAA1EsQAK/GEt3UNDaeolXyfyaje0b6 +T43dVeEMkgjNx4lXXAgjENx7m+x4LL4KxDnHqlDdA7/1nkZcpYs/kEDwleTh3IW7 +XeVnPU+noo/9eYODwAt8zS2Y3da5Op3BwDvkYrqMlqFg2vkDzuBpQC2FMaeSFz2T +uHLsOLl110wqHaw7fsvbhfS/1tXRXzJk15pynbz2/RJ8T7rxK/mOmrzLiESuf155 ++3kdHMQ3gRl9NcOdhSX6LqHQDceR81eU5t9a31dbYpLyQ5/TTuZ4YpPFbD1fCEwS +XQ4KEQryyG2AI0ef6k8CeDcwqKCIrmb/NwDN6UlemxTDmANhOv/vPlBBmQYbmjAL ++VHlJ++GGlO0vZ6P7sVMg37BtsPAiBofjcpzL47zsydz8fdDEuD1qFS/AKNlDC1S +6TpBCEPoc2OoBvPNQWLi7pXsXz7QFzpUqJBe+ZAIYQA+pWN9XR5W7MZ1gbo/ZKdk +zr4owSvp+UBqbGtTDvu1csSrVjI9UY09d4euukXmRmQZ0w2KzC8kAwQXYrgJiee2 +q9z+2cQXNga3m00Ivy4L9USvvIBx4gRveAMCC2i8jeKfOihLtnmdk8dl2PxbzXEp +KQKF6BJYaDiOqrkfR0+RL4UwKE1qlfJCr4771EGLU/cBoxlXczOCZwWJ7A7GQ+1p +U4aZ2XFTY8wUy93Aiwp+ +=YcgN +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz b/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..3c15c35 --- /dev/null +++ b/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efcc6d39863ab9554441e58236cd7d0b6ebaba0b5ffbe95ca09c359b0bf7ed01 +size 209524676 diff --git a/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..c0dc759 --- /dev/null +++ b/rust-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jpCRCFq5bm+hvl/gAAEwEP/1Nbd9JMTm4AQ0txCkw7eBg/ +Grps7G8AEjxGbM/b3dqjAjSVAAQPj1t3na/5Gttm7GdjIoRWJXmT0bSmQmGGjkRI +QJB6i3jNjLTbKHE7T+E3oZ29CvVfO5xN+6XJ1ZSKs6KrNQrt/F68rtnJ9CZiKxJ2 ++q34hgltxsSX9P+1tw8Pmh413JadMl6MI+UEjFSadsSva0Ry/GP2gQMsPQGXr302 +PGGVKCFkT5dl3bAxupwXEC2P2NuZ6DWqR2u+AuIZfG4HLT35QZSfqjCMPGydTxGX +FLs0DJhEECwZ+6n9I7VGt9/gXCakSuK9PnJ+iGcrspLzP5dXieI1poB564vrH9Ip +oKKQX/ODVxrjsvytQtYMNEWRsDxlPGP3TFdwCVN+caa0PVlV1ZpM2KKmFzYM/A25 +IDz1jfBEkHg7vo9muHjgFkJcyc06ONC3uHckyCrcbxBU/cyFMGcQID5o1ZkjYuCw +bwC4HFoX6ahOnqHOp7r02dI4c/9i8wAdyn5xcdjUu67C1vA/skzojiafX7Gz2oFX +ODFPeCT37vzis1KKvldqQ+xQinr0ujjN2wZAa9VaheXdXRhGufnqePfCA0xrTCCO +acAuAseb0J+SeKBnFsZbApFq5O5UnRRc+QvcS+2l9HE+eFy+YoaKOhX2BhYxpM8u +4j/oUzPNOluckslv3QWH +=fmUm +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-i686-unknown-linux-gnu.tar.xz b/rust-1.84.0-i686-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..29e10a5 --- /dev/null +++ b/rust-1.84.0-i686-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b46802eb72268bd55d1bd69a2eaa13871f89b0c38c73418d8eeea6fae869d7 +size 235927300 diff --git a/rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..a267676 --- /dev/null +++ b/rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jpCRCFq5bm+hvl/gAAqrUQAN/AzNFMKt2rSKEB9mPW8djY +xkHjPuTRo46jUQ0nC6bcNIXEOMNVswt25JCTgDP8LiWFC3ErR/Eg0iNC1w0HMYB6 +FgfzM/1hdtgCoSnBVrQhNo/rkYiGfLTx+j50Y96GWY7SJBFvjWx+ZNzOnb8xGEia +rcVJ8Gg1WhtWlOHp2fqeLezFmp2DPPOiuIj/7MEYVMKOE2bjes7yYuJG4AE1Ld9p +gTot9WBp1bHNXWDhNPC/wVqOcCItFW1xvH2z8TlAqxbz9ryH1UZBqu0Osqtq/zUq +Em3J2r9iyfux+qaYUk6yLO9MkrTPdqa7vaHf3LZuxCwKzQV35aPE6sa0+GbuOATa +rlaG0NGkrzqkVB55iQ63Pz+x8ZFNiVQehwuW8OSD+54d4pw8Iu21D0a/f36W0LAm +v4+Hz4D/UIU2+L2Q4pP6LMXfJgQDy/F1BfEV0oio19WOa4b4O3lQEGjioUaAweKh +eVBlKKEGv7qmQNrpXA4xj3HQiUzUiENJ62ZOS32neXE2Anjg1b8tqLdeaJ7t+Ba2 +rxckRHgEW7fwhDjdm3idDnXu9QxR6EoZjE1w4kx9+ldctkRsi8kJ3N934MN12sVw +jZB9EK8dQetaVitA4iMCnMwsDvLoR+DeLBu3i53LVLLSpQMB2FDVPLPgtFAoBvkk +Z2HMMJjRyZOcCg7yZqOU +=vKy6 +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz b/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..50babc9 --- /dev/null +++ b/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08bbf2dced82481edfe7d14ab170f90dc7e326511f39641eb8c428b1376d2990 +size 234981212 diff --git a/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..c1c8cb4 --- /dev/null +++ b/rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jpCRCFq5bm+hvl/gAA1K8QANLcgFuaHS9SnzsToRNDl3ak +8iC8cQBZ6MSCLHS646xPCuk4aikiRW5ugSLLVDHYPV621li7KZ1c9aQ/z97bClWa +cVwdWh8Z4b409IiQkHZxQf6AeVYCVY61P+Sf5YydaPCqCQlRUgmgAcfXaFLWCDZy +kU/hi6KmdJknE1tHN9VzSFUPpIkXqgZ8p6n0/Rsjoc/90TGxsph3F7E3kkkzers3 +ileMEVQIaYVwStLuvsuCexVFWP651PoBPw1hfOapqKSUMR8MgajjMpatAm7HabHz +grlcOMYfjRuPbkjb9DgK+1vMvCzv2eOdiIv7ZFHzolroxu1PMsvJ+hMHhghZQuA8 +AL0LTxhDoIrWz5sQVmpkqgq9JjLdOdE35gfw2h23IQg71WhtRWauz7t9Duga9vTN +IqDb9z/JfXluyeZ1vGwzDK17MeV5i4moPoV5JMnAIQ5VTqv9m6I3ak2ljgtKdXIZ +DZ2srQcxelPL+YlhsCYR4kR4uuaaeZvdcvFR4JCj3ZsFSn7mGhrp6JiQMtOkGTDt +OseDFs/Y19EixkFkT3FDfnK++zi1r5/t+nyafySDR/BHGuF6lM8zP27fksWfefxn +3SwCLm4g2+dIdXRi0RH2NxA2rjsmmJ2qFElNxNrtcS+M2ibwBMec5qgDeFudvXge +Y1I2sRFS1FEA4QlMOBti +=9BBo +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz b/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..1179cf3 --- /dev/null +++ b/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85845028b4587d829165fdfed31d3e39b227f158c5238a369919e6130cf4a3f9 +size 226162544 diff --git a/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..59cfd21 --- /dev/null +++ b/rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jqCRCFq5bm+hvl/gAAvw8QAMqEoHd3O64gcnDA+bDOnLq1 +I+EStPwpYc64wVjtCzr597ki7AtnyqZOHtwNh6rkKYcYiMkutijnjApme4YbLR+L +4rOrd7V31mOC69TmWuqLfmpyzab/pxNC9VxOSpGLeGBbuYroDUnMUPeyDFtuVBhu +928hxDI1tR8+uZpCmOUMVw5yAlk+EHDAthq5Y+sOEtjR/ZL/KVTeyDYA5iNY7eQ1 +6vCJJizNgTBcbUEku88gR3v0Jxp/ND+pCzHTJuMobRn/9YfyPBSJxcXHcGX4Jdd9 +fcrPrYRyHCgtIUBq9zzz2piFYsZwAwdC32vP5/55bLgvsIpKW8DLps85j6YzLp4R +wlAaMUqnm7eUa6cwj1XtLV/ekTIDMiSMt9RQ1fAH6aLFzLc3Oa60d4XkdkZ7BldY +pjm/Egla+aOtKlHLln7Br3S4mQppGeS0zmax7RYY1eeVj1Oart062WGcghh3jv+f +TEqrmHp6apmRVmsh71SbO9lRezTUo9M75vpMWQDQl03REVhmosPDFUwt+vyj1fI/ +W63VGvBVlIOzvielCZS1/0fQffIxClbrgwRb/fWsPFijNO4UT/da7g6VdOVMPNEb +p2goWK6wt8wFgCmukIDncsgKMXWAviJf3LH153bAC9COMMGoruSJbKg1dkYLl+LD +A9vPxmH+g710K8zwDrwt +=idVQ +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz b/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..2ff6589 --- /dev/null +++ b/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7752678a17e3b398d8c609effcc7ae602925f280896feb20b7668a190afda7b +size 222899356 diff --git a/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..f334a51 --- /dev/null +++ b/rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jpCRCFq5bm+hvl/gAA3RoQAJobr6ftPnUlRJxI6DcmBmd7 +PAzAtsRIlTu7dgFlBgi3cH1RetGChR/KuyvtizacPQz7l8DO+16kGUvlTA8IVd+1 +1yDu2Je4AvMSslvEg/Y4SY8W+itBEi37UJUZQRk6Y41zMpNnkarGSqCNopLQg8ry +1yALYI8eLS4wdJHDINmgq3qpWDgjIBlEp5H/7o1KKXCC+DvEVNUqK5uU1MBAB31+ +F2zhwipVuIiLe1VKkYFn0KpZRCWXtQZHEVSSaeFu6ruMe18VVEe13GgCQan1xkFl +w4f9qD9ta6b2PgQFlpG2vMYgz+39sEM1h+3XPvNDLus2ikjgqgNGLsHdsE6frQib +y391O3JkDboedHOrlUeCyIAsZH89n8FccU4BcmDXOJP6IxJgMxFgFn80gRiOHPBI +vzjf4jf8H8yGQh0LRnmHFyAQvfmySIk+TH2n0kxtMtJJaA5MuzaLjK9NSLOiOE38 +fYYI+y81OvhOIQBrCuFX1/GTYXWymXiYN3q8NLZnqOrq+DCB0jG9k8CqoGAcazDh +guU7wTzduHKASQTTjlOdmMJeF8zViLDWbTToNvNeV0Z0yqV4gAzGOs1S2qhY2+2y +SDg243Zf1gRciREUJPiZLqv20hwTPd++i3Rzjx+bqwjojTQdtrc6ARdxng2KbUTD +3FZnxf9hAwgh7VJ77k5C +=wbyN +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz b/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..6a09d10 --- /dev/null +++ b/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cdb3b2a4a374c868cb156a6e10591d0d3e40c987d3ec363bf18349a0143843b +size 235629500 diff --git a/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..37ff79a --- /dev/null +++ b/rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jqCRCFq5bm+hvl/gAAY6UQALqepRWw0EGZMnWoqcA4GRR1 +OYSueglqaKbo/YFysadR50QuSCFzHeNfTU2xwdWxg4/XUM5x/fyhs0axJ8GUNJla +1LgCbbV1DmzFpAG6yjtzA6i9qEiIUyLEVrvPFCsXvvT8ykAROthARcvXV9FYzBmL +RnWoCRBJs5JtwvZHRl09xL6LHEjIYXnZdcCkqbx2BoMQPp+jtGsF3dAiTrMInMen +H1W1evaK0k6BGkKOayrlpxlRNor99vxNANPeeXUSdzKYvp8A9Fd/2FyKOo8XE+VP +YqLWaDvaA/3p3VrbjXHgeL5IVJPq2jQnVvZ9aT+pG5F0ivMdN/OhEvF5ZTtrFW47 +uAM7vAmOcUn/TRyyZ/skP7AbiHf2koheMcusMgB9j6IAZi6F9Ql5OiCDhfO1GMpZ +U4Vl1DdKigJSuim1GcvYOAinVmrBzu91DJXIrHVqQphe5NdeU90ZpF4M++J80Bja +AduMjthMgsTdFfphbXxzK36Y7E8RTd0lEMd8LPgfL3cWsLNeRyvMaX1QVUEjcoYo +h83XU5AOL8uFcSfO0Mn1o35Yg+xyFB9nKm0+2HGSziNNSDXMRdWZBs0o/zJXrSzO +iPqZp3bJChb2fsAeCUBSsJ5a8A5p7m/3Rz3qjFfHUZBluQyWksyKaIpfFkrA8bcw +aTOf4pwsx4lKYAO4pTar +=Ne4j +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz b/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..b8c11eb --- /dev/null +++ b/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74e0a75cb6d48975c75cf49b5434c921d6bed16937e1f6091eaffb524761c6e1 +size 221099540 diff --git a/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..d763264 --- /dev/null +++ b/rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+joCRCFq5bm+hvl/gAABNoP/1p3aBJR6w113RwAjOoJr8d3 +7pDLjwRPrxJZfM7/3jS4FjCp1eeGNaZQPSnGFGVbeVMRAvhQg3rPwtS7SNAJWsFs +KZlr+/1kYSCU4+DBjMerw4SA6MPEhyi1uA32EPmWyAnFXIE2LfVF/ovkowClf7ay +JT6kLSqHEqCNYuqanQZAolwlv/q4gCpJ8rZ+ovbVA3okY0P0Ldl4AnZof2Flvvrg +mIp4YPm8c4jBakT8XXYlqXBhhwVb3b5Uw4N1gA8qAqzEe2kCxFsjU8CboKVklTrG +WSKcfodpXvI+lOTyWuQGxC/cZGEOjdIOKOxetLgUowBbag9TNscUdzwKQdQqtv6w +M6iA0/pui59FI1QKayJPrPuOAlcF4abMhN9cxmDuiLAdVK4wnL7lVYViB020/cf/ +x0Bf9AwYN2eTUYEQmzmTyRAJK6qLP67Gq8fmOkNMM4ZF816j4DVch8Q6qTzQBIKS +fiXl5nMqOd/Hudwbbow0We1eamwvrhj2cbN2u3kqUTDiYvHHFsCeNKNlRbHGnnbs +eeVEyCglZA4KOw4BADvIvEQTJL0Gt9orYLYseOEPacA3spqrwmHvL5DE8zxnPXRU +JpKdbqdbK3OL5f6DQp8u18jdALzY3bl63mG32/cFk/iP1UM2TjYhiFutehOEz22W +G7HEikV3PYe/OTE3E2Lw +=gDAx +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz b/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..78b1c4d --- /dev/null +++ b/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:410e5422036b6195bd79e6aad328335e99b4ef7a82b72248cbac71dfd61d6b18 +size 225691648 diff --git a/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..2aa71a1 --- /dev/null +++ b/rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jlCRCFq5bm+hvl/gAAAqcQAJGlsNYd7JfyOKndcTUcAzbe +NREJOmMbOmvX2jjqGVYUgLXITEacTA3U2KoCH7AXPPYyQrvqbtblczB9nrWqLdxI +EL4C6+Cbzfwa8iiYRf1lTrIztlBHxha3Sdam0+dHc4/4wH4TaIg8GrKZJ16FIMmK +p6dx3A15v2Zfl9PrDthuFNjrb/ZZi7L7yoHoTdJnOe6DbCEWMql09r7+GvB1jDw+ +CfpCXam/lyQo1GeEk0oeT3KXu6UNCxr4B/fk6qfbYBPxqezYG2Ic/0qJ9OydjDqV +JPBSk8L/UmAxDHJ9CdA8bgQRxkePpmCpEPFbev++9hqKS+wQtfOddIabYD3RZF3y +x70hhBAcbuCuSVjVFfBhPSLZsXlkJkLNAKEd6CRKXEvat+NQoW9SIdF+2Wzt3WY+ +zvflGxUYenzp9d5VFjU2XiPA+dZC9q9Gpso43giPd6u2KjMs6B+8ZIlOEmaL72Uo +PYYvnmefmxgvumzkoUoF6FFL8YKVPLChSM5+QSuYL3mzhaJ3GYgaHFatQj7Jp53z +5r0dQEEWatMMTPlFxLLMHom7tfEsYTBOAjd8P7gR56zsnAWKU0S59ufPcjQc9Y/W +P1toZ9cGGxTYH5AV6tUr7vyKupl9WpOF1UV8MIaB9TXSrq0qUjMo/zIBioHhmMiI +kbUExZkElL8052eGvFP1 +=GkaA +-----END PGP SIGNATURE----- diff --git a/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz b/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..25cb381 --- /dev/null +++ b/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73aca7e08720b7bf28beee8f2370c6aef961aa87e9674989f5ce62ec2f95dcfd +size 183288052 diff --git a/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc b/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..bd9507a --- /dev/null +++ b/rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJnf+jmCRCFq5bm+hvl/gAAAZQP+wXlxqP+W4N82QTyDwdNwePB +ap/Mi6gUB+zjEjyUKRm4LwTf2zrmX7BMRqo5Co2UkHdG9if2UQRe4iP7jEx1x9Om +RhTv4J2CLcl4sUg/gEhxy4V7DV+i8Tuek8H0mdhNB6Po02BAvqazZ+GhBX0ZPBWi +F+GLlpX3L0GKmC8NIZGToa9Rlqydb4dcIESQYNvoW9WeLtc9gKthCRcXMzyo3Jxa +j2sJjsQDMWvy8JNqpw5pgj4RAZ8ALw8pGJZ84EuqGXKd6DKOGP4fieSoz8sDMv2E +G9qVIfiQkHXuCaHFKHSMBQ/lMRavV9DnqDyi9YIYTihaEyAX09x0hWrbwHg8ULei +rwpR55CyPZ8PfidHbip8/28S0UEJ55TYyJ76HfOEqXlW59ogL7jSmjSVRKzGQ6RW +dKqUUhFDdTklww322HTYLGiHt0F6+7I06BrjP6YFse2i6xA2NkNJNqhiIamswKqC +ex4ZaLiqGSsT/7Fusmvz9vq0vkRSwIU4n/+d6X2JbDk9SgLbJqjIrewial4rQp3F +IEdTNH7zpAz49eYpMWS1r67yiEFWWYI4oEVdGpy73hbYjbvv+Jsad6c7jU+JICVE +49OBBvY0JnQPI1ZUhIib9QWKXxHMcgMCbAg5I9GFctWEH37jur29ySkU5ThcNMiK +EYASIK6AYdk5uJcIhg5T +=V6E4 +-----END PGP SIGNATURE----- diff --git a/rust.keyring b/rust.keyring new file mode 100644 index 0000000..c9248e6 --- /dev/null +++ b/rust.keyring @@ -0,0 +1,85 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +/5A5vjHh+NhFwH5h2vBJVPdsz6k= +=jRHo +-----END PGP PUBLIC KEY BLOCK----- diff --git a/rust1.84-rpmlintrc b/rust1.84-rpmlintrc new file mode 100644 index 0000000..ea48491 --- /dev/null +++ b/rust1.84-rpmlintrc @@ -0,0 +1,35 @@ +# we are exporting the buildroot, not changing it, this lint is wrong. +addFilter("rpm-buildroot-usage") + +# rlib not in elf format +# addFilter("binaryinfo-readelf-failed.*/usr/lib/rustlib/.*rlib") + +# rust has no stable ABI as of yet, soname is of no use yet +addFilter("no-soname.*/usr/lib/rustlib/.*") +addFilter("no-soname.*/usr/lib/lib*") + +# error when building with bootstrap. ignore for now +# addFilter(".*shlib-policy-name-error.*libLLVM-11.*") + +# Rustc driver calls exit, this is fine +# addFilter(".*shared-lib-calls-exit.*/usr/lib/librustc_driver.*") +# addFilter("potential-bashisms.*/usr/bin/rust-lldb") +# addFilter("position-independent-executable-suggested.*/usr/bin/rust-llvm-dwp") + +addFilter("non-devel-file-in-devel-package /usr/lib/.*so") +# addFilter("non-devel-file-in-devel-package /usr/lib/rustlib/.*") + +## Sssshhh warnings, we know. This is intentional so that linking +# works properly during users build times. +addFilter("devel-dependency glibc-devel") + +# Can't read wasm files, that's okay. +addFilter("readelf-failed /usr/lib/rustlib/wasm32-wasi/lib/self-contained/libc.a") + +# We know, it's okay. +addFilter("obsolete-not-provided .*") + +# We need to provide the rust sources, they aren't a devel package. +addFilter("devel-file-in-non-devel-package .*") +# Some of the sources have test scripts, ignore. +addFilter("env-script-interpreter .*") diff --git a/rust1.84.changes b/rust1.84.changes new file mode 100644 index 0000000..4de9003 --- /dev/null +++ b/rust1.84.changes @@ -0,0 +1,101 @@ +------------------------------------------------------------------- +Tue Jan 14 01:58:02 UTC 2025 - William Brown + +Version 1.84.0 (2025-01-09) +========================== + +Language +-------- +- [Allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560/) +- [Show a warning when `-Ctarget-feature` is used to toggle features that can lead to unsoundness due to ABI mismatches](https://github.com/rust-lang/rust/pull/129884) +- [Use the next-generation trait solver in coherence](https://github.com/rust-lang/rust/pull/130654) +- [Allow coercions to drop the principal of trait objects](https://github.com/rust-lang/rust/pull/131857) +- [Support `/` as the path separator for `include!()` in all cases on Windows](https://github.com/rust-lang/rust/pull/125205) +- [Taking a raw ref (`raw (const|mut)`) of a deref of a pointer (`*ptr`) is now safe](https://github.com/rust-lang/rust/pull/129248) +- [Stabilize s390x inline assembly](https://github.com/rust-lang/rust/pull/131258) +- [Stabilize Arm64EC inline assembly](https://github.com/rust-lang/rust/pull/131781) +- [Lint against creating pointers to immediately dropped temporaries](https://github.com/rust-lang/rust/pull/128985) +- [Execute drop glue when unwinding in an `extern "C"` function](https://github.com/rust-lang/rust/pull/129582) + +Compiler +-------- +- [Add `--print host-tuple` flag to print the host target tuple and affirm the "target tuple" terminology over "target triple"](https://github.com/rust-lang/rust/pull/125579) +- [Declaring functions with a calling convention not supported on the current target now triggers a hard error](https://github.com/rust-lang/rust/pull/129935) +- [Set up indirect access to external data for `loongarch64-unknown-linux-{musl,ohos}`](https://github.com/rust-lang/rust/pull/131583) +- [Enable XRay instrumentation for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/131818) +- [Extend the `unexpected_cfgs` lint to also warn in external macros](https://github.com/rust-lang/rust/pull/132577) +- [Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features](https://github.com/rust-lang/rust/pull/131080) +- [Added Tier 2 support for the `wasm32v1-none` target](https://github.com/rust-lang/rust/pull/131487) + +Libraries +--------- +- [Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>`](https://github.com/rust-lang/rust/pull/129329) +- [Move `::copysign`, `::abs`, `::signum` to `core`](https://github.com/rust-lang/rust/pull/131304) +- [Add `LowerExp` and `UpperExp` implementations to `NonZero`](https://github.com/rust-lang/rust/pull/131377) +- [Implement `FromStr` for `CString` and `TryFrom` for `String`](https://github.com/rust-lang/rust/pull/130608) +- [`std::os::darwin` has been made public](https://github.com/rust-lang/rust/pull/123723) + +Stabilized APIs +--------------- + +- [`Ipv6Addr::is_unique_local`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unique_local) +- [`Ipv6Addr::is_unicast_link_local`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unicast_link_local) +- [`core::ptr::with_exposed_provenance`](https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance.html) +- [`core::ptr::with_exposed_provenance_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance_mut.html) +- [`::addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.addr) +- [`::expose_provenance`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.expose_provenance) +- [`::with_addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.with_addr) +- [`::map_addr`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.map_addr) +- [`::isqrt`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.isqrt) +- [`::checked_isqrt`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.checked_isqrt) +- [`::isqrt`](https://doc.rust-lang.org/stable/core/primitive.u32.html#method.isqrt) +- [`NonZero::isqrt`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#impl-NonZero%3Cu128%3E/method.isqrt) +- [`core::ptr::without_provenance`](https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance.html) +- [`core::ptr::without_provenance_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance_mut.html) +- [`core::ptr::dangling`](https://doc.rust-lang.org/stable/core/ptr/fn.dangling.html) +- [`core::ptr::dangling_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.dangling_mut.html) +- [`Pin::as_deref_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.as_deref_mut) + +- [`AtomicBool::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.from_ptr) +- [`AtomicPtr::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicPtr.html#method.from_ptr) +- [`AtomicU8::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU8.html#method.from_ptr) +- [`AtomicU16::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU16.html#method.from_ptr) +- [`AtomicU32::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU32.html#method.from_ptr) +- [`AtomicU64::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU64.html#method.from_ptr) +- [`AtomicUsize::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr) +- [`AtomicI8::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI8.html#method.from_ptr) +- [`AtomicI16::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI16.html#method.from_ptr) +- [`AtomicI32::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI32.html#method.from_ptr) +- [`AtomicI64::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI64.html#method.from_ptr) +- [`AtomicIsize::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicIsize.html#method.from_ptr) +- [`::is_null`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_null-1) +- [`::as_ref`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_ref-1) +- [`::as_mut`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_mut) +- [`Pin::new`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new) +- [`Pin::new_unchecked`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new_unchecked) +- [`Pin::get_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_ref) +- [`Pin::into_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.into_ref) +- [`Pin::get_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_mut) +- [`Pin::get_unchecked_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_unchecked_mut) +- [`Pin::static_ref`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_ref) +- [`Pin::static_mut`](https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_mut) + +Cargo +----- +- [Stabilize MSRV-aware resolver config](https://github.com/rust-lang/cargo/pull/14639/) +- [Stabilize resolver v3](https://github.com/rust-lang/cargo/pull/14754/) + +Rustdoc +------- + +- [rustdoc-search: improve type-driven search](https://github.com/rust-lang/rust/pull/127589) + +Compatibility Notes +------------------- +- [Enable by default the `LSX` target feature for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/132140) +- [The unstable `-Zprofile` flag (“gcov-style” coverage instrumentation) has been removed.](https://github.com/rust-lang/rust/pull/131829) This does not affect the stable flags for coverage instrumentation (`-Cinstrument-coverage`) and profile-guided optimization (`-Cprofile-generate`, `-Cprofile-use`), which are unrelated and remain available. +- Support for the target named `wasm32-wasi` has been removed as the target is now named `wasm32-wasip1`. This completes the [transition](https://github.com/rust-lang/compiler-team/issues/607) [plan](https://github.com/rust-lang/compiler-team/issues/695) for this target following [the introduction of `wasm32-wasip1`](https://github.com/rust-lang/rust/pull/120468) in Rust 1.78. Compiler warnings on [use of `wasm32-wasi`](https://github.com/rust-lang/rust/pull/126662) introduced in Rust 1.81 are now gone as well as the target is removed. +- [The syntax `&pin (mut|const) T` is now parsed as a type which in theory could affect macro expansion results in some edge cases](https://github.com/rust-lang/rust/pull/130635#issuecomment-2375462821) +- [Legacy syntax for calling `std::arch` functions is no longer permitted to declare items or bodies (such as closures, inline consts, or async blocks).](https://github.com/rust-lang/rust/pull/130443#issuecomment-2445678945) +- [Declaring functions with a calling convention not supported on the current target now triggers a hard error](https://github.com/rust-lang/rust/pull/129935) +- [The next-generation trait solver is now enabled for coherence, fixing multiple soundness issues](https://github.com/rust-lang/rust/pull/130654) diff --git a/rust1.84.spec b/rust1.84.spec new file mode 100644 index 0000000..84434bf --- /dev/null +++ b/rust1.84.spec @@ -0,0 +1,771 @@ +# +# spec file for package rust1.83 +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2019 Luke Jones, luke@ljones.dev +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global version_suffix 1.84 +%global version_current 1.84.0 +%global version_previous 1.83.0 + +%if 0%{?gcc_version} < 13 +# We may need a minimum gcc version for some linker flags +# This is especially true on leap/sle +# +# ⚠️ 11 or greater is required for a number of linker flags to be supported in sle. +# +%global need_gcc_version 13 +%endif + +#KEEP NOSOURCE DEBUGINFO + +%define obsolete_rust_versioned() \ +Obsoletes: %{1}1.83%{?2:-%{2}} \ +Obsoletes: %{1}1.82%{?2:-%{2}} \ +Obsoletes: %{1}1.81%{?2:-%{2}} \ +Obsoletes: %{1}1.80%{?2:-%{2}} \ +Obsoletes: %{1}1.79%{?2:-%{2}} \ +Obsoletes: %{1}1.78%{?2:-%{2}} \ +Obsoletes: %{1}1.77%{?2:-%{2}} \ +Obsoletes: %{1}1.76%{?2:-%{2}} \ +Obsoletes: %{1}1.75%{?2:-%{2}} \ +Obsoletes: %{1}1.74%{?2:-%{2}} \ +Obsoletes: %{1}1.73%{?2:-%{2}} \ +Obsoletes: %{1}1.72%{?2:-%{2}} \ +Obsoletes: %{1}1.71%{?2:-%{2}} \ +Obsoletes: %{1}1.70%{?2:-%{2}} \ +Obsoletes: %{1}1.69%{?2:-%{2}} \ +Obsoletes: %{1}1.68%{?2:-%{2}} \ +Obsoletes: %{1}1.67%{?2:-%{2}} \ +Obsoletes: %{1}1.66%{?2:-%{2}} \ +Obsoletes: %{1}1.65%{?2:-%{2}} \ +Obsoletes: %{1}1.64%{?2:-%{2}} \ +Obsoletes: %{1}1.63%{?2:-%{2}} \ +Obsoletes: %{1}1.62%{?2:-%{2}} + +# ⚠️ Must leave 1.62 here due to kernel requirements. + +# Build the rust target triple. +# Some rust arches don't match what SUSE labels them. +%global rust_arch %{_arch} +%global abi gnu + +%ifarch armv7hl +%global rust_arch armv7 +%global abi gnueabihf +%endif + +%ifarch armv6hl +%global rust_arch arm +%global abi gnueabihf +%endif + +%ifarch ppc +%global rust_arch powerpc +%endif + +%ifarch ppc64 +%global rust_arch powerpc64 +%endif + +%ifarch ppc64le +%global rust_arch powerpc64le +%endif + +%ifarch riscv64 +%global rust_arch riscv64gc +%endif + +# Must restrict the x86 build to i686 since i586 is currently +# unsupported +%ifarch %{ix86} +%global rust_arch i686 +%endif + +%global rust_triple %{rust_arch}-unknown-linux-%{abi} + +# Web Assembly targets +%define rust_wasm_targets %{?with_wasi:,wasm32-wasip1} + +# Base Rust targets for all architectures +%define rust_base_targets %{rust_triple}%{rust_wasm_targets} + +# For x86-64 add the x86_64-unknown-none target +%ifarch x86_64 +%define rust_target_list %{rust_base_targets},x86_64-unknown-none +%else +%define rust_target_list %{rust_base_targets} +%endif + +# All sources and bootstraps are fetched form here +%global dl_url https://static.rust-lang.org/dist + +# Rust doesn't function well when put in /usr/lib64 +%global common_libdir %{_prefix}/lib +%global rustlibdir %{common_libdir}/rustlib + +# Detect if sccache has been requested by the build +%if "%{getenv:RUSTC_WRAPPER}" == "sccache" +%bcond_without sccache +%else +%bcond_with sccache +%endif + +# === rust arch support tiers === +# https://doc.rust-lang.org/nightly/rustc/platform-support.html +# tl;dr only aarch64, x86_64 and i686 are guaranteed to work. +# +# armv6/7, s390x, ppc[64[le]], riscv are all "guaranteed to build" only +# but may not always work. + +# === broken distro llvm === +# In almost all cases, distro llvm doesn't work for rust. Rust additionally provides +# patches and features in their bundled llvm. We use it by default. +# + +# === Use clang/lld during build if possible === +# i586 - unable to link libatomic +# aarch64 - fails due to an invalid linker flag +# +%bcond_with llvmtools + +# Depending on our environment, we may need to configure our linker in a different manner. + +# If we elect for llvm, always use clang. +%if %{with llvmtools} +%define rust_linker clang +%else +%if 0%{?need_gcc_version} != 0 +%define rust_linker gcc-%{need_gcc_version} +%else +%define rust_linker cc +%endif +%endif + +# === Enable wasm/wasi on t1 targets === +%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699 +%ifarch x86_64 aarch64 +%bcond_without wasi +%else +%bcond_with wasi +%endif +%else +%bcond_with wasi +%endif + +# Test is done in a different multibuild package (rustXXX-test). This +# package will replace the local-rust-root and use the systems's one +# from the rustXXX package itself. This will exercise the compiler, +# even tho, the tests will require more compilation. If we do not +# agree on this model we can drop the _multibuild option and do the +# pct check as a part of the main spec. + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif + +# """ +# Do not use parallel codegen in order to +# a) not exhaust memory on build-machines and +# b) generate the fastest possible binary +# at the cost of longer build times for this package +# """ +# +# These claims are incorrect +# a) codegen=1, actually consumes MORE memory due to the fact that the full +# code unit is then LTO'd in a single pass. This can cause LLVM to internally OOM +# especially if the machine has less than 1G of ram, and this is documented: +# * https://github.com/rust-lang/rust/issues/85598 +# it has also been observed in OBS during builds of 1.52 and 1.53 +# +# b) the performance gains from codegen=1 are minimal at best, and not worth +# us messing about with these values - especially when the rust language team +# probably know more about how to set and tune these based on data and research +# +# Debuginfo can exhaust memory on these architecture workers +%ifarch %{arm} %{ix86} +%define debug_info --debuginfo-level=0 --debuginfo-level-rustc=0 --debuginfo-level-std=0 --debuginfo-level-tools=0 --debuginfo-level-tests=0 +%else +%define debug_info %{nil} +%endif + +%global rustflags -Clink-arg=-Wl,-z,relro,-z,now + +# Exclude implicitly-scanned Provides, especially the libLLVM.so ones: +%global __provides_exclude_from ^%{rustlibdir}/.*$ + +Name: rust%{version_suffix}%{psuffix} +Version: %{version_current} +Release: 0 +Summary: A systems programming language +License: Apache-2.0 OR MIT +Group: Development/Languages/Rust +URL: https://www.rust-lang.org +Source0: %{dl_url}/rustc-%{version}-src.tar.xz +Source1: rust.keyring +%if %{without test} +Source99: %{name}-rpmlintrc +%endif +Source100: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz +NoSource: 100 +Source101: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz +NoSource: 101 +Source102: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz +NoSource: 102 +Source103: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz +NoSource: 103 +Source104: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz +NoSource: 104 +Source105: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz +NoSource: 105 +Source106: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz +NoSource: 106 +Source107: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz +NoSource: 107 +Source108: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz +NoSource: 108 +Source109: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz +NoSource: 109 +Source110: %{dl_url}/rust-%{version_current}-loongarch64-unknown-linux-gnu.tar.xz +NoSource: 110 +Source200: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz.asc +NoSource: 200 +Source201: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz.asc +NoSource: 201 +Source202: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz.asc +NoSource: 202 +Source203: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz.asc +NoSource: 203 +Source204: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz.asc +NoSource: 204 +Source205: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz.asc +NoSource: 205 +Source206: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz.asc +NoSource: 206 +Source207: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz.asc +NoSource: 207 +Source208: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz.asc +NoSource: 208 +Source209: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz.asc +NoSource: 209 +Source210: %{dl_url}/rust-%{version_current}-loongarch64-unknown-linux-gnu.tar.xz.asc +NoSource: 210 +# Make factory-auto stop complaining... +Source1000: README.suse-maint + +# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag +Patch0: ignore-Wstring-conversion.patch +Patch2: tests-run-make-compiler-builtins-failed.patch +# IMPORTANT - To generate patches for submodules in git so they apply relatively you can use +# git format-patch --text --dst-prefix=b/src/tools/cargo/ HEAD~2 + +# SLE 15 SP3 and lower do not support pidfs, but it's not possible to disable that +# test individually. As a result, we have to skip testing below 15.4. + +%if 0%{?sle_version} <= 150400 +Patch3: 0001-Disable-pidfs-tests-for-15SP3.patch +%endif + +BuildRequires: chrpath +BuildRequires: curl +# BUG - fdupes on leap/sle causes issues with debug info +%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699 +BuildRequires: fdupes +%endif +BuildRequires: pkgconfig +BuildRequires: procps +BuildRequires: python3-base +BuildRequires: util-linux +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(zlib) +# Set requires appropriately +%if %with sccache +BuildRequires: sccache +%else +BuildRequires: ccache +%endif + +# For linking to platform +Requires: glibc-devel +# Rustc doesn't really do much without Cargo, but you know, if you wanna yolo that ... +Recommends: cargo +# For static linking +Recommends: glibc-devel-static + +%if %{with wasi} +BuildRequires: wasi-libc +%endif + +%if %{with llvmtools} +BuildRequires: clang +BuildRequires: libstdc++-devel +BuildRequires: lld +Requires: clang +Requires: lld +%else +%if 0%{?need_gcc_version} != 0 +BuildRequires: gcc%{need_gcc_version}-c++ +Requires: gcc%{need_gcc_version} +%else +BuildRequires: gcc-c++ +Requires: gcc +%endif +%endif + +# CMake and Ninja required to drive the bundled llvm build. +# Cmake is also needed in tests. +%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150300 +# In these distros cmake is 2.x, or 3.X < 3.13, so we need cmake3 for building llvm. +BuildRequires: cmake3 >= 3.20.0 +%else +BuildRequires: cmake >= 3.20.0 +%endif + +# To build rust-lld +BuildRequires: ninja + +%if %{with test} +BuildRequires: cargo%{version_suffix} = %{version} +BuildRequires: rust%{version_suffix} = %{version} +# Static linking tests need this. +BuildRequires: glibc-devel-static +BuildRequires: git + +# End with test +%endif + +%obsolete_rust_versioned rust +Conflicts: rust+rustc < %{version} +Conflicts: rustc-bootstrap +Provides: rust+rustc = %{version} +Conflicts: rust-std < %{version} +Obsoletes: rust-std < %{version} +Provides: rust-std = %{version} +Conflicts: rust-std-static < %{version} +Obsoletes: rust-std-static < %{version} +Provides: rust-std-static = %{version} +Conflicts: rust-gdb < %{version} +Obsoletes: rust-gdb < %{version} +Provides: rust-gdb = %{version} + +%if %{without test} +# Restrict the architectures as building rust relies on being +# initially bootstrapped before we can build the n+1 release +ExclusiveArch: x86_64 %{arm} aarch64 ppc ppc64 ppc64le s390x %{ix86} riscv64 loongarch64 +%ifarch %{ix86} +ExclusiveArch: i686 +%endif +%else +# Restrict for Tier 1 targets (but we should report bugs in Tier 2) +# https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-1-with-host-tools +ExclusiveArch: x86_64 i686 aarch64 +%endif + +%description +Rust is a systems programming language focused on three goals: safety, +speed, and concurrency. It maintains these goals without having a +garbage collector, making it a useful language for a number of use +cases other languages are not good at: embedding in other languages, +programs with specific space and time requirements, and writing +low-level code, like device drivers and operating systems. It improves +on current languages targeting this space by having a number of +compile-time safety checks that produce no runtime overhead, while +eliminating all data races. Rust also aims to achieve "zero-cost +abstractions", even though some of these abstractions feel like those +of a high-level language. Even then, Rust still allows precise control +like a low-level language would. + +%package -n cargo%{version_suffix} +Summary: The Rust package manager +License: Apache-2.0 OR MIT +Group: Development/Languages/Rust +Requires: rust-std = %{version} +Obsoletes: cargo-vendor < %{version} +Provides: cargo-vendor = %{version} +Provides: rust+cargo = %{version} +%obsolete_rust_versioned cargo + +%description -n cargo%{version_suffix} +Cargo downloads dependencies of Rust projects and compiles it. + +%package src +Summary: The Rust Standard Library Source +License: Apache-2.0 OR MIT +Group: Development/Languages/Rust +Requires: rust-std = %{version} +BuildArch: noarch + +%description src +Rust Stanard Library Sources are required for building some types of projects + +%prep +# Previously the stage0 compiler was skipped in test builds, but there are now +# tests in rust's source tree that require it. +%ifarch x86_64 +%setup -q -T -b 100 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch %{ix86} +%setup -q -T -b 101 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch aarch64 +%setup -q -T -b 102 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch armv7hl +%setup -q -T -b 103 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch armv6hl +%setup -q -T -b 104 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch ppc64 +%setup -q -T -b 105 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch ppc64le +%setup -q -T -b 106 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch s390x +%setup -q -T -b 107 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch ppc +%setup -q -T -b 108 -n rust-%{version_current}-%{rust_triple} +%endif +%ifarch riscv64 +%setup -q -T -b 109 -n rust-%{version_current}-%{rust_triple} +%endif +./install.sh --components=cargo,rustc,rust-std-%{rust_triple} --prefix=.%{_prefix} --disable-ldconfig + +%global rust_root %{_builddir}/rust-%{version_current}-%{rust_triple}%{_prefix} + +%autosetup -p1 -n rustc-%{version}-src + +# We never enable emscripten. +rm -rf src/llvm-emscripten/ +# We never enable other LLVM tools. +rm -rf src/tools/clang +rm -rf src/tools/lldb + +# Fix rpmlint error "This script uses 'env' as an interpreter" +sed -i '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' library/core/src/unicode/printable.py +chmod +x library/core/src/unicode/printable.py + + +%if %{with wasi} +# wasi-libc ships it's toolchain as wasm32-wasi, but rust expects it to be wasm32-wasip1. +cp -r %{_datadir}/wasi-sysroot %{_builddir} +ln -s %{_builddir}/wasi-sysroot/lib/wasm32-wasi %{_builddir}/wasi-sysroot/lib/wasm32-wasip1 +%endif + +# Debugging for if anything goes south - OBS does like to lie about resources on builders. +lscpu +free -h +df -h + +%build + +# Create exports file +# Keep all the "export VARIABLE" together here, so they can be +# reread in the %%install section below. +# If the environments between build and install and different, +# everything will be rebuilt during installation! + +%if %{with llvmtools} +cat > .env.sh < .env.sh < .env.sh <> .env.sh <> main.rs <