commit 0131a13ce7b9f8e407df739e7688101a37d122ee12581090fc57a038942d5873 Author: William Brown Date: Tue Jul 18 04:27:53 2023 +0000 Accepting request 1099159 from home:firstyear:branches:devel:languages:rust Submit new package rust1.71 OBS-URL: https://build.opensuse.org/request/show/1099159 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust1.71?expand=0&rev=1 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc 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.71.0-aarch64-unknown-linux-gnu.tar.xz b/rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..975fb22 --- /dev/null +++ b/rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9712efaa9c7977b6f03aeb3ef086d0050273f498790bf242e96b9a8117de901f +size 209991076 diff --git a/rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..56fac9b --- /dev/null +++ b/rust-1.71.0-aarch64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5lCRCFq5bm+hvl/gAAwqQP/i1121fIk5StpzJkC7RnbsBV +VmA9NLyQocskMLNOB123bqiAr8VX69eM4wrJ4rrdKYG5+7CMFADU5C15M88nynZj +lll3h7KOuu4UnBgjc/jN1TJHD3PihHnfx/zaCKaiSxAJXpm7VvCC5D0Xo2Qh4qky +m+g9GA+2fgODLEJBXgaL5paXSEZncI4AoVHdJoQYu9oPjnv7RJYfUcmGmOf+zW1g +ZMIYIJzXAU8uGnP9Mccx9dbtKbMWZZtq3/yCJDjh7/XngprYez82f0NsElr3wMPS +qhmrFsvugIwYCCtplJgVoPqMzw90x2F0wbS+Om4sm+c2IqmjKHv7LPPdWMaGtAXw +/s6xZFyeCeeD0b60WMpUT2NnDZWb0guuC1NCd73HO4O+5Qwg9PwkaIL7Lw/zAniU +hhjVgN+Wwaz02dCR/1UCvqoTRGvvuqmJt0gBEVA4LMpmahYhEixGqkUjJHq7GHz4 +0b9E3xsEftzVDPnhk4FV5hSqL/boS2oqlRa9+6YRvobCzmztvLHZJ3AxHl2YHw2H +xbGUg0hBIrd2qWS74ivzT97aoqYmTfHgo9ylZJcWvZwvk+jGXWXYM2DfW3GiqYTB +uy9jmG2kFy1O5vA2/H1oaiFKgJsBNtZCBG6O7OXGSvnS9QBkS/SoGfReh4C41m/g +7FxB/UKHh+eJn1TqEQeu +=QpML +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz b/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..f97232a --- /dev/null +++ b/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3012614ead64dd75449ae5a078158e9863eb20bba93a920e317932f06609e0da +size 174050576 diff --git a/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..47c9166 --- /dev/null +++ b/rust-1.71.0-arm-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5kCRCFq5bm+hvl/gAARTEP/RQJSTmSavNjN3BG4Hch46Sv +u0ajUiTE7guPaU89M88wDokqFVY4HHyS7eCyKbY80T0Bt6NLro/ijDywsM6fAT9M +d4gg2OVZf0nrKqblJQfeWiWykdOKPIl134/esrPHHP0b7PaUHoeNBNY0NB8sbYYU +qXmE5nZuoBE7CAQALXys7+Vzxqk1UEDY/AF0mnMzI1PFB9/JAmG09vlJO/rW1ebV +FefDotCFl34WZIPttqm5mQGCvLZiGgkcfcf3Uc9eImjDr5Du003StUNbQgUMmoqO +m64nEvQM11OD0AKLa58zXfZenIF6uFzteyu7GSJw1H1qdJLSgmY1pBM9SUcVgvQn +y54zi0wyLUtP0SScMLbwnLGe5/uIwl3FJK/i48R9gMJCnSMDoK+ZLGmACwx2wGeq +ht4V7D58yQJP7dIazPXUx8FKiTb77c5ClRYbhqhrDsDVK01DxA5uI5gX/aB9iwsW +xuIGEcOWlFhCOuOmmHnaH03+qcWYc5Z6/VsaYxqgdZQTSiIFeeCS5XTs/zSSm0KB +/SojHfMxmMIz/jErpvu2aOsveV3DNPC1ce8vUMFiq6wqKjd/rRbNbE4ZvbLRyCVg +0PaWiUqp9UZC1bVeO6QYIx2Hh+b5vs0AFYqxM6a8Mz42dmvEd6qB5BEPZRiNWfh7 +QzNq8YdJFehRZMJWdypq +=jzsJ +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz b/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz new file mode 100644 index 0000000..9c8251e --- /dev/null +++ b/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8885b03634698a83dedad84e25a216a91d5d4d52a73e7bb2b85d15844edfb2b3 +size 178354684 diff --git a/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz.asc b/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz.asc new file mode 100644 index 0000000..1de9f72 --- /dev/null +++ b/rust-1.71.0-armv7-unknown-linux-gnueabihf.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5kCRCFq5bm+hvl/gAAhKkQAOBI2D7mk2B69kj26Y7xqd9Z +tioKvcN6MgSTc6JGFzgnck4U6lOSLVsjP4gExndkg9Z8MjnGpa+tlXK85HNoRIHQ +vHN8i/J1vxK3h86fAt2izkhkY9QkzgtFa/xCxeba8wQ2WxFv+PbTRb0ZI1pWV853 +UyObbzM5GtsGFfaCI51H1Y8wbfHt2aD++FsGAzBIk7rCuX7efIDRZugWYTwZtEUt +o5aqQGMad4KwaQ6NUNMb8kFbnIazP187XXqtQEg79pM7JXZh9FM+g9cp0l2vij8J +q/iCgGK0CVjIXAhMad9LAURV3TC2f5sCILeoui5td5MBlJAJ2ybcItZlYZZAx6Mv +ncBJr5zq+gr/saNv+ptz195zQnUeyqL42Ea6ndgjUs+GaP71P6pUSpqSFxWfNlKS ++IUaX+DJM5eFM5HL5JRsCsBZXlbQWgHAGSceVg0CbwfrsJsd1fFA4+U+o/JJdCQu +9csHtAFM0MnRlAlqDhHXf7lMZqZYch+mLPwXXuFJRy13kiJS3V6o52fExMzhOtqB +OEUfdEVsWGBuA4ZCafJ/LmbSRrBgruQdzOyWQtgD4jcp/zh9eESiNM7gnjXKHNtK +OeD/IF2ETKka7yOCBXwdD3Hl2aplyEpfnsIbVixYDOQZag9vRaBIAgQ6GkLYSwdl +IlBgIcGIeDdONjxS0cdp +=gB2q +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-i686-unknown-linux-gnu.tar.xz b/rust-1.71.0-i686-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..0fcf081 --- /dev/null +++ b/rust-1.71.0-i686-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afd7148aaacdd38acb2f02ded9dd31c833d6f20d99f3f4b5617282295d2092d7 +size 202182092 diff --git a/rust-1.71.0-i686-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-i686-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..2fa9491 --- /dev/null +++ b/rust-1.71.0-i686-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5lCRCFq5bm+hvl/gAAr6UQALIfKbeSqRMTxk5F6NAzuGbj +9X9Gv5fF27oYbZx3lJFsX0I91vgzI85ctLQzlTl3lOGfY1taWd34SspSe/6h9FwE +HHUh/YYykYKUyIbE/fx3580Hj68h+0VyPWlYNw5VQQy/Pl/pcI3gYCzIjbgc/CrL +6CPILngfQ2tByaVAXSbTv3EKo2XuT31SYe/GbvM+LYW6am8wbYNm34vj4I/0+gUz +CuYFgkD5lCDDqKI6XARFqWbxHTRopzULlenDRCAyRUQYW1b4tbXgOE++3tw3NJkf +74p6BpjO1J3J009Qg4xmsXB+bk0yibkGQEwCmMnu25rCLLWAoE6ujxBDpePK0by6 +yqu1UnAhy3a6x6cHYqSVtZOiG7IBNG6ZEtKV23dFfB6MECXQDod8owK0cwyh4vwF ++u2oK6PtzscdxLs/AsaB6cbn5WFiXDY/tt/mKdxKlGlNEs3RdviKOzG0w6lVNWsh ++p3iXjW/Bay83j86InTTaWPAaor70DyE75E5xrKCqN7Xg+OrLLytZixcZjf4kC9T +EY38pABaUMDXSBu4rUhUcuSsZA5uyKiZf2lcNtZDVBW0UkAazWB4HPt60KcnO/pF +s82zvmK/fXIpR/NU7TCGOOIz1wpqO6up+lfVQECa0q60jqFPJg8NS2VFDbrT2T1J +4mYn+XYgcxfW/kpzJGpn +=tufr +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz b/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..cdb659e --- /dev/null +++ b/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0a31776d8d1ea351cf40c02e1cfa0ed05f3bcdcdd8b203a87447b31fd2bae30 +size 173001556 diff --git a/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..e791c5d --- /dev/null +++ b/rust-1.71.0-powerpc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFbBAABCgAQBQJkr/5nCRCFq5bm+hvl/gAAATQP9Ayg5FmeYe44My4yRn8A5Ifb +atL35gL0IV8p/qUpueOmqEFWfODPN1RQJK0TycxpcBSzpkEqbD813/5CjkNMOkxR +qCvGn9N7iEIUEL/BqC1UF/6P2SNQVvnSfIMPm5jMPfKyDixKsLi3Z5JdIJai6eRA +vcSSYKpwC3ctI7gt20we5yOicQa8aCIadJjLv+R3ggkP6yapMtdTIXdvQn7cmNEI +NEadIDpUHoxJas5bkgfeKzdnPw6NjiuBRxZ1TXj5t0gbdTMwE5nVdu+C3ENJ6bKw +FCPMyn6zKS4WqkVk03vG312SmYGWt88N6K4ve85v7GVALinw2GCkCTBNjOVrtRGd +j52PEy9CQonRds1UPZ3Yq7H3ZytIHd0eBsp6Y0dlZybryS6QtvWbqqAv0W3iPxB7 +ztQdXIaPAQcSXl+kvmmoQEDO5k5UjxDopa3Cp76GZoWcmQ/eJh7nr3mk4O9+h6uf +N08at3ozmAiuhmfEkfEQUs5w1JEyyDgqKlZcrrswUVhpBYBZbRgxIXNXB2+NVXvu +J4I/AFquJ4anUJOqDywefRlgNZMiKFczB9aIB8t4XdfQ4BJcH+E2GBNJd5fdSsIs +kzf+88/auWRhr9EKiK0/7G9+Jthn74VmrS5UFzJod3ZoCw+tpxlIstNt6paQhI22 +cYHQXxGwuDi98ld1UqY= +=Hmeb +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz b/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..f60a5ac --- /dev/null +++ b/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90a4483ba3aa1e3eea4660fbdddad31b3b43fe89458c1d9805b22dac6136abe7 +size 172593332 diff --git a/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..39abaad --- /dev/null +++ b/rust-1.71.0-powerpc64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5mCRCFq5bm+hvl/gAA19YP/iyErGpY5BvyoXyx/ywUe4Hs +VL/wie9sya0u4/bn9QD0rVc0RSIhjULSEc5uP/YaNP83OKaXdqpuawGCco3hquXf +r5iliHnvBeS18Qq8548ZxI14oLc30ReRG+r7l2hgitKXuKoMI6bCHlw5DwGcqeWh +EtoGZBHtdQ1MXKKNa9JFCLP87hoFtiQmgpS63ynvz6ZuCgqbvZYVBMPvbXxPsZof +pm2uG2ax/jj7ru/jVTd1ss6OJY0BRcOSaPO10Z9x+DCDpmwIOraOOd3Zud2TIG4g +LNLq9oLXdf/6eyb5C1HUKvKMo3gVKVaLkM7eCU5PI4rduw2j/fB/pfpIzJBZuGhn +tffvo83dzK9iCyPPNnRfQkA09ecABK7fjg2eNqSuoDjnawuqhnykTkFVv9aLksH0 +eC+ByMxi4iObG9TObYkuFRELw/5eZSAJQqX1xEH+LLSnuNOE4ZESYVNZMZcNZ7ym +Q8MDEWgIMt0eSr6DJYHtc6RQ7l5qAW/rJ+2s/r9J7asgIeviHtcN7y2jreur91eY +U6XEsVFpHESViCvCVkg5acmnxj7rw6hCZrX8TfMTIRm9OBHgu2v7XVE9u5GPYFez +tDlanEvthKlFtP2ghR94QTQet3BUDRWajgKBBbm/GfagJj+I+m/m9P0HixqLxLnX +lhD30/xSNxCl/P6HifUD +=q6aH +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz b/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..bc7aa9e --- /dev/null +++ b/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cdfccb28bed3ad6b0204e3773e3aa43a8687d1740dcb3dd21b4b37ae5308ac1 +size 184310820 diff --git a/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..b69001d --- /dev/null +++ b/rust-1.71.0-powerpc64le-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5lCRCFq5bm+hvl/gAAMCEQAJfNgtT0Tscrbvc7Oo3XGBSf +w7lnN911BkaJlWzYTsJ3W3iB6UD3XyrtFamMrPE2yewGg2JAMLPSeAtYINs94kZm +KLOeygDAsjVonZddO7hPMXttZlxmyUMhDy1A1pjdouZXCbqsDLyS86nzFxLSIoe3 +VExGkvbNZJvzDfyhGoXdKYP61QijNRmSlYRONIxVHTgddS5JK/bx15MzQuPqAqJz +wuPygw188azUx5Q8vGYPUyDEZT9W+jd50j9xIm+Mft7eBgFIEAQa3LBBLC65mwQe +OBL9dDD6AzdxlGJ33vFcHbrJ6rbvnZvo74+tIBnmKOAk3FvSB2Xz1tlY5LOWquNE +l322O5Ks2tawbM8RboCwviQCulN2tzPbU5GhKNe7lPAdXwmmkgCd2DoOzwLMiQ9f +n+VTuLcO5wiUQrT78OGHDV0n6AUFKG55mcHBr/SjrHDJDBgAz19OYgHnaWxCNUdK +bpcYZxVXp3ieer5zSTCBjODo85Ko3vMGRBVDjBnctfBrzx4KWkm3ra/RfwFMv317 +n5JipN4AygaMk0UZKOWdWY42L3o6EYDt3r1UbBm42Ekch772vueZgcncu0m5fbYL +jEu5KKPmzfCpkOOSrK2ioR7/nl0UY0fPfqwv0AW3DCB+cWhBcOacwCBrf1GAGSeh +ggWL/gtvcSY26f/EG/jp +=0lkw +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz b/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..4ca45ff --- /dev/null +++ b/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afa670835f244adf06486fa5966e106366b39817d7bbae18504cb6767208ebe9 +size 164997272 diff --git a/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..72e25a5 --- /dev/null +++ b/rust-1.71.0-riscv64gc-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5lCRCFq5bm+hvl/gAAMgEP/A0pDR4YOpVr5f+mDRvGlw1N +jVem7lWyVMJTgWYbtYWnVj8wVYO/074fmVYKFlBpLikcSdFAt2ZQ6wj9JXQGi5v3 +zF6QLOrk3FhULH/JoDku7aIasdgoCMS1h+H4G3TDFXSEXUCtLv3UWhiQyVV2VFXz +F7gYuyYY/aadbZzatNET4Zhfk3SrLSOF82ZXZ1yjjLFqh1GSnINkMeRPNHOQ6sfO +LUaA5czt3jhp0Zf+NbJdi7rpZNK788KjdFgEP1NEh2SCAlZEq7vLY/usv7dJptps +3ViXrCwp38yOY6aZ2ByUwPwnJc7TVmfHt502rQ3oyHs63SY/TdwzNL+LgyvUiGtf +6kWV8qkGgZ+dt42rV7TWaCHKaOecNLxjZB6c4tqlXfwD5wqROYVIFVrJ+iZEGQtx +GYeKnqpEO4pdCiuAbp4qnFxgILLuVCKBAl6vLrNh5tT/IeuSBYfvtBGdIEcfJmBF +V13LWThaioM4G91ZMzlr5HZebi4up8/VapXxB7//1ibOAoEHDrijlisrJOy8Qc4r +S0D/fEpILyD3PXxv/X7+hqhrCm7d0Kfr+KViPhAw+Dv9a9Ns2SA2U5f5A5xzDxov +dMBQRuglOMiLWphyKUGVGI1c3c7FqomVOG19eJlll2nRk6HTntsii5mGiYxor6FF +E66Rcp76RmllUdmd3HS4 +=9ui2 +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz b/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..89550b4 --- /dev/null +++ b/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a632cfda657b105c0355ebd575d54ef2e931827befb3e098098b7c3fba085f47 +size 195655276 diff --git a/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..6b52dc1 --- /dev/null +++ b/rust-1.71.0-s390x-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5kCRCFq5bm+hvl/gAA2m8QANxUIyGwDr/cBui8HsaP9huH +CS5khl9r9Tm7km2OGQD+Lw8dADtLVO+JuozZKvQ0iK7nDtR6mcaDB8yZDvU2B5Zi +x4cJNIynhSYGFu3APtX111cyRiB4X4Nq9diHWsEV9t4Icz+UzybMkib77MNPEO/R +hYodiDfbnzkQXXV6rSbYf61P5GMscFVL0ryiTRuMCgrngYCDwtd40ZCvWZKc+/U6 +Cab4iwxGCJiOW6t1awwwzyqnxgWxeYYkkFAjFuyQnd2JYtHQgmOAd3b2YlAqZ7fi +cPEBPMGCrrHLE9o5jiYga0OvaKHSVZZ4KncI7FFpyAG0epa31SiyVHPYyP7NwkxG +F/FvdzgWzOTqkWNmGRiNLCfgMdke9vOKNTCU/IiIm3UOjwy+1jFKHj2MQ5UTKkt/ +kIbaTeSFUTHISkcHYAiT7/ZXXWSgf9O917T3qx3SeH5Wm/TAe9Vblm9L2ppC1K3Z +g5aXZVvsooITUs9tX9q9SSrcekAK4ZtGztxFvF6M15bP+Y1Q5WdJyEPp8BbvFrWn +4ntLodUwkk2XNwnM+GTI8gea2AHulTrZNr7j6kOOBQW99iC7rnOMW6gqeOeDwFDR +xnVFidAsJz2nIC+lsri4RzcCEFjrwFOUdghJDmj3Yc7LlNw67Bz8vy6TuFZc+jPD +ZLfFKvcEIiKx81YW0ht7 +=2ycV +-----END PGP SIGNATURE----- diff --git a/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz b/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz new file mode 100644 index 0000000..1670fab --- /dev/null +++ b/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae6cf3686f7638c8263d6d7aba68e275edee4e4d832723c603ddab96e330fa4 +size 161430980 diff --git a/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz.asc b/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz.asc new file mode 100644 index 0000000..e3f5f63 --- /dev/null +++ b/rust-1.71.0-x86_64-unknown-linux-gnu.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +wsFcBAABCgAQBQJkr/5mCRCFq5bm+hvl/gAAiI4QAMfTMi0Zx+15mcIAwyqlY0qk +0YRcU7SGA54bGvTkvEjuPle8dNCdHf8CsLt6s5d1Tl5DowmOAS3KbTlx+Su2nLv1 +kr6ORXM3Rm+D78kfuzR7GSgnrf1wie8+HLKLYsyn1cjkwKzvunQYgCxSvHzyauhi +Nz1Nzlsw4Rf4RwQECttlSytlVhWRJT9+hTflAG0yOK4q8+RbRowjI+vq1l4qC0OH +8mlWlGOdH/7iZ0AcCEWRSOeSAbFmMSagOMHj5vbDu1LCpey8c579rgHFe85kkbZY +MDORctRANYvlWLJBDTL74lMsURfL3+0GhfKZ/G4qUAF96irUJHp8rGJDU/h5VMLD +AjbAV7JYXtrS3CfMxr2nu4rLZvOFP5tp4uFKdQ/7hkoNo4fZRX5a++m+on3k0L9d +eBbW0RFj7KGnr7OzIB00M5UMYL/CBk9tUb27eor5Qi7kc09kOBxSRFj0u1J9EC1M +ii1B2vHTPAbHWUpSIqPY7HbkzG7iQ+HmrHNG5kipGQ6s4VheVl6RKjCD19nJQ9NZ +2IIvz9JKHCaH0g03pzoRfKybnJdpY/lPVAbsglLmF8aFjMCJmUN/k+bzWrZB2V1T +yHv3qz+mEilv+os+f6GJiVMU9NBW8xFRYSQtojdV/1WaFN0u4Qrg1MIPnZcehc0j +6WlFCYDnSwQ9GLiAVI31 +=H3ey +-----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.71-rpmlintrc b/rust1.71-rpmlintrc new file mode 100644 index 0000000..3f82c89 --- /dev/null +++ b/rust1.71-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.71.changes b/rust1.71.changes new file mode 100644 index 0000000..fbe5f6b --- /dev/null +++ b/rust1.71.changes @@ -0,0 +1,119 @@ +------------------------------------------------------------------- +Mon Jul 17 02:20:27 UTC 2023 - William Brown + +Version 1.71.0 (2023-07-13) +========================== + +Language +-------- + +- [Stabilize `raw-dylib`, `link_ordinal`, `import_name_type` and `-Cdlltool`.](https://github.com/rust-lang/rust/pull/109677/) +- [Uplift `clippy::{drop,forget}_{ref,copy}` lints.](https://github.com/rust-lang/rust/pull/109732/) +- [Type inference is more conservative around constrained vars.](https://github.com/rust-lang/rust/pull/110100/) +- [Use fulfillment to check `Drop` impl compatibility](https://github.com/rust-lang/rust/pull/110577/) + +Compiler +-------- + +- [Evaluate place expression in `PlaceMention`](https://github.com/rust-lang/rust/pull/104844/), + making `let _ =` patterns more consistent with respect to the borrow checker. +- [Add `--print deployment-target` flag for Apple targets.](https://github.com/rust-lang/rust/pull/105354/) +- [Stabilize `extern "C-unwind"` and friends.](https://github.com/rust-lang/rust/pull/106075/) + The existing `extern "C"` etc. may change behavior for cross-language unwinding in a future release. +- [Update the version of musl used on `*-linux-musl` targets to 1.2.3](https://github.com/rust-lang/rust/pull/107129/), + enabling [time64](https://musl.libc.org/time64.html) on 32-bit systems. +- [Stabilize `debugger_visualizer`](https://github.com/rust-lang/rust/pull/108668/) + for embedding metadata like Microsoft's Natvis. +- [Enable flatten-format-args by default.](https://github.com/rust-lang/rust/pull/109999/) +- [Make `Self` respect tuple constructor privacy.](https://github.com/rust-lang/rust/pull/111245/) +- [Improve niche placement by trying two strategies and picking the better result.](https://github.com/rust-lang/rust/pull/108106/) +- [Use `apple-m1` as the target CPU for `aarch64-apple-darwin`.](https://github.com/rust-lang/rust/pull/109899/) +- [Add Tier 3 support for the `x86_64h-apple-darwin` target.](https://github.com/rust-lang/rust/pull/108795/) +- [Promote `loongarch64-unknown-linux-gnu` to Tier 2 with host tools.](https://github.com/rust-lang/rust/pull/110936/) + +Refer to Rust's [platform support page][platform-support-doc] +for more information on Rust's tiered platform support. + +Libraries +--------- +- [Rework handling of recursive panics.](https://github.com/rust-lang/rust/pull/110975/) + Additional panics are allowed while unwinding, as long as they are caught before escaping + a `Drop` implementation, but panicking within a panic hook is now an immediate abort. +- [Loosen `From<&[T]> for Box<[T]>` bound to `T: Clone`.](https://github.com/rust-lang/rust/pull/103406/) +- [Remove unnecessary `T: Send` bound](https://github.com/rust-lang/rust/pull/111134/) + in `Error for mpsc::SendError` and `TrySendError`. +- [Fix docs for `alloc::realloc`](https://github.com/rust-lang/rust/pull/108630/) + to match `Layout` requirements that the size must not exceed `isize::MAX`. +- [Document `const {}` syntax for `std::thread_local`.](https://github.com/rust-lang/rust/pull/110620/) + This syntax was stabilized in Rust 1.59, but not previously mentioned in release notes. + +Stabilized APIs +--------------- + +- [`CStr::is_empty`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.is_empty) +- [`BuildHasher::hash_one`](https://doc.rust-lang.org/stable/std/hash/trait.BuildHasher.html#method.hash_one) +- [`NonZeroI*::is_positive`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.is_positive) +- [`NonZeroI*::is_negative`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.is_negative) +- [`NonZeroI*::checked_neg`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.checked_neg) +- [`NonZeroI*::overflowing_neg`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.overflowing_neg) +- [`NonZeroI*::saturating_neg`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.saturating_neg) +- [`NonZeroI*::wrapping_neg`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.wrapping_neg) +- [`Neg for NonZeroI*`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#impl-Neg-for-NonZeroI32) +- [`Neg for &NonZeroI*`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#impl-Neg-for-%26NonZeroI32) +- [`From<[T; N]> for (T...)`](https://doc.rust-lang.org/stable/std/primitive.array.html#impl-From%3C%5BT;+1%5D%3E-for-(T,)) + (array to N-tuple for N in 1..=12) +- [`From<(T...)> for [T; N]`](https://doc.rust-lang.org/stable/std/primitive.array.html#impl-From%3C(T,)%3E-for-%5BT;+1%5D) + (N-tuple to array for N in 1..=12) +- [`windows::io::AsHandle for Box`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Box%3CT%3E) +- [`windows::io::AsHandle for Rc`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Rc%3CT%3E) +- [`windows::io::AsHandle for Arc`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Arc%3CT%3E) +- [`windows::io::AsSocket for Box`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Box%3CT%3E) +- [`windows::io::AsSocket for Rc`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Rc%3CT%3E) +- [`windows::io::AsSocket for Arc`](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Arc%3CT%3E) + +These APIs are now stable in const contexts: + +- [`<*const T>::read`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read) +- [`<*const T>::read_unaligned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read_unaligned) +- [`<*mut T>::read`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read-1) +- [`<*mut T>::read_unaligned`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read_unaligned-1) +- [`ptr::read`](https://doc.rust-lang.org/stable/std/ptr/fn.read.html) +- [`ptr::read_unaligned`](https://doc.rust-lang.org/stable/std/ptr/fn.read_unaligned.html) +- [`<[T]>::split_at`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_at) + +Cargo +----- +- [Allow named debuginfo options in `Cargo.toml`.](https://github.com/rust-lang/cargo/pull/11958/) +- [Add `workspace_default_members` to the output of `cargo metadata`.](https://github.com/rust-lang/cargo/pull/11978/) +- [`cargo add` now considers `rust-version` when selecting packages.](https://github.com/rust-lang/cargo/pull/12078/) +- [Automatically inherit workspace fields when running `cargo new`/`cargo init`.](https://github.com/rust-lang/cargo/pull/12069/) + +Rustdoc +------- + +- [Add a new `rustdoc::unescaped_backticks` lint for broken inline code.](https://github.com/rust-lang/rust/pull/105848/) +- [Support strikethrough with single tildes.](https://github.com/rust-lang/rust/pull/111152/) (`~~old~~` vs. `~new~`) + +Misc +---- + +Compatibility Notes +------------------- + +- [Remove structural match from `TypeId`.](https://github.com/rust-lang/rust/pull/103291/) + Code that uses a constant `TypeId` in a pattern will potentially be broken. + Known cases have already been fixed -- in particular, users of the `log` + crate's `kv_unstable` feature should update to `log v0.4.18` or later. +- [Add a `sysroot` crate to represent the standard library crates.](https://github.com/rust-lang/rust/pull/108865/) + This does not affect stable users, but may require adjustment in tools that build their own standard library. +- [Cargo optimizes its usage under `rustup`.](https://github.com/rust-lang/cargo/pull/11917/) When + Cargo detects it will run `rustc` pointing to a rustup proxy, it'll try bypassing the proxy and + use the underlying binary directly. There are assumptions around the interaction with rustup and + `RUSTUP_TOOLCHAIN`. However, it's not expected to affect normal users. +- [When querying a package, Cargo tries only the original name, all hyphens, and all underscores to + handle misspellings.](https://github.com/rust-lang/cargo/pull/12083/) Previously, Cargo tried each + combination of hyphens and underscores, causing excessive requests to crates.io. +- Cargo now [disallows `RUSTUP_HOME`](https://github.com/rust-lang/cargo/pull/12101/) and + [`RUSTUP_TOOLCHAIN`](https://github.com/rust-lang/cargo/pull/12107/) in the `[env]` configuration + table. This is considered to be not a use case Cargo would like to support, since it will likely + cause problems or lead to confusion. diff --git a/rust1.71.spec b/rust1.71.spec new file mode 100644 index 0000000..f46309f --- /dev/null +++ b/rust1.71.spec @@ -0,0 +1,729 @@ +# +# 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.71 +%global version_current 1.71.0 +%global version_previous 1.70.0 +# This has to be kept lock step to the rust version. +%global llvm_version 16 +%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 is required for a number of linker flags to be supported in sle. +# +%global gcc_version 11 +%endif + +#KEEP NOSOURCE DEBUGINFO + +%define obsolete_rust_versioned() \ +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 <