Sync from SUSE:SLFO:Main rust1.80 revision 4250ffd517180c621d320134e1abca18
This commit is contained in:
commit
609287f943
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -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
|
96
README.suse-maint
Normal file
96
README.suse-maint
Normal file
@ -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-<version>-aarch64-unknown-linux-gnu.tar.xz
|
||||||
|
- rust-<version>-armv7-unknown-linux-gnueabihf.tar.xz
|
||||||
|
- rust-<version>-i686-unknown-linux-gnu.tar.xz
|
||||||
|
- rust-<version>-powerpc64le-unknown-linux-gnu.tar.xz
|
||||||
|
- rust-<version>-powerpc64-unknown-linux-gnu.tar.xz
|
||||||
|
- rust-<version>-s390x-unknown-linux-gnu.tar.xz
|
||||||
|
- rust-<version>-x86_64-unknown-linux-gnu.tar.xz
|
||||||
|
|
||||||
|
*Compiler source code* - From the same page, but now in the "Source
|
||||||
|
code" section, download this:
|
||||||
|
|
||||||
|
rustc-<version>-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
|
||||||
|
|
27
_constraints
Normal file
27
_constraints
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<!-- processors doesn't actually ... get you that many threads. Sigh -->
|
||||||
|
<!-- request number of jobs instead (6 is max on ppc/s390x) -->
|
||||||
|
<jobs>6</jobs>
|
||||||
|
<physicalmemory>
|
||||||
|
<size unit="G">4</size>
|
||||||
|
</physicalmemory>
|
||||||
|
<disk>
|
||||||
|
<!-- Needed when we may need to bundle llvm -->
|
||||||
|
<size unit="G">30</size>
|
||||||
|
</disk>
|
||||||
|
</hardware>
|
||||||
|
<!-- aarch64: X-Gene cpus are the only ones that work as there is a bug in others - select -->
|
||||||
|
<!-- 12G of ram to ensure these are what's used. -->
|
||||||
|
<overwrite>
|
||||||
|
<conditions>
|
||||||
|
<arch>aarch64</arch>
|
||||||
|
</conditions>
|
||||||
|
<hardware>
|
||||||
|
<physicalmemory>
|
||||||
|
<size unit="G">12</size>
|
||||||
|
</physicalmemory>
|
||||||
|
</hardware>
|
||||||
|
</overwrite>
|
||||||
|
</constraints>
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>test</package>
|
||||||
|
</multibuild>
|
9
_service
Normal file
9
_service
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<services>
|
||||||
|
<service name="download_files" mode="disabled">
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
</service>
|
||||||
|
<service name="refresh_patches" mode="disabled">
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
<param name="ignorefuzz">enable</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
17
ignore-Wstring-conversion.patch
Normal file
17
ignore-Wstring-conversion.patch
Normal file
@ -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);
|
||||||
|
}
|
||||||
|
|
BIN
rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMstCRCFq5bm+hvl/gAARoQP/RUJI18yPvNpTsQIBiuBgn0/
|
||||||
|
kOLcxEtObRI9RjQBS9+v0xzn/C6vHdnm7VJKd+usswU1RN/CZZql5JBpAs74T5yM
|
||||||
|
C16NdeYfyTasYyTDiOlSVvim9RoF6LtZPSvYKS5FlYyqWbNzXhzravdWtu30soem
|
||||||
|
I9gMIp2sLSMxPEF1oKj+Ewl9NYiQucGngndYuwdPD9mW2sRTzglIcWFEMtoFLrkj
|
||||||
|
GNO9eOa5O7BKt3qNNwOJmnw1m9Imo0tq55kZQ3ph3JTcy25Etj/3HW4fnO7bPnmt
|
||||||
|
IrbmFSTcJCbU/985+d9wgAn/rRHckRulwUQh/Xu+QxnYyZmsGAAqYO+jJxaKiU9J
|
||||||
|
lwpkIqvSQ+/d4XWTelLjhI6hk+MzMP3y4gS6ynz2zwfRF1fu67OX5+lYbS1Yhixy
|
||||||
|
zasQjYC7Pm32CUf45lbMwpe/CZdAmSdUY7gw147xORBPDv1ah5gSwKNq4W/vnavV
|
||||||
|
RZr1eChDE0biE0Z0HloijshWbKhM6TOLE+cprFE5ZK28WI74i6Pc3AcDj40TW4et
|
||||||
|
1CeIa5KKNS6dH+1te9SvEUXIs6+PzXKPq/z4EktIqqDCdD1F4Ic48LvzQsvIVED+
|
||||||
|
O1FMlCge5PcsExqfYVezYbvzhIhgsWYxGbIq+aVIt4v22nyZWsfGEeD+9nDw9Jjk
|
||||||
|
D2QtGtW8q1TEyCi4hAcR
|
||||||
|
=zfm1
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.80.1-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMsuCRCFq5bm+hvl/gAAEcIP/3fN9TBTO8qvXRULP73ds9p4
|
||||||
|
VY/YRt3wKXrQkRXAQOUjWIUWqKqbgCT9pbadKkzCYIuoI1uueIkjD0NJd1EcLfDw
|
||||||
|
j1zmzDcF5F5e1fH2iu74XctnW7fGbz2vSSCOgnMDi+vSuL48sMtaGjkgeNgvSzI9
|
||||||
|
fKK2ceM74lVn8zN54RmG3lThje1fVOFMKxded6xPeRjvAWOYOzQzWL43iAFFWxXd
|
||||||
|
zhuUUa2RTBHBU2IKBP+uRcCMabFPdua8a50KM8vWr9A7LEyuAsdYvXYZ8ZzHYRC8
|
||||||
|
3Z/A5xUCxQ1brx0Q+QZOO3dbiLl73KTi9eRZ7BRG4Psv7ULTrWzNhzUpBhDQGTn8
|
||||||
|
akgG6rCVktN7pZjoZUfhuihuwfWmR+tEc15WC7BnO5QSHHFj+dqyPmSfxnE1bfnk
|
||||||
|
1e9u5wyJa22pnyRZbl5nudx2LNCn0tWKoao+cf9OjoFre2mi0MkVDwWO71jv993+
|
||||||
|
BKdhGx4BrC89Og9oajPYBQmf/alN2D+4Dr3vv43sq8SxF7bhaXbXsJAWo1kdyx4o
|
||||||
|
dNlZlN8DjrsYchCSEumBAqJjWf86xPGTjCf4T5stZNyzE0PPC/ojtEB3656fyEcV
|
||||||
|
W1pT7RqjOxg66wbnmpoTzLmRK/Er3re/XlmKLX818/a2QDF/lwP4QWRJLmlEbbww
|
||||||
|
QbH552RR0C75Bvn9HOI7
|
||||||
|
=jJxE
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.80.1-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMssCRCFq5bm+hvl/gAAWNwP/0bKwC2jYoes+htCWvyFKxdi
|
||||||
|
sOR3UgbfGxnB8LYPaWBRzFPjS0aXpjZ8C+TW9dr8WYQpbsTq3V4yDoy2E64y9fcV
|
||||||
|
aclqR/liYOd60VwFgNv5CBjQ+x0iDkQe+AB8VEeW2GTN58dcGZjxSrSKnHsOTbmM
|
||||||
|
i60VEsvSca9OrjnTMwFwdCV21UC+bStZFfnKgioZrcyeRhp4QTWoHNi9P8uIzq0o
|
||||||
|
sqDBfxCAkGB+BqHru3yjCIo1ZyJIzZghJDNuu1jGkFniYa5UbDChDiJQiFgr3iWd
|
||||||
|
M9bsDZ3x81lFl3TeGwzNMLgdv7Xjx9VLJnDvFyUbz0Sd0cw46vF28lhjEnHDrFPf
|
||||||
|
xUJ5AYIYr8eXGkeCz3Empkg7TIRNrWZiLGu3Wk3lINxAElwIwvA+wq9sfqTxJ/oP
|
||||||
|
1gjEVuONNO98Ta54JL7mpjq2tNnRZZeHTqaf84GBFwNFdFxv/z+FcIlatFQLzJeV
|
||||||
|
Y+Mkjc7HW/LY42DIA3yRl9/epAplUImt0fxwEQFuhLo+kNKWL1AuCRzkP3/sL7Fr
|
||||||
|
uz9RNAsOIy7QvznzvZQu8G6x/h+krqAqmiSOtLT37WgFIR3l1MQ/ZaUvFTFNfNLV
|
||||||
|
7SDxFaa6rNZOzzGzmzZr+bu/KXJ+dSmR4LhHF/gHqaIDuOUGIgULVX4/pQ7NYxm4
|
||||||
|
C3bvWwZIOEE6O+EjX/Dj
|
||||||
|
=ukPm
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMssCRCFq5bm+hvl/gAAlvoQANZ7605O4pBdWYuLkk1zUj4m
|
||||||
|
b6eD09mJnMYU9a046eUse3fmoX+bQH8kbdEDCd0c+GCGCFt0zscxkXZZtazc9eSm
|
||||||
|
hbkOVBajNOB2nsnSc5XynJ+W2d+G9LKy9UKtzLJgJVRYOA0WtrNyzW1L+fodDdVP
|
||||||
|
MIXTxKWiUNIm7QrcEg3PgyJ8mhhEfmbcwr6k1rEMBQFYAtt7iXSx7ZkMgihApt2s
|
||||||
|
v57DfS6K/eKrSvT/Wc72dh1Q8lcZgT112m3wcMhfEGId5LNJWkGE3nXp+Y7SHDEl
|
||||||
|
JjBv8EIylTPAk8rPezF32mWqD1VHJsXAT9Ck/Komx8RZHDlrZ4ryvJ+Ecc/yJyfX
|
||||||
|
1AYuzowA0lw7fxgaXei+0UkjKDqmah/ayYgTxPkHXQlusWi1N5/ENKlkVGY1BUcE
|
||||||
|
h4D3uUBbSToNl+fqpCZN1rpHfXDr9fpEYdnkjD72yCDBul0IuwRRmWCGpvgNWtfz
|
||||||
|
/gPNdX8pDW17bbhGtOhqMDiNLtAEw1lRK+J8BQMFjsxGhXFcYjgnSxoBJfvoMd+v
|
||||||
|
9HiRGMB5aqx/z2q1QGBPPhZRH463ZVGLK71uZ3MyvrNB5892zjQtWvHz3AoPmcYj
|
||||||
|
v4SKsFZAAnsP5puMN6d2yBhgZsKctzDgow5EOgIARt/CY7oqNCybss/PO98UD7O1
|
||||||
|
raxh5vfYPJlnp5zBlT+r
|
||||||
|
=iFWW
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMsuCRCFq5bm+hvl/gAASzwQAKiFKtV3qxUSK/yQfluu+xUA
|
||||||
|
0sJCPdsB3tNkWAqn5de8jdZ3lit1Gl9IyN0ulMdGuESEYHBx6dOormnudqPY6SVg
|
||||||
|
Gkqkr7pxV9lcR7028TrgBwuFziTwuTOIFFzHuR00m31Hi37opDFdpkaSVDvpbyWq
|
||||||
|
4Q1Wu3iFAxXXinUnPFw3XZP0cPYTQal/uCdK+eIWrLZyFDM7HAsOHv2FwzVwQXVV
|
||||||
|
diVzeNa/lK/YdFw8JZJyTnXUO+/JhclyE+Bi1yx1Gj0JzLk4P/e5Z7TUYw5hyX51
|
||||||
|
5bhXLI5+23tDtDzaHvYnc7AbldNNNx0Eoqs1EUORr2v6ORVwJIKNheybffMjNRGQ
|
||||||
|
WNsE4woczd/ka7Oja9fGoGUrZzOcPav/Wegn/AhA8QtLQnpY2bekXm1yHTjJuu1v
|
||||||
|
STEHiAWyxt/PxbFKQ1J7QxlwVH4ltNOytAQ+n2lOUEpujy7lyn32jT0+37gOyRPZ
|
||||||
|
YP/TJRIKeSWSnMbHVM1BaOv1ZiaBslhTrKrc3wMr/RAfrV+hWv5Yu9RlZJXFyzsF
|
||||||
|
rySNOGE9fMLxfeCogW0Dbjwl4hmQXA4TWUPQukMINB3UwCJhV9gAVPmiDQJ+RB55
|
||||||
|
DELa3dllLxb+VmqL7TszFLuStmZOaZy0y3N+ygCOq79e9bbmiJn4RuT4BjZZ+tiy
|
||||||
|
1uXEn+Jym7CsLrsDaC2o
|
||||||
|
=si80
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMssCRCFq5bm+hvl/gAAQjUQAOBjamM2MgvqAsJGDg9nJxPh
|
||||||
|
XbkQq211SPUafBiV3eAEPFCLqPqgDWb4JyqsOJT/yW6YDHG2gFd30tpJ/CMPBBFB
|
||||||
|
roiYQulnFtjoA2j79wRYVXON14VT8IineeVyPgSuXFC3/reYaz6YX0cMyfexyU4p
|
||||||
|
6JaMFeSwSXiTO2J3Ciq+oz6jkLQvYPDMTg5Nx2oFv1rNcOv5lxwKo/34t+v6IhuS
|
||||||
|
S/SNjWJ/6CBjrYYIOgRvkqbmsFdutSaf504L6Vx3S5ey8kCP8237iM5mvQrQyHzI
|
||||||
|
scg4E4yvpUZBrZzpu5FGdS4Hzika0VH3Qzr86mHuc+jFjY7MnaQYJdaUHOFStLL2
|
||||||
|
1Fw2YOeHairjlNYHOhSmKxuviRSkMkOWNngW4EMRe1D70MvTB+T2RMnEh4LtT0zi
|
||||||
|
1b44NhKz/hXXkTsc0Xsov0lcP56FYwcphU4a3ZoS9dGVbLBCLFG+bXNyRuY0uLrw
|
||||||
|
+e4G8d3HlC2qLy5q2LOmmhhQvupNQw9BKzIIi3/jH0aQ57/JXD5pylLtzeLkwaT4
|
||||||
|
fcJUL5JVWJnSyeAv9fmpbbj4+DWeRw+yczh772/biK8CBYRLiPNYzm2xXf6VYxv7
|
||||||
|
CbKzUwhpgY6amY+JhJR+GJQgCxW+9FtsAnjWplXfbNx5uC+irzcM+r3UHSKzGGlC
|
||||||
|
jax0D6PVLmDTm44L85TL
|
||||||
|
=goDX
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMssCRCFq5bm+hvl/gAAJFAP/1teXx2yFcZpc2knxyZneloG
|
||||||
|
7ZFv71hAMxrQ4Dg/r4ODuqARvvuvl/u3018dgTT5PP7htjwHpSXhr/jQq++ytvRY
|
||||||
|
IOyjf9fCJAJ7xrQK3sxKXso4pgzpzfrIL6G1ZuFBqdxQmYSiIPF2kEE7uDoXuDEQ
|
||||||
|
WRLf4YcXU2B9vlwxd0LFJd/7YDPH2g+CuG29AdwpcAeQSENrlTKVKO5QdujfBfB4
|
||||||
|
DBZ5HjRsF6qeZtcUOWrBiysarUQJcDBRk5hz2JuDanxb0uRKLMrIimhblqynqcB0
|
||||||
|
JfLKY/fswlPApJ99QN4dhCuxSJO9IM79ESsU3RuNuUQnOGAvzzGTAjgkys1naCvX
|
||||||
|
eRcQSEzbBP5A9hj5N3HHeNdUSHRNUBmT64JUMQcDL7sYwnOa/n7dubbOTsmLWOMw
|
||||||
|
gMNq7EegfQTmpEjtMepKVJAZgu5ad9Gd9JNpNEIxyT/Gu3G/i9+AW5lJ3X6NWVoh
|
||||||
|
CcEE/y6dmskeQqS1gpuVJ+a7IHotvN+mLsjn3HzaGjX/Y0NQb9dwLa4MOIrmosmV
|
||||||
|
nyc00oKlDWmXyq6Zy5r0ND2Dlg6m4Y5KQ810DzhSY0C7nf6uLiVIBUppFtkOSx3Z
|
||||||
|
qoeOrJm7NLrXqOGbKFyCaIR9b6cU7l4TsG3ihoOcRtvpBdhOwGxWC6FUmloEAnAg
|
||||||
|
WaEFFtHd9VTU+Di7aUiG
|
||||||
|
=4klU
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMsuCRCFq5bm+hvl/gAAi8gQAKqbchmzeqJNFCllmjsJtKrR
|
||||||
|
S2Fijz8SaTt/YRJiJZdsWr+1BDPP3A2OG1EviDmHqxPWSOkKHbQgzTc1C0c4GtQ7
|
||||||
|
g8mrYjMVTCWkAcFF9HffcGYFInBpJz9GA05Zvs76EcKeCjMRNoAW1xPNr+Hbhfdq
|
||||||
|
gnm2xSzgu5Ay7Ocupt8EWYIa0MWhahd8GLU6CtPeySSSz+gqvNKO9+tx4FbBauir
|
||||||
|
3oKFxS+iQ2xbkUQ3E03saqKJAaEpN6myuHHo/EqEQMARBfScIE7AACukbrRhlqXP
|
||||||
|
44C95orvU9CQ+VA5blRaE+9GOfpVJWD9N5siHUOycf76Q6YJ+5fP2R/ri5qEXC1p
|
||||||
|
UHqPUmjLSoSuqDPkJiaMbNK12PaS2w0uLg7DMeU+pyH5vwGQlWI3vvpnmdm7z9RJ
|
||||||
|
1MJroIWoFsnTgtBKBgbYHujuEmiWdUaFIFuYaoh1Xd/oX3I3toPUIsFO5ZmF98kP
|
||||||
|
aQ7BLoBQOdqBOzscepWDqdjD9k9mVRCtcr1H4pKwKn1v7zxoTwhMXycqOkPqrwP3
|
||||||
|
SIQbMZCFlJ6pGhHtYs9GyCOFTyBfr4QI5p8sUJYNlJ3GKv3jSGu6qiMNZwdvs2Yq
|
||||||
|
Uh0iewwYSLxvOivD5vUHjq9epVauEpG9PqsAFkspKg5Jk0MAtiYDXm1zp2o0lrhM
|
||||||
|
p9CvRx0uGtxpP9QaB5DN
|
||||||
|
=Lg5r
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMstCRCFq5bm+hvl/gAA5YkP/iuKGEc9/CuGysktB4Fpldg3
|
||||||
|
RmxYriudakpdJuyPEnazDR/XBdw7LogXG03nV5kAU++Bb125D/gJ02snF3PhCgoR
|
||||||
|
UxIznVF6Esqq2hz51jwU4l5KhoIq1hvornEb0us934x+CkF5/oZGshy+KDYHz+En
|
||||||
|
bhY/1JSV1WJHDH4yucU8YIfgU+PFW1GOv0XLE1vNvajWENOXDzZHtXzkuvRugwsu
|
||||||
|
zDKx/IsSgAhmqeE7tBGHJ7sa1ypci+zWk2Q93ccCwZ8ISUwLICSrNXlBNPThQCES
|
||||||
|
W2DoqGeV17hh9hxD5LzZRdDUa9X2nSrjBY8IcxaJ+g7b8PZtz+lRa+uPLcJN1Jdz
|
||||||
|
PUsUT5jtGmxHu2PjBiUbLJgKJu33eeAtwMqESv8x3Hm5Iw1b00Wo0vAczGo4vAUh
|
||||||
|
qoSc+aLk9jzt2tlzbkpJ64w5a/lrUxpPgvWI4HNiXJiwpv1clA2gzB66nrjsO2qV
|
||||||
|
3+qcUXoITCmiBFVZBb5eqVWFxQs12Ln80JA7f5ZTWBaZXghTPTEyBnX6a5kODlde
|
||||||
|
pHjNRWq/cxbtCKgYud6L8agpbmqJ/ekDktQ2YegU7bF838fmPHjXMnuL8ocP33GF
|
||||||
|
Th8rTNiw4F+Ki+0gwbY4pJ/L/uIqetWehPm++FDPoY+aUFWvyeB7iIqSNChQHtc1
|
||||||
|
Bf8vZNDJ33tTE5UigHos
|
||||||
|
=vb0r
|
||||||
|
-----END PGP SIGNATURE-----
|
BIN
rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.80.1-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
wsFcBAABCgAQBQJmtMssCRCFq5bm+hvl/gAAt3UQANjFRPmya6DL7rHw0PQjhHG4
|
||||||
|
BxH4pfHSaX2H5AkvbxwSRf5VmHNz1HOW7ZyRs43hKpPjyqtnawPzZaugYX8UWpTU
|
||||||
|
rVp9+hiGID+7CkIBBds5HxmvE0VMonupEqPjam3Vsm4bm9cuHwXsbvDMSPDchGJP
|
||||||
|
4q6b6jSxl/9N/UP+Nc5L8ZzfXkT4gIGTmrAnEcb7F+FJAlBKznun3SqjN9QLIDWQ
|
||||||
|
Nn9vWn2oiIpYOYIyEzDpBbLdmK0rHAx4jvOrtwCGjA/ndfqf6hfVcxgQkaZLEtTU
|
||||||
|
7LDkbstlWLhE3OQEWDhwUC5OXDXT8o8H/G9d2euYg7PzeQf579PmBQfMHrvNV9m/
|
||||||
|
PriQfZUoglpP4ybIFs7R5FCavGj5hYT3Vl7C4jAxmHtferua45gFMTUp6MpsCRV7
|
||||||
|
L9aTHcp9kN1g5HyxZMuAMjluUbrJLJ/9D7HErEff1czzKYHxFVSv7vabXwwtxmbt
|
||||||
|
Pov7PGTuCX59k7wKW9TfzCw+l7CVDquxiyayYYKyEXOPsK0lw5Lko9mo7zzLzxew
|
||||||
|
4zTlmIDN9ejLEPLWrBCFuIwatohrcr7fflNvT2B3u5qgSsO4bDtoxBAXoOxakWlj
|
||||||
|
DATLp6HQeH92ZmXsEkgDvVZTDWtqwEVI3OPbhpTyNXumii/NJkeAsdYuSD2ZH+yf
|
||||||
|
dyQU54x3svT2b5QY7a8d
|
||||||
|
=rFdo
|
||||||
|
-----END PGP SIGNATURE-----
|
85
rust.keyring
Normal file
85
rust.keyring
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
/5A5vjHh+NhFwH5h2vBJVPdsz6k=
|
||||||
|
=jRHo
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
35
rust1.80-rpmlintrc
Normal file
35
rust1.80-rpmlintrc
Normal file
@ -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 .*")
|
153
rust1.80.changes
Normal file
153
rust1.80.changes
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 9 01:02:15 UTC 2024 - William Brown <william.brown@suse.com>
|
||||||
|
|
||||||
|
Version 1.80.1 (2024-08-08)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
- [Fix miscompilation in the jump threading MIR optimization when comparing floats](https://github.com/rust-lang/rust/pull/128271)
|
||||||
|
- [Revert changes to the `dead_code` lint from 1.80.0](https://github.com/rust-lang/rust/pull/128618)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 26 01:48:52 UTC 2024 - William Brown <william.brown@suse.com>
|
||||||
|
|
||||||
|
Version 1.80.0 (2024-07-25)
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Language
|
||||||
|
--------
|
||||||
|
- [Document maximum allocation size](https://github.com/rust-lang/rust/pull/116675/)
|
||||||
|
- [Allow zero-byte offsets and ZST read/writes on arbitrary pointers](https://github.com/rust-lang/rust/pull/117329/)
|
||||||
|
- [Support C23's variadics without a named parameter](https://github.com/rust-lang/rust/pull/124048/)
|
||||||
|
- [Stabilize `exclusive_range_pattern` feature](https://github.com/rust-lang/rust/pull/124459/)
|
||||||
|
- [Guarantee layout and ABI of `Result` in some scenarios](https://github.com/rust-lang/rust/pull/124870)
|
||||||
|
|
||||||
|
Compiler
|
||||||
|
--------
|
||||||
|
- [Update cc crate to v1.0.97 allowing additional spectre mitigations on MSVC targets](https://github.com/rust-lang/rust/pull/124892/)
|
||||||
|
- [Allow field reordering on types marked `repr(packed(1))`](https://github.com/rust-lang/rust/pull/125360/)
|
||||||
|
- [Add a lint against never type fallback affecting unsafe code](https://github.com/rust-lang/rust/pull/123939/)
|
||||||
|
- [Disallow cast with trailing braced macro in let-else](https://github.com/rust-lang/rust/pull/125049/)
|
||||||
|
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind references.](https://github.com/rust-lang/rust/pull/125156/)
|
||||||
|
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs that don't support it](https://github.com/rust-lang/rust/pull/125417/)
|
||||||
|
- [Do not parse CVarArgs (`...`) as a type in trait bounds](https://github.com/rust-lang/rust/pull/125863/)
|
||||||
|
- Improvements to LLDB formatting [#124458](https://github.com/rust-lang/rust/pull/124458) [#124500](https://github.com/rust-lang/rust/pull/124500)
|
||||||
|
- [For the wasm32-wasip2 target default to PIC and do not use `-fuse-ld=lld`](https://github.com/rust-lang/rust/pull/124858/)
|
||||||
|
- [Add x86_64-unknown-linux-none as a tier 3 target](https://github.com/rust-lang/rust/pull/125023/)
|
||||||
|
- [Lint on `foo.into_iter()` resolving to `&Box<[T]>: IntoIterator`](https://github.com/rust-lang/rust/pull/124097/)
|
||||||
|
|
||||||
|
Libraries
|
||||||
|
---------
|
||||||
|
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude](https://github.com/rust-lang/rust/pull/123168/)
|
||||||
|
- [Abort a process when FD ownership is violated](https://github.com/rust-lang/rust/pull/124210/)
|
||||||
|
- [io::Write::write_fmt: panic if the formatter fails when the stream does not fail](https://github.com/rust-lang/rust/pull/125012/)
|
||||||
|
- [Panic if `PathBuf::set_extension` would add a path separator](https://github.com/rust-lang/rust/pull/125070/)
|
||||||
|
- [Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods](https://github.com/rust-lang/rust/pull/121571/)
|
||||||
|
- [Update `c_char` on AIX to use the correct type](https://github.com/rust-lang/rust/pull/122986/)
|
||||||
|
- [`offset_of!` no longer returns a temporary](https://github.com/rust-lang/rust/pull/124484/)
|
||||||
|
- [Handle sigma in `str.to_lowercase` correctly](https://github.com/rust-lang/rust/pull/124773/)
|
||||||
|
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB](https://github.com/rust-lang/rust/pull/126059/)
|
||||||
|
|
||||||
|
Stabilized APIs
|
||||||
|
---------------
|
||||||
|
- [`impl Default for Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E)
|
||||||
|
- [`impl Default for Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E)
|
||||||
|
- [`impl Default for Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E)
|
||||||
|
- [`impl Default for Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E)
|
||||||
|
- [`impl Default for Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E)
|
||||||
|
- [`impl Default for Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E)
|
||||||
|
- [`impl IntoIterator for Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E)
|
||||||
|
- [`impl FromIterator<String> for Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E)
|
||||||
|
- [`impl FromIterator<char> for Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E)
|
||||||
|
- [`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html)
|
||||||
|
- [`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html)
|
||||||
|
- [`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32)
|
||||||
|
- [`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64)
|
||||||
|
- [`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if)
|
||||||
|
- [`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative)
|
||||||
|
- [`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice)
|
||||||
|
- [`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset)
|
||||||
|
- [`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset)
|
||||||
|
- [`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add)
|
||||||
|
- [`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add)
|
||||||
|
- [`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub)
|
||||||
|
- [`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub)
|
||||||
|
- [`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from)
|
||||||
|
- [`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from)
|
||||||
|
- [`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read)
|
||||||
|
- [`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile)
|
||||||
|
- [`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned)
|
||||||
|
- [`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write)
|
||||||
|
- [`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile)
|
||||||
|
- [`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned)
|
||||||
|
- [`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes)
|
||||||
|
- [`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to)
|
||||||
|
- [`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
|
||||||
|
- [`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from)
|
||||||
|
- [`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
|
||||||
|
- [`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace)
|
||||||
|
- [`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap)
|
||||||
|
- [`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place)
|
||||||
|
- [`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset)
|
||||||
|
- [`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked)
|
||||||
|
- [`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked)
|
||||||
|
- [`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked)
|
||||||
|
- [`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked)
|
||||||
|
- [`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii)
|
||||||
|
- [`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start)
|
||||||
|
- [`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end)
|
||||||
|
- [`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii)
|
||||||
|
- [`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start)
|
||||||
|
- [`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end)
|
||||||
|
- [`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS)
|
||||||
|
- [`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits)
|
||||||
|
- [`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits)
|
||||||
|
- [`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS)
|
||||||
|
- [`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits)
|
||||||
|
- [`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits)
|
||||||
|
- [`Vec::<[T; N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened)
|
||||||
|
- [`<[[T; N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened)
|
||||||
|
- [`<[[T; N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut)
|
||||||
|
|
||||||
|
These APIs are now stable in const contexts:
|
||||||
|
|
||||||
|
- [`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk)
|
||||||
|
- [`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new)
|
||||||
|
|
||||||
|
Cargo
|
||||||
|
-----
|
||||||
|
- [Stabilize `-Zcheck-cfg` as always enabled](https://github.com/rust-lang/cargo/pull/13571/)
|
||||||
|
- [Warn, rather than fail publish, if a target is excluded](https://github.com/rust-lang/cargo/pull/13713/)
|
||||||
|
- [Add special `check-cfg` lint config for the `unexpected_cfgs` lint](https://github.com/rust-lang/cargo/pull/13913/)
|
||||||
|
- [Stabilize `cargo update --precise <yanked>`](https://github.com/rust-lang/cargo/pull/13974/)
|
||||||
|
- [Don't change file permissions on `Cargo.toml` when using `cargo add`](https://github.com/rust-lang/cargo/pull/13898/)
|
||||||
|
- [Support using `cargo fix` on IPv6-only networks](https://github.com/rust-lang/cargo/pull/13907/)
|
||||||
|
|
||||||
|
Rustdoc
|
||||||
|
-----
|
||||||
|
|
||||||
|
- [Allow searching for references](https://github.com/rust-lang/rust/pull/124148/)
|
||||||
|
- [Stabilize `custom_code_classes_in_docs` feature](https://github.com/rust-lang/rust/pull/124577/)
|
||||||
|
- [fix: In cross-crate scenarios show enum variants on type aliases of enums](https://github.com/rust-lang/rust/pull/125300/)
|
||||||
|
|
||||||
|
Compatibility Notes
|
||||||
|
-------------------
|
||||||
|
- [rustfmt estimates line lengths differently when using non-ascii characters](https://github.com/rust-lang/rustfmt/issues/6203)
|
||||||
|
- [Type aliases are now handled correctly in orphan check](https://github.com/rust-lang/rust/pull/117164/)
|
||||||
|
- [Allow instructing rustdoc to read from stdin via `-`](https://github.com/rust-lang/rust/pull/124611/)
|
||||||
|
- [`std::env::{set_var, remove_var}` can no longer be converted to safe function pointers and no longer implement the `Fn` family of traits](https://github.com/rust-lang/rust/pull/124636)
|
||||||
|
- [Warn (or error) when `Self` constructor from outer item is referenced in inner nested item](https://github.com/rust-lang/rust/pull/124187/)
|
||||||
|
- [Turn `indirect_structural_match` and `pointer_structural_match` lints into hard errors](https://github.com/rust-lang/rust/pull/124661/)
|
||||||
|
- [Make `where_clause_object_safety` lint a regular object safety violation](https://github.com/rust-lang/rust/pull/125380/)
|
||||||
|
- [Turn `proc_macro_back_compat` lint into a hard error.](https://github.com/rust-lang/rust/pull/125596/)
|
||||||
|
- [Detect unused structs even when implementing private traits](https://github.com/rust-lang/rust/pull/122382/)
|
||||||
|
- [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T: !Sync`](https://github.com/rust-lang/rust/pull/125527) which means [`std::io::StdoutLock` and `std::io::StderrLock` are no longer Sync](https://github.com/rust-lang/rust/issues/127340)
|
||||||
|
|
||||||
|
Internal Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
These changes do not affect any public interfaces of Rust, but they represent
|
||||||
|
significant improvements to the performance or internals of rustc and related
|
||||||
|
tools.
|
||||||
|
|
||||||
|
- Misc improvements to size of generated html by rustdoc e.g. [#124738](https://github.com/rust-lang/rust/pull/124738/) and [#123734](https://github.com/rust-lang/rust/pull/123734/)
|
||||||
|
- [MSVC targets no longer depend on libc](https://github.com/rust-lang/rust/pull/124050/)
|
788
rust1.80.spec
Normal file
788
rust1.80.spec
Normal file
@ -0,0 +1,788 @@
|
|||||||
|
#
|
||||||
|
# spec file for package rust1.79
|
||||||
|
#
|
||||||
|
# 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.80
|
||||||
|
%global version_current 1.80.1
|
||||||
|
%global version_previous 1.79.0
|
||||||
|
# This has to be kept lock step to the rust version.
|
||||||
|
# -- will be 18 for 1.78
|
||||||
|
%global llvm_version 18
|
||||||
|
%if 0%{?sle_version} <= 150900 && 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 13
|
||||||
|
%endif
|
||||||
|
|
||||||
|
#KEEP NOSOURCE DEBUGINFO
|
||||||
|
|
||||||
|
%define obsolete_rust_versioned() \
|
||||||
|
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_wasm32:,wasm32-unknown-unknown%{?with_wasi:,wasm32-wasi}}
|
||||||
|
|
||||||
|
# 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 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} >= 1699
|
||||||
|
# && "{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} >= 1699
|
||||||
|
%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} >= 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%{?gcc_version} != 0
|
||||||
|
BuildRequires: gcc%{gcc_version}-c++
|
||||||
|
Requires: gcc%{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} <= 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
|
||||||
|
BuildRequires: clang%{llvm_version}
|
||||||
|
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.
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
|
# 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 <<EOF
|
||||||
|
export CC="/usr/bin/clang"
|
||||||
|
export CXX="/usr/bin/clang++"
|
||||||
|
EOF
|
||||||
|
%else
|
||||||
|
|
||||||
|
%if 0%{?gcc_version} != 0
|
||||||
|
cat > .env.sh <<EOF
|
||||||
|
export CC="/usr/bin/gcc-%{gcc_version}"
|
||||||
|
export CXX="/usr/bin/g++-%{gcc_version}"
|
||||||
|
EOF
|
||||||
|
%else
|
||||||
|
cat > .env.sh <<EOF
|
||||||
|
export CC="gcc"
|
||||||
|
export CXX="g++"
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# -Clink-arg=-B{_prefix}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||||
|
# -Clink-arg=-B{rust_root}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||||
|
|
||||||
|
%if %{with sccache}
|
||||||
|
export CC="/usr/bin/sccache ${CC}"
|
||||||
|
export CXX="/usr/bin/sccache ${CXX}"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
cat >> .env.sh <<EOF
|
||||||
|
export CXXFLAGS="-I/home/abuild/rpmbuild/BUILD/rustc-%{version}-src/src/llvm-project/libunwind/include/"
|
||||||
|
export PATH="%{_prefix}/lib/rustlib/%{rust_triple}/bin/:${PATH}"
|
||||||
|
export RUSTFLAGS="%{rustflags} -Clinker=%{rust_linker}"
|
||||||
|
export LD_LIBRARY_PATH="%{rust_root}/lib"
|
||||||
|
export SCCACHE_IDLE_TIMEOUT="3000"
|
||||||
|
export DESTDIR=%{buildroot}
|
||||||
|
export CARGO_FEATURE_VENDORED=1
|
||||||
|
unset FFLAGS
|
||||||
|
unset MALLOC_CHECK_
|
||||||
|
unset MALLOC_PERTURB_
|
||||||
|
# END EXPORTS
|
||||||
|
EOF
|
||||||
|
. ./.env.sh
|
||||||
|
|
||||||
|
# Sometimes to debug sccache we need to know the state of the env.
|
||||||
|
env
|
||||||
|
|
||||||
|
# Check our rustroot works as we expect
|
||||||
|
%if %{without test}
|
||||||
|
cat >> main.rs <<EOF
|
||||||
|
fn main() {}
|
||||||
|
EOF
|
||||||
|
RUSTC_LOG=rustc_codegen_ssa::back::link=info %{rust_root}/bin/rustc -C link-args=-Wl,-v ${RUSTFLAGS} main.rs
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Find compiler-rt
|
||||||
|
%if %{without bundled_llvm}
|
||||||
|
PATH_TO_LLVM_PROFILER=`echo %{_libdir}/clang/??/lib/linux/libclang_rt.profile-*.a`
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# The configure macro will modify some autoconf-related files, which upsets
|
||||||
|
# cargo when it tries to verify checksums in those files. So we don't use
|
||||||
|
# the macro, as it provides no tangible benefit to our build process.
|
||||||
|
# FUTURE: See if we can build sanitizers without the full llvm bundling.
|
||||||
|
# {?with_tier1: --enable-sanitizers} \
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--build=%{rust_triple} --host=%{rust_triple} \
|
||||||
|
--target %{rust_target_list} \
|
||||||
|
%{?with_wasi: --set target.wasm32-wasi.wasi-root=%{_datadir}/wasi-sysroot/ } \
|
||||||
|
--prefix=%{_prefix} \
|
||||||
|
--bindir=%{_bindir} \
|
||||||
|
--sysconfdir=%{_sysconfdir} \
|
||||||
|
--datadir=%{_datadir} \
|
||||||
|
--localstatedir=%{_localstatedir} \
|
||||||
|
--mandir=%{_mandir} \
|
||||||
|
--infodir=%{_infodir} \
|
||||||
|
--libdir=%{common_libdir} \
|
||||||
|
--docdir=%{_docdir}/rust \
|
||||||
|
--enable-local-rust \
|
||||||
|
%{!?with_test: --local-rust-root=%{rust_root} --disable-rpath} \
|
||||||
|
%{!?with_bundled_llvm: --llvm-root=%{_prefix} --enable-llvm-link-shared} \
|
||||||
|
%{?with_bundled_llvm: --disable-llvm-link-shared --set llvm.link-jobs=0} \
|
||||||
|
%{?with_llvmtools: --set rust.use-lld=true --set llvm.use-linker=lld} \
|
||||||
|
--set rust.lld=true \
|
||||||
|
--default-linker=%{rust_linker} \
|
||||||
|
%{?with_sccache: --enable-sccache} \
|
||||||
|
%{!?with_sccache: --enable-ccache} \
|
||||||
|
--disable-docs \
|
||||||
|
--disable-compiler-docs \
|
||||||
|
--enable-verbose-tests \
|
||||||
|
%{debug_info} \
|
||||||
|
--enable-vendor \
|
||||||
|
--enable-extended \
|
||||||
|
--tools="cargo,clippy,rustdoc,rustfmt,src" \
|
||||||
|
--release-channel="stable" \
|
||||||
|
--set rust.deny-warnings=false \
|
||||||
|
%{!?with_bundled_llvm: --set target.%{rust_triple}.profiler=${PATH_TO_LLVM_PROFILER}} \
|
||||||
|
%{?with_bundled_llvm: --set target.%{rust_triple}.profiler=true} \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
# We set deny warnings to false due to a problem where rust upstream didn't test building with
|
||||||
|
# the same version (they did previous ver)
|
||||||
|
|
||||||
|
%if %{without test}
|
||||||
|
python3 ./x.py build
|
||||||
|
# Debug for post build
|
||||||
|
free -h
|
||||||
|
df -h
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
# Reread exports file
|
||||||
|
%if %{without test}
|
||||||
|
. ./.env.sh
|
||||||
|
|
||||||
|
python3 ./x.py install
|
||||||
|
|
||||||
|
# bsc#1199126 - rust-lld contains an rpath, which is invalid.
|
||||||
|
chrpath -d %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-lld
|
||||||
|
|
||||||
|
%if %{with bundled_llvm}
|
||||||
|
# To facilitate tests when we aren't using system LLVM, we need filecheck available.
|
||||||
|
install -m 0755 %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/FileCheck %{buildroot}%{rustlibdir}/%{rust_triple}/bin/FileCheck
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Remove the license files from _docdir: make install put duplicates there
|
||||||
|
rm %{buildroot}%{_docdir}/rust/{README.md,COPYRIGHT,LICENSE*}
|
||||||
|
rm %{buildroot}%{_docdir}/rust/*.old
|
||||||
|
|
||||||
|
# Remove installer artifacts (manifests, uninstall scripts, etc.)
|
||||||
|
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
|
||||||
|
|
||||||
|
# Remove hidden files from source
|
||||||
|
find %{buildroot}%{rustlibdir} -type f -name '.appveyor.yml' -exec rm -v '{}' '+'
|
||||||
|
find %{buildroot}%{rustlibdir} -type f -name '.travis.yml' -exec rm -v '{}' '+'
|
||||||
|
find %{buildroot}%{rustlibdir} -type f -name '.cirrus.yml' -exec rm -v '{}' '+'
|
||||||
|
find %{buildroot}%{rustlibdir} -type f -name '.clang-format' -exec rm -v '{}' '+'
|
||||||
|
find %{buildroot}%{rustlibdir} -type d -name '.github' -exec rm -r -v '{}' '+'
|
||||||
|
|
||||||
|
# The shared libraries should be executable to allow fdupes find duplicates.
|
||||||
|
find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||||
|
|
||||||
|
# The shared libraries should be executable for debuginfo extraction.
|
||||||
|
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||||
|
|
||||||
|
# Create the path for crate-devel packages
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/cargo/registry
|
||||||
|
|
||||||
|
# Remove completions
|
||||||
|
rm -rf %{buildroot}%{_prefix}/src/etc/bash_completion.d
|
||||||
|
# rmdir %{buildroot}%{_prefix}/src/etc
|
||||||
|
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d
|
||||||
|
rm -rf %{buildroot}%{_datadir}/zsh
|
||||||
|
|
||||||
|
# There should be nothing here at all
|
||||||
|
rm -rf %{buildroot}%{_sysconfdir}
|
||||||
|
# cargo does not respect our _libexec setting on Leap:
|
||||||
|
if [ ! -f %{buildroot}%{_libexecdir}/cargo-credential-1password ] &&
|
||||||
|
[ -f %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password ]; then
|
||||||
|
mv %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password \
|
||||||
|
%{buildroot}%{_libexecdir}/cargo-credential-1password
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Silence any duplicate library warnings.
|
||||||
|
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||||
|
%fdupes %{buildroot}/%{common_libdir}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Ugly hack to get brp-15-strip-debug call llvm-strip, which is wasm-aware, as system-strip will break wasm-files (same for ar/ranlib)
|
||||||
|
export CROSS_COMPILE=llvm-
|
||||||
|
|
||||||
|
# End without test
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with test}
|
||||||
|
%check
|
||||||
|
. ./.env.sh
|
||||||
|
|
||||||
|
# Tests require stage0 in place, so we need to symlink that in for compiler access.
|
||||||
|
# Generally in a non-local rust build, this process assumes you downloaded and unpacked
|
||||||
|
# the compiler toolchain into stage0, which is why we have to feed that in manually.
|
||||||
|
mkdir -p %{_builddir}/rustc-%{version}-src/build/%{rust_triple}
|
||||||
|
ln -s %{rust_root} %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/stage0
|
||||||
|
|
||||||
|
# Need to exclude issue-71519 as when we enable lld for wasm, this test incorrectly assumes
|
||||||
|
# we can use it with -Z gcc-ld=lld (which is sadly trapped in nightly). We can't exclude
|
||||||
|
# a single test so sadly we have to exclude that whole suite.
|
||||||
|
%ifarch aarch64
|
||||||
|
python3 ./x.py test --target=%{rust_triple} \
|
||||||
|
--exclude tests/run-make/issue-71519 \
|
||||||
|
--exclude tests/run-make/pgo-branch-weights \
|
||||||
|
--exclude src/tools/tidy \
|
||||||
|
--exclude src/tools/expand-yaml-anchors \
|
||||||
|
--exclude tests/ui/methods \
|
||||||
|
--exclude tests/ui/typeck \
|
||||||
|
--exclude tests/ui/issues/issue-21763 \
|
||||||
|
--exclude tests/ui/mismatched_types \
|
||||||
|
--exclude tests/run-make/short-ice \
|
||||||
|
--exclude tests/run-make/rust-lld \
|
||||||
|
--exclude src/bootstrap
|
||||||
|
%else
|
||||||
|
python3 ./x.py test --target=%{rust_triple} \
|
||||||
|
--exclude tests/run-make/issue-71519 \
|
||||||
|
--exclude tests/run-make/pgo-branch-weights \
|
||||||
|
--exclude src/tools/tidy \
|
||||||
|
--exclude src/tools/expand-yaml-anchors \
|
||||||
|
--exclude tests/ui/methods \
|
||||||
|
--exclude tests/ui/typeck \
|
||||||
|
--exclude tests/ui/issues/issue-21763 \
|
||||||
|
--exclude tests/ui/mismatched_types \
|
||||||
|
--exclude tests/run-make/short-ice \
|
||||||
|
--exclude tests/run-make/rust-lld \
|
||||||
|
--exclude src/bootstrap
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# End with test
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without test}
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||||
|
%doc CONTRIBUTING.md README.md RELEASES.md
|
||||||
|
%{_bindir}/rustc
|
||||||
|
%{_bindir}/rustdoc
|
||||||
|
%{_bindir}/rust-gdb
|
||||||
|
%{_bindir}/rust-gdbgui
|
||||||
|
%{_bindir}/rust-lldb
|
||||||
|
%{_bindir}/cargo-clippy
|
||||||
|
%{_bindir}/cargo-fmt
|
||||||
|
%{_bindir}/clippy-driver
|
||||||
|
%{_bindir}/rustfmt
|
||||||
|
%{_mandir}/man1/rustc.1%{?ext_man}
|
||||||
|
%{_mandir}/man1/rustdoc.1%{?ext_man}
|
||||||
|
%{_prefix}/lib/lib*.so
|
||||||
|
%dir %{rustlibdir}
|
||||||
|
%dir %{rustlibdir}%{_sysconfdir}
|
||||||
|
%{rustlibdir}%{_sysconfdir}/gdb_load_rust_pretty_printers.py
|
||||||
|
%{rustlibdir}%{_sysconfdir}/gdb_lookup.py
|
||||||
|
%{rustlibdir}%{_sysconfdir}/gdb_providers.py
|
||||||
|
%{rustlibdir}%{_sysconfdir}/lldb_commands
|
||||||
|
%{rustlibdir}%{_sysconfdir}/lldb_lookup.py
|
||||||
|
%{rustlibdir}%{_sysconfdir}/lldb_providers.py
|
||||||
|
%{rustlibdir}%{_sysconfdir}/rust_types.py
|
||||||
|
%dir %{rustlibdir}/%{rust_triple}
|
||||||
|
%{rustlibdir}/%{rust_triple}/bin
|
||||||
|
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||||
|
%{rustlibdir}/%{rust_triple}/lib/*.so
|
||||||
|
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
||||||
|
%if %{with wasm32}
|
||||||
|
%dir %{rustlibdir}/wasm32-unknown-unknown
|
||||||
|
%dir %{rustlibdir}/wasm32-unknown-unknown/lib
|
||||||
|
%{rustlibdir}/wasm32-unknown-unknown/lib/*.rlib
|
||||||
|
%if %{with wasi}
|
||||||
|
%dir %{rustlibdir}/wasm32-wasi
|
||||||
|
%dir %{rustlibdir}/wasm32-wasi/lib
|
||||||
|
%dir %{rustlibdir}/wasm32-wasi/lib/self-contained
|
||||||
|
%{rustlibdir}/wasm32-wasi/lib/*.rlib
|
||||||
|
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.o
|
||||||
|
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.a
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
%dir %{rustlibdir}/x86_64-unknown-none
|
||||||
|
%dir %{rustlibdir}/x86_64-unknown-none/lib
|
||||||
|
%{rustlibdir}/x86_64-unknown-none/lib/*.rlib
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Seems to have been removed in 1.73
|
||||||
|
# pct {_libexecdir}/cargo-credential-1password
|
||||||
|
|
||||||
|
%files -n cargo%{version_suffix}
|
||||||
|
%license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
|
||||||
|
%license src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||||
|
%license src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||||
|
%{_bindir}/cargo
|
||||||
|
%{_mandir}/man1/cargo*.1%{?ext_man}
|
||||||
|
%dir %{_datadir}/cargo
|
||||||
|
%dir %{_datadir}/cargo/registry
|
||||||
|
|
||||||
|
%files src
|
||||||
|
%{rustlibdir}/src
|
||||||
|
|
||||||
|
# End not with test
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
BIN
rustc-1.80.1-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
rustc-1.80.1-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user