commit c40fdc9e9e75512d2dcb3a7bae49a97bdb0ae9bd Author: Adrian Schröter Date: Thu Dec 28 01:17:41 2023 +0100 Sync from SUSE:ALP:Source:Standard:1.0 rust1.73 revision 0cb7415c75b898b6efe47babbc4019cc diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /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/README.suse-maint b/README.suse-maint new file mode 100644 index 0000000..9996d06 --- /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..ec8891c --- /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..83bd4e9 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/_service b/_service new file mode 100644 index 0000000..cf6920d --- /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..7cf2810 --- /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.73.0-aarch64-unknown-linux-gnu.tar.xz b/rust-1.73.0-aarch64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..51d35de --- /dev/null +++ b/rust-1.73.0-aarch64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73917c45daaf4c3e990aed4ed77b721a06d82b660b081128d9f82e4c43c4ec5c +size 216033148 diff --git a/rust-1.73.0-aarch64-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-aarch64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..f7875fb --- /dev/null +++ b/rust-1.73.0-aarch64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp5CRCFq5bm+hvl/gAAaN4P/iH9JrqdQRXzFteVEPFQisz6 +cZJ775DF6S8ubNDRKdOYAG3kDhn1tFmq9100X7JkAEjlYMaOGH3bgv9Tn0e5ivls +xi06COrhzUza3JJ3d6rpsuAGmXaU1hDIG5Z1SFdv++x8TxzRxw4xR7ks01IjEi6d +QDEtT91c4GQc1lCIcvywMdl6jHQLbcChcB5XcShNmIDWNm96kfyEUoLYIAwrfPc3 +YoWKEvoEShrIn2/3l+nvSmWfBu4Docp6pdvpbZ9z3WiovM2ZwoRPI+qCzKaZ7VXF +OpNeGAK+0AO4oFDiZQ0FcYxpz8LS2wyTT60TWRpd8pYwhYy/8ixUpK8lMWfLaLe2 +gFWGE4nIM3YBG8gBTBDescz9fOeludpsGMkPDM6hz8DlcSLgp8EIp3fxoPbx8cFv +liJg6LXGR/QqOA7PcFCkRiElZax6ZLxBdKZAqI7eSOPMyuyQ60zpkUxrnQnY7CzB +rsa9FGPuIMmE9W30PGE120H8WKSVxsCOv08JFQOUFFHQEOP/Qr0htjvKTn+dVnUW +i1y0rvunXdglAl1Zh4ndwsC89c1doqYLqunKy9Gt+A0V0IDPeFFVkRSf1edhzkPt +f2CyS6JxXYnOwLp56XYelFy4IGrcYH9+zCWahmNWl8Wd5xJlmHTIp/iidr7pAlJv +ynCg1ailD0dpwI4XYTid +=fn+B +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz b/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..7464056 --- /dev/null +++ b/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5086e77ebbb9ae875f0515774b7fc248692a4c4228ce49a4ba3a408bee91d49e +size 180870680 diff --git a/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..8ce8485 --- /dev/null +++ b/rust-1.73.0-arm-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp2CRCFq5bm+hvl/gAAIygP/0yOIA0G8R4UnvrGyVgHt9WR +o1MC6asWbTpDnw+WiDD6seJrO59gTVcJvRLiJcJFMxIZDUvU/sS8ndjDmnXF+vVX +AFIyx9/GOTQljzB2OGotiJTXN5iG0ig9nEqli2IrAVTgPn18gvcl8lS2eYLukWpo +Hie6/HpYrN47yxUFtL8fxVKsJAzr2Olgibxb9kgZchJHJFlgb2eZoOLvduIMRuy8 +60M0fuDQrlr7LKPe5VRH9N3FWOzLzeQ/eph5wVRgnJl0a+75TWtZ7+pnUcgEstSJ +9edzTmfcUM66xk/6BE5n1/91l+SBQiN9xPINI7/IEMamj//ndJEyS7nJ7hpg7hHj +y/XY+HruEv65oaE7I8zmZrKMThxY/XEsB5X6UsLVMsEfSUG4ZcFDqiS8+Kt2LAmr +nlmeQU3vGcFgcQoEsLe4Dvs5p0+lV2XDEBEYIVpi6wwsRnzOEoCOWivTVDDqqsNA +eYH0VUDDlCMjsByQqKVRgv5fOL/rObdiyKnRm4ce1nhoutfN8qz3d64biyhbT0mq +pscqWEUpUrje+ZzzFpFSEttvXKWAoYg16eFhnejJw8JTEd8dWgoDDk7p7KVTyOTg +U5tOKEq0v/atSWCRmfTKDLHMCeM3z9xMejBzUNkvKDGBrrn+/kA8uQ1OjIktOGkn +ce6/1iig1IStYoopZjTE +=GssU +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz b/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..ec6a6e1 --- /dev/null +++ b/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4da7f09cd6722d2e98dae24c4ee93efc13bae851d3b4415ec37286cc88c2214 +size 184898496 diff --git a/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..ed1c417 --- /dev/null +++ b/rust-1.73.0-armv7-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp2CRCFq5bm+hvl/gAAckMP/1gLgcSQ/miLrPl7aRGNk8nq +yBcIjcRAYbR341fssJf9QKbFAhgteDjK6qgWae3W+ChGoSBy8+0aQEV2xw8Wgsii +G/JOE+zpNXcvjeMXgSYggFzP/OavO1GRHXh50AAXrHSZMYY4jIaNdFnmNgO0tdFQ +6W0N/HlMl5LQuZ64GEfWxWnW7mFOSDyye2MA64y4kPrIw1v146y4+1kKVevT4Ep3 +9MQqjE4izmVDXC7MbUzK6Glf/lFSdLerqRpf2uZFOhmx3OM7wen1UoBVy8Rlt8Gx +nbzHgl0PA+aGWQN5hrC5cihKaGZ2wz8l1HR3VCgb1QndThOeN75M3+Blk9ABB7f/ +I/vVH2zZNPi/jYpVFzzLTZe0U9pPv+QiWGUcu2W3XS1/SuHz/1Tdlo0M/VZ6NXfL +A5PHiNISxq2Dbcs/6i8mNTyP7x5A5aeqqgTrrp0upz6Ld2x484bFZALgbpS58GBy +zy7F+k+ikPIFq7tTqnvFLXgvcOn/RanGatS0p/Mkch+IkkiJDn26SDSqBzxJgC8F +3fsNbrlFmGtXyTLEuA/G1yVRfIqEHs2PNmAKKny01zB1x6zt8Hnt8oq9B++/vO9M +odj983WwOAa4f90wWQHI717LSi2vYizxypAycEzUb/PbMxEomSGdlyDAgIoy+WhA +p1mfb31CnalJ7vVHz7W1 +=dz/s +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-i686-unknown-linux-gnu.tar.xz b/rust-1.73.0-i686-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..3f879ae --- /dev/null +++ b/rust-1.73.0-i686-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60960c340f75c4baad60486a23dfab33b3f704332e690323697d50a418af2a83 +size 209918920 diff --git a/rust-1.73.0-i686-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-i686-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..87a8613 --- /dev/null +++ b/rust-1.73.0-i686-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFbBAABCgAQBQJlHtp2CRCFq5bm+hvl/gAA0NQP+Pedyo5idzgqftIr4Hp8PZul +87mQFuVTzHIvuPF+zVEdLD0Vpuxqt/Oy08HfgESAYgtt3LjfVK5OLYwnpUPCxTlN +oK1oH/3XLg/Cp5Q4W4l2tFqOE74hb8CBF6RCipINNDRnXNjYp/ue6fjM+Os8pPtL +4TV/hRDeNlB0xmdKCxYqSaOWDMsIW3es8nSdsWWYxdjSPC4peWPWd2Pt9YAtjWhy +M54BkJ2MEdPCLVldcK0K+dQt2fVOvCLdUNcG0upAufKCdBBlBE+GzK6KhCiJAikI ++mbmDDQQC+U7acbhxC8UTw7fSa9KzrPUbjtULnOKc+Dyjur8oLAzQWvoVTzCR9jN +Llzy063bmC9Ou6dL7JkVEbOKIbu1CtiKrG2EBMheGbpOFOgeVQgqxmPI7cQjVOMu +0PYznyx4uICgevPj2IeKA4JLwDZygae876ccVgb7ORmpxSqXY1iknzrr3/Xb4QVt +d/fhXcfYCt0Bz+M/fIyvuYHHvJ3QTt4I7mmNOf74Zc9qH1cwSf+OW+IDaGLVjRMS +dqY2QWYQkmMISSxohUs4AtIa/nXtbtpZ15G0+fBirxjG/mKakqxax9Jg4XN/m3dP +qnaPQri2kGvzJpnm1/G5oVzES5BZYwbn5UiDI29gxFWiuLkYVZdxuGbkYay4zSD9 +o4DynJSTYfe7s2+E7Vg= +=mz0l +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz b/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..e2d6768 --- /dev/null +++ b/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:494f179660cfaea57d7a2c5b4c6908d351cd215b23b414deb8f0dc5fcd9f6a97 +size 176694620 diff --git a/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..95b7f54 --- /dev/null +++ b/rust-1.73.0-powerpc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp2CRCFq5bm+hvl/gAAz3IQAMrOf7NiXihEmQIyn4MOihyd +sZdYpW7BR9FpBcd7tq2QjpX8nyUaVqpaGegYEqvrxkEfhNBGV/774ceM3Nfei8V6 +BAdAwtKmISxiRjlhEeAoL6+n9EC3MP6ve/YXvp7ZS8kNJoYfyeuBeoWjhWqRV2/Y +2jri/TpA6wVEmr0e+BckQ7Mc6dIiBd7WSwRcegPHcBVOhNpNp6m0s8QV9DIf/BFC +dMEZjP7U53Dg0wNTXozWUmhlqvX3rUV6ehQqb+N6IITA8f5D60Z7I6Xi1F9NcvPG +HTWJ4ZOeg+0EwRZYIFKXggkuukGujMx4v+P29rjrqhmNeD/DwK4yeIswKMoZwuoB +R3SE8oK0ldZM+3uZB9ziWST5UnF/+G+dBXFyOcDaC5fabWwDhvJLHmEzjfmblUpw +AIe8TC1BukQ7cVVmqpY/hd/nG/Tkkay/jLcGfrLjBN5yP09VeIqPH1FLPAeA4amS +sCzonk9ffUqpRoE2e8dhQtwyMH6jQ+O7FcoiVWLcm0UyUGqKkvshhxCtxoOHKJV6 +kEjsAb6kBYxuHv+OAiIZRaXD+ETVOh6Cc1yFfFoi2o+3R/jpbC0zoYCbPzFA0NoZ +buh/FxdF28cJQqs8ZLuUCbQYmDJkwsOpbE5+jjmrLV1/pO1S+Js+EfshyhnWaTY3 ++YvbI42aHHEVkYG0ukSy +=sn4Y +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz b/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..814528c --- /dev/null +++ b/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0677cb87996c1e55438bcba12ee9c6557e423aae44a51bf0b89230fac21c1cd +size 176165132 diff --git a/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..bea4b52 --- /dev/null +++ b/rust-1.73.0-powerpc64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp3CRCFq5bm+hvl/gAA61oP/03NFB1QiP/C7vg1SEEOINSK +ysOr+pOKLsaKdBqdlQrfpyIttYZPnuawjiSmSEOz72dh424yQ2ob9Bi0HNLcl/oy +fpGJnk4LjEqc+bm7Kqvmzr7jEz6N1WyjP9e3jYCiKzpsOSsrBXGeFPoHnx0Ag4+4 +61v4mHrKs9bvU8WoBmT1X3w8pBLXUTiWC7pDXPey5hy8Rl5Y/BfxNwuwGH6VqJ+Y +u4mL6G3ZmvNmgR7UuVI/2ywAKWrod1xdMVXMb50d0cLmP5/YGZ2uRruRhRoUTQsL +2b8P7UoNAtbUxuuK8b0rcUqz9RWqBnUvPQImJPC1AT3Sb+5O90ggh7Gyjn1apZYX +mFIsu6Imv6vXl2yjSEYuHwkp1NffGrI5VJ7B/It8qtUQf43RRhaFUK3UzYLBlXH1 +gjVOhZ0PATTfFMySmsm1RuuEWy+FvJL5SbfXrTlizXQwN2Xq5HG4YLhIc/SWZhvC +vk0j89KY3uuwV8nd3nzYv152ou4WMgkM+Zjm7jQpnkttqgFoLocYjopZTs9uYTam +EBgOi/4JvMpSywyFAaTtOW0oITp3crwvFyQ+2Fg57c5daXmLOD7shYRqkhZHY+bz +V30T6yypSVH3iGwq53QZzi24wRD7PUA4BDIcJ50bpJm0NH/WqyE+2G0160vDHYmt +yqx+oSehGEzgKkLQ/dEH +=1o9H +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz b/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..23d4638 --- /dev/null +++ b/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f381c0dae2a93b287c036083fe586a72083b16ede994bf526c5f807d6d4791a3 +size 187628140 diff --git a/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..63c2dd1 --- /dev/null +++ b/rust-1.73.0-powerpc64le-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp3CRCFq5bm+hvl/gAANikQAMhKpfRwhZUvGsPjHV28W/sl +BrEec13kil7/09b3YNrOPvJ6cGhQqoycE0mfDdUXUZOEQ1kCqxOaKUiCRKzPlXvM +d86XIy4wA7Cg0YzvVL0kxbT9YbmiscyqBPKAtBqX5rCMJ2SXPec8EVRMnaeJ8YYd +/p9caNDhS4Frh7dc1x5Bylo2fDU4bsEWcJsbGUY29n3I7hQzatT2Om73OWmb2q/O +MpJat8MwbKxINB3i4orrojJXMrTuHj3iOAvyL9oIDnMcfWBt7C1awgHB7e5ez9Um +JJPwdbeUhCOkcZjdbVrj6Zqu9Pg+xeYyWNkPWcsz6L5mJS7cnqycKlwAYzv7z3E4 +/TbxAHscux1NINSkz+Luu/SqPL000sXGWkysgI+YHjHjWNO3JoyqMz1PIEm1lmAm +czAmWYHGSDiMIh7nBQiJH+GDz5I4ngV7gm3TN4/DgpxW9XdJkZU2y2+H94ZITDi3 +5M7+SrPwFeSgQcM1fKz67JCw4WZVbxpBnuMebfbWDs/tyRMh3dBQjqRGq6PGPgC+ +/Uq4kLmA48CBbzfEYF/GUXZCo5IVmYR2f6M9s6LD7tO4XM5RaHSZCqJ8uWjRJIaE +MOPMW2imb0ZH8Fx3O42vhI9y2tr1WqHAg6Wd79TN3bLx5Jo/6dW34W479o3b2nMm +l85MeWm40onz/badd8f5 +=8v6P +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz b/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..7066440 --- /dev/null +++ b/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9580e99d2f8d758c7bd9c19769d073d10acd99a320fab7c3ffd31161786b1c5 +size 182202208 diff --git a/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..19b3f8e --- /dev/null +++ b/rust-1.73.0-riscv64gc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp3CRCFq5bm+hvl/gAAw6YP/2iL9vTKjbCweXFWA6h2kUvS +3vpN0mrCjGLbTo7UgGptp2EhC+u095ED3Q6tDpz66uU3wk85xVrgDEgT4nQwfahX +4B6clxzPi4GeQtK76k1IZyYk2GKuO8o2ZY4W2RXz/0irJtFnTUywvpwTBdnE1+pQ ++Px3OLQ35hU24jV/mhnlC93QySgZeA06pgTXSSEfgL/SN4X6vDQE8OwXezGgPqe1 +Iu1Vsu/78NHMhJdtWpjNpGfxlRkgCjls7tm/pDjyqQaJpV93xoFRAeQArWHJnMBE +C4qvSGTG6o7WGQ6pfQBKyYtDPHWvyLPCe9G9JLwAW4uFJdu8sZZe0n4I8caaiMZq +bynJulGxLBpZVZlETpbVR88MnRefc37/Q5OK+3Z2kHJPp7sFRZckJz3F668MOCpr +9jTVlLy14XX8KwND+OjLn0BSl9pB0F4JuyLhhCCiHUckNTzz3KGI/ZzU+oJm4kQs +T1bI/uRdmjKNDlZ1Fa2tchysbZHpMAge4/oLHOWRiMcq1+OnMFcDp5xDLfOPUB/q +HHOmp2f5iZb0tCsYpe/UTujtql4pngzXWLakRY9Iey+uD4xJah77B+KdESbzQ/BQ +BbmJOrBhzr/HXFC8s2HxBK/vOb8jnKC+xCXpV430tror8IZp16TO0RzqOml67aIv +EmqcUmaOXMB3nODZal/8 +=DJUZ +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz b/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..0e2c48c --- /dev/null +++ b/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25ae2d09f4430233dc07b66393fc54b2dc403aaf82bf5f23dbf28cc45a3a717b +size 201224624 diff --git a/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..67ce5ca --- /dev/null +++ b/rust-1.73.0-s390x-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp2CRCFq5bm+hvl/gAAtq4P/iwkB7Dzky8LylMr8CZfoKd3 +qT25EvkYFEC3knz0nKZWxI0lDvWdHsOzQ3Z3qmaxShjCbxhpuLUe+7HTYeMy2Apx +bQWJipl8Hz5FiUatG1Atv2z3VRU8jLaXU5pf25G2NLDKcFUX5zjfBEO0b2VpW3pm +54wmp6GBlx748TQN1dgq84yNLi1fnQzpuas77boTWw0gxYPaDY253C2FwfvKeNJb +Irmu32qLDRCW26rpa90WmLLWeTkbS+gNIRERhhkCwq5Ld931srakFaSl50l8mqPL +cQ7fbtPSmLjYvv3nji8jnHQ55shaHRJALNgT3oJsqe9JgfkwNK/rLe5KOq1Iq6l5 +5uUPVTA/nhQQBj1wZYp7cuZNNaA904XsBsXdGbiV+S+TXwyeO43CnSXaFR+CHw5L +xxtE9RiNQRAF0Vf6tFgV4DMe9qjvNYn4+/0ZpeD0tyj81YFEuZLjlDH1gHeTzIFa +7XLXbYS1SVF0zdlfkt08ROaD1W2kjTPFobFzF+JezxAHA6Gg3tcdUJuUQgS4ryW5 +WpsE1BLxeubQD5jzAT048mNkRH84TjwujvaV038mEvhAj+dxQ8m/eub3MBlIlGsA +SGf1K3Nw2j2lK6e4U3DKyjLY2+Wzs2bl9utTSYOownyCFhflu8gVNetk0rbf8E9m +6gRD2KjW0Lhi/6KjUk0g +=us2u +-----END PGP SIGNATURE----- diff --git a/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz b/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..f0d28f0 --- /dev/null +++ b/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45a6fabaea481d27165a05ed1d6706ee452f6d3e74f50d8a00533cfb00fe355f +size 161588916 diff --git a/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz.asc b/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..797e0bc --- /dev/null +++ b/rust-1.73.0-x86_64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJlHtp4CRCFq5bm+hvl/gAADUYQAMvuzv8wtsVE3Npz+Z5YcGrA +Htzjvf6ZNQyUIPRBqtTbBXjbSCzXODnWN4Cdb/dQq60R0PEZaAK0rZ6QmXMY3DAl +n8892CZLI5UuaYCa49QYTjHwcr6b2lgH32qmhsUWovE3FFNJN01uo4j5oY0aCCnJ +GwDryBhiEdjHaU5HdcBmXVRmpYFcXOwsnMSzvaBWIvqKOXMK8fr/FGGcqO4spSyj +5K9jF3ej1VCgntQOaFORhT4IRL3gUHL0htGWwYz2Sbr8baiE2A9LP4IOcs5r4K1a ++CZzJosn/lTww59uBmHUffydOmTH5w9cNJs0U7hlMp/lQoqpMt/AnezIMl0pOUgp +WmKE1bZXjYQyl6iTZa+jJYKBOwG6twzNhrLWX53/arW983gY1q7w19zxYgQ8NO+5 +nW/JVHJbWG7XveVB7Xc2vZrvcKtDePiFnXeE7mBkDI0ee2ZGfcLDxLQ02m5B84XA +uZvMrg2y9mo5f67nZkrHV9+w0z01xEnzEIekFnwXcHGw4m2KONFbOCXx2334w19z +FpRPJvWNPDUI/b6PWHTpAMcOLmqMEyKpPUgZnOYVeXbhYMVDWlavekt8Eypv41eC +yKYJv/In6FFEIE2w/A7GWhfI4+j1gusXOqJ5IoW+VH7C4LLer9qMxE5056CHJdmS +O7nuPFt/PhC/5+eETHKU +=9ubx +-----END PGP SIGNATURE----- diff --git a/rust.keyring b/rust.keyring new file mode 100644 index 0000000..678f146 --- /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.73-rpmlintrc b/rust1.73-rpmlintrc new file mode 100644 index 0000000..9cdbf41 --- /dev/null +++ b/rust1.73-rpmlintrc @@ -0,0 +1,30 @@ +# 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 .*") diff --git a/rust1.73.changes b/rust1.73.changes new file mode 100644 index 0000000..1c9c50c --- /dev/null +++ b/rust1.73.changes @@ -0,0 +1,90 @@ +------------------------------------------------------------------- +Fri Oct 6 04:34:11 UTC 2023 - William Brown + +Version 1.73.0 (2023-10-05) +========================== + +Language +-------- + +- [Uplift `clippy::fn_null_check` lint as `useless_ptr_null_checks`.](https://github.com/rust-lang/rust/pull/111717/) +- [Make `noop_method_call` warn by default.](https://github.com/rust-lang/rust/pull/111916/) +- [Support interpolated block for `try` and `async` in macros.](https://github.com/rust-lang/rust/pull/112953/) +- [Make `unconditional_recursion` lint detect recursive drops.](https://github.com/rust-lang/rust/pull/113902/) +- [Future compatibility warning for some impls being incorrectly considered not overlapping.](https://github.com/rust-lang/rust/pull/114023/) +- [The `invalid_reference_casting` lint is now **deny-by-default** (instead of allow-by-default)](https://github.com/rust-lang/rust/pull/112431) + +Compiler +-------- + +- [Write version information in a `.comment` section like GCC/Clang.](https://github.com/rust-lang/rust/pull/97550/) +- [Add documentation on v0 symbol mangling.](https://github.com/rust-lang/rust/pull/97571/) +- [Stabilize `extern "thiscall"` and `"thiscall-unwind"` ABIs.](https://github.com/rust-lang/rust/pull/114562/) +- [Only check outlives goals on impl compared to trait.](https://github.com/rust-lang/rust/pull/109356/) +- [Infer type in irrefutable slice patterns with fixed length as array.](https://github.com/rust-lang/rust/pull/113199/) +- [Discard default auto trait impls if explicit ones exist.](https://github.com/rust-lang/rust/pull/113312/) +- Add several new tier 3 targets: + - [`aarch64-unknown-teeos`](https://github.com/rust-lang/rust/pull/113480/) + - [`csky-unknown-linux-gnuabiv2`](https://github.com/rust-lang/rust/pull/113658/) + - [`riscv64-linux-android`](https://github.com/rust-lang/rust/pull/112858/) + - [`riscv64gc-unknown-hermit`](https://github.com/rust-lang/rust/pull/114004/) + - [`x86_64-unikraft-linux-musl`](https://github.com/rust-lang/rust/pull/113411/) + - [`x86_64-unknown-linux-ohos`](https://github.com/rust-lang/rust/pull/113061/) +- [Add `wasm32-wasi-preview1-threads` as a tier 2 target.](https://github.com/rust-lang/rust/pull/112922/) + +Refer to Rust's [platform support page][platform-support-doc] +for more information on Rust's tiered platform support. + +Libraries +--------- + +- [Add `Read`, `Write` and `Seek` impls for `Arc`.](https://github.com/rust-lang/rust/pull/94748/) +- [Merge functionality of `io::Sink` into `io::Empty`.](https://github.com/rust-lang/rust/pull/98154/) +- [Implement `RefUnwindSafe` for `Backtrace`](https://github.com/rust-lang/rust/pull/100455/) +- [Make `ExitStatus` implement `Default`](https://github.com/rust-lang/rust/pull/106425/) +- [`impl SliceIndex for (Bound, Bound)`](https://github.com/rust-lang/rust/pull/111081/) +- [Change default panic handler message format.](https://github.com/rust-lang/rust/pull/112849/) +- [Cleaner `assert_eq!` & `assert_ne!` panic messages.](https://github.com/rust-lang/rust/pull/111071/) +- [Correct the (deprecated) Android `stat` struct definitions.](https://github.com/rust-lang/rust/pull/113130/) + +Stabilized APIs +--------------- + +- [Unsigned `{integer}::div_ceil`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.div_ceil) +- [Unsigned `{integer}::next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.next_multiple_of) +- [Unsigned `{integer}::checked_next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.checked_next_multiple_of) +- [`std::ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html) +- [`std::os::unix::fs::chown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chown.html) +- [`std::os::unix::fs::fchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.fchown.html) +- [`std::os::unix::fs::lchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.lchown.html) +- [`LocalKey::>::get`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.get) +- [`LocalKey::>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set) +- [`LocalKey::>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take) +- [`LocalKey::>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace) +- [`LocalKey::>::with_borrow`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow) +- [`LocalKey::>::with_borrow_mut`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow_mut) +- [`LocalKey::>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set-1) +- [`LocalKey::>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take-1) +- [`LocalKey::>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace-1) + +These APIs are now stable in const contexts: + +- [`rc::Weak::new`](https://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html#method.new) +- [`sync::Weak::new`](https://doc.rust-lang.org/stable/alloc/sync/struct.Weak.html#method.new) +- [`NonNull::as_ref`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_ref) + +Cargo +----- + +- [Encode URL params correctly for `SourceId` in `Cargo.lock`.](https://github.com/rust-lang/cargo/pull/12280/) +- [Bail out an error when using `cargo::` in custom build script.](https://github.com/rust-lang/cargo/pull/12332/) + +Misc +---- + +Compatibility Notes +------------------- + +- [Update the minimum external LLVM to 15.](https://github.com/rust-lang/rust/pull/114148/) +- [Check for non-defining uses of return position `impl Trait`.](https://github.com/rust-lang/rust/pull/112842/) + diff --git a/rust1.73.spec b/rust1.73.spec new file mode 100644 index 0000000..72a234b --- /dev/null +++ b/rust1.73.spec @@ -0,0 +1,738 @@ +# +# spec file +# +# Copyright (c) 2023 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.73 +%global version_current 1.73.0 +%global version_previous 1.72.1 +# This has to be kept lock step to the rust version. +%global llvm_version 17 +%if 0%{?sle_version} <= 150500 && 0%{?suse_version} < 1599 +# 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 gcc_version 12 +%endif + +#KEEP NOSOURCE DEBUGINFO + +%define obsolete_rust_versioned() \ +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} + +# 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 some situations the llvm provided on the platform may not work. +# we add these conditions here. +# +# ⚠️ SLE/LEAP 15.3 LLVM is too old! +# ⚠️ 1.59 breaks codegen with distro llvm!!! + +%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1550 +# && "{version_suffix}" != "1.61" +# Can proceed with pinned llvm. +%bcond_with bundled_llvm +%else +# Use bundled llvm instead. +# For details see boo#1192067 +%bcond_without bundled_llvm +%endif + +# === 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%{?gcc_version} != 0 +%define rust_linker gcc-%{gcc_version} +%else +%define rust_linker cc +%endif +%endif + +# === Enable wasm/wasi on t1 targets === +%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1550 +%ifarch x86_64 aarch64 +%bcond_without wasm32 +%bcond_without wasi +%else +%bcond_with wasm32 +%bcond_with wasi +%endif +%else +%bcond_with wasm32 +%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 +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 +# 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 +# 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 + +BuildRequires: chrpath +BuildRequires: curl +# BUG - fdupes on leap/sle causes issues with debug info +%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1550 +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 +Suggests: 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%{?gcc_version} != 0 +BuildRequires: gcc%{gcc_version}-c++ +Requires: gcc%{gcc_version} +%else +BuildRequires: gcc-c++ +Requires: gcc +%endif +# Clang gives better errors than gcc during a compilation, and it keeps everything +# within llvm ecosystem. +Suggests: clang +# lld is significantly faster than gold for linking, so users may wish to preference it. +Suggests: lld +%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} <= 150200 +# In these distros cmake is 2.x, or 3.X < 3.13, so we need cmake3 for building llvm. +BuildRequires: cmake3 > 3.13.4 +%else +BuildRequires: cmake > 3.13.4 +%endif + +# To build rust-lld +BuildRequires: ninja + +%if %{without bundled_llvm} +# Use distro provided LLVM on Tumbleweed, but pin it to the matching LLVM! +# For details see boo#1192067 +BuildRequires: llvm%{llvm_version}-devel +Requires: lld%{llvm_version} +%endif + +%if %{with test} +BuildRequires: cargo%{version_suffix} = %{version} +BuildRequires: rust%{version_suffix} = %{version} +# Static linking tests need this. +BuildRequires: glibc-devel-static +BuildRequires: git + +%if %{without bundled_llvm} +# For FileCheck +BuildRequires: llvm%{llvm_version}-devel +%endif + +%if %{with wasm32} +BuildRequires: nodejs-default +%endif + +# 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 +%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. + +%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 + +# Debugging for if anything goes south. +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 <