New package rust1.83
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust1.83?expand=0&rev=1
This commit is contained in:
commit
e4c000e481
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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
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);
|
||||
}
|
||||
|
14
ppc64le-float.patch
Normal file
14
ppc64le-float.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -rupN rustc-1.82.0-src.orig/src/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp rustc-1.82.0-src/src/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp
|
||||
--- rustc-1.82.0-src.orig/src/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp
|
||||
+++ rustc-1.82.0-src/src/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp
|
||||
@@ -1784,8 +1784,8 @@ Constant *ConstantFoldFP(double (*Native
|
||||
}
|
||||
|
||||
#if defined(HAS_IEE754_FLOAT128) && defined(HAS_LOGF128)
|
||||
-Constant *ConstantFoldFP128(long double (*NativeFP)(long double),
|
||||
- const APFloat &V, Type *Ty) {
|
||||
+Constant *ConstantFoldFP128(float128 (*NativeFP)(float128), const APFloat &V,
|
||||
+ Type *Ty) {
|
||||
llvm_fenv_clearexcept();
|
||||
float128 Result = NativeFP(V.convertToQuad());
|
||||
if (llvm_fenv_testexcept()) {
|
BIN
rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLuCRCFq5bm+hvl/gAA14sQAMZxxsuEyA9WayY4Wic+nBB9
|
||||
nCLmysLzO/WMHpLDSJm6L6S40twf+KVIMmZJ5iAs1/oGqPaEMKruizUyg6YKC5lY
|
||||
aYXKpkjGyek4pGqVyrpl/uZAXpHnO9vopQh7Lnx89S51DOBXnMquWqL8x9eY6Wzn
|
||||
uoIZU2idlmvFbHEMvV+EEz6QyY8WrKeT6Z1qkvKwICdDzP6VYqHTo/xiNOv3JE1a
|
||||
/xJcjOv8C16bh1O97KMtaYOhW4lS1YFOgfQENpvoPA9yBAtayGtG34YkTnS2hBlU
|
||||
N0X0FqXfz+Bd5pHDDOZ1aGVuGcdqfw0sXTlOBIutajcbGVsnTdDUmWZvYFPZ3SP9
|
||||
aKWF8gYiHT2ELs6HROUa/lC551xs3jwjdqmy3EM54inHBKLdqre5Y70yB0bDuQyo
|
||||
z+yahFpRGksuIY58hcHJ8FojNMN4bMRlIYGBkjnHEn6dhBjzGfUoBzrOV+zYY2F4
|
||||
8Y3zRF9Gif07JJDtej46AvGasobZiTtxHrOmDtOGSNfDQWnaFmsZmJ2N7/h+5hUo
|
||||
hiBXjvdtuXxjSqBIc8xYngPuPwFaTwCWAQCo0NbXWKIaM39z/7RPkbFYZA+D717E
|
||||
JFabmJGMNgvVJ1rcx95QR6BCwFadgK3j4nLDNvz/dNd0ju7BpTgINc/RjNjzHw1k
|
||||
EsB0+f4hiLiIOaLy5tzi
|
||||
=2h85
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.83.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLtCRCFq5bm+hvl/gAAubwQALw8vQb/D1y/fQ4DRHAfXQgO
|
||||
Y97LiZY1IDakhLtzpD+kpOfEMbQvrMJUS4PYJ1l7VYuovHN9/M/5UHYpvKkYm63F
|
||||
alWZ/Vi5gFLjxreMZpltZoe8QmZZn5dimnGqV7H5Hn2I4+wCm6T+G+vm60Dr7qsy
|
||||
ZdhgMYQG3w7qduYIEdbxOBbJIYqRko+43kIpjrLoE1DJ4ChWk9RBLQ5eLOQFE8d2
|
||||
rMuw2m+4uUwcikSYHGnF9F3HVT/EfKK+T1dUfMgtdqwJ5Jbqk+vyjA65AAa+/FCJ
|
||||
FEzgbCVyk7pyov+wZwU7d7ChFIHNpSz6X0B0+0yvV30ap7bjf5V4JmhA674TA07N
|
||||
19zdIOtglxvu0R2Fn0EK83MoSvsI4dRoUYPVhrX9JdKAxqGn0SqHKzecw76Zj0Rp
|
||||
VJzh2b3zoHDoU8jzHoDp5RpE/qlzPJO/prsramo8St8i2nEYNYH8AmQcaiC2zas9
|
||||
oCXkou7Via4YZw2HbMTiu4uuAdGu94eb8g+igVf28STEDK3bBrohKUFXlgZ85XLg
|
||||
403yngIAbSl+iltQbpZkmwoP+UWF6GrQTsf0EQ+Kk7cOmobwh503iUaw54S8YYQY
|
||||
7t2Ppm3/AX6X2dctLAKDz5zNQt81cV6BWW8DoqZctd9dplH4GS2bvem79G3/ADK8
|
||||
kwOvtnswZpmPX+49BOX/
|
||||
=4fdZ
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.83.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLvCRCFq5bm+hvl/gAAPK8P/3jz2gz4FmGbVmrTTWWf4Pn0
|
||||
xv9O02digH0pP7xT4S1CAuY6loOHMuLmguwFq9kSROwoaN6eUktAphmJplPgrgOQ
|
||||
+mP+TVI4eeEoeKOdy8brJ4FxOuQAhKDij8A5IrBZsYxX9QXXhaFRCUznXmmJMut2
|
||||
R5nmJga4369RRMqIyvwfH4h1WqaBbITGDMPc89f79/DZc9QwaafOGoJrmP1uMD+/
|
||||
MjlqNMKj4nTPqcD+mry/E3vPiycFlDYkeKZYD5U1Q9w7fmuscOe6MQtgLHJCPNId
|
||||
no8nKB4R3W/HlIfnRi5n9WSDQyazoqLCKujfPkfxmytQ9VN/JX077xfL0IsExd3J
|
||||
ej+wCnhwGPlMf/z8zPoXKcJ9LEpSJvVdNqYsTVU0MBgWZvtEFb0ZQJzIo//jR8EB
|
||||
qi2D8OHmt6Bk3XnIvlrOnPqBy+QeyILiJzt6uGxEkuLsvu0GWwecSYq6dZudnQUa
|
||||
KewgStrSomnqdXLu8rPq2UGpsWiKIIQ3txUCgsncBpeCMOThjY5v7GzSgLBFWMYo
|
||||
VaKqH1867MuCPbJRGxFYfsVpQ57+cbGuZIyevz8EgZoNHEDB6u08gV2US3n3I00q
|
||||
Fgj0Yf/azI/Yvk3iQqzVOoiqvhuDhyzuJUo21dPI3NhvtlE27zsHsxLoMgxfw3g3
|
||||
gLgVHVwBxxnIHW6uKelK
|
||||
=UVDN
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLvCRCFq5bm+hvl/gAAaHsQAKlxz4iY+A2R/XZFgFcs3n58
|
||||
XHwWBUNYecCXMk5IFFtfhRQ1JCpoudSurC9UuulFnfwiCL1Px6lsK+mtEqvGU/hr
|
||||
diNejom/EUZnC+kC46bIiI2SEcNz/0c4yaAZnZe6lULpOzpFuGO/4CBns9+e2fyu
|
||||
OTk2Vz/PkQl1L33oTmXm3hpxbTZZbRFFf4W6fDdZPVNcuEFai0e1BgpBoBAbFhpV
|
||||
pl9NZrD2cJTfg0uJTvYsBpMmaMhg94yajEH1wp9zoxVxjL+5m6toxq17gHuTecbf
|
||||
ad4XSPkJ23I9ekve3UCbMaFMjUaj9iurZB3LY7nCyv4jX3L6kqH4E2In/M31vvZe
|
||||
b3goWwvVSzn5MJiYeSi2Vj0VuObXNQcFaLN6iUgggBHHefhsn9HPuYjV/TK59p4I
|
||||
MQtd7Np42nMh1wVvOSv7JereUs3sobmdIVA2RVnzSOYtJr4at19yD2IQU76+15so
|
||||
860mkdQPthDmHIatl0bAm3+pw+wsa9ILNBq35Iev61w0/Ke37O3JI8tYAmvWn3vK
|
||||
WYRWsr9Z5oOiySMVp9lXE94Ed4FWAi1VnVNb3u/I6WqG8/Y/9uKaCuIKmeOUuurF
|
||||
P7WaSIxPg2dA1Os/dGH2YWrbxQotrZEMM2LaQGS4crLaHqyNlq8EBP2UihN07afb
|
||||
KKdnjbUmVO3/NMfXBm3K
|
||||
=+A92
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLoCRCFq5bm+hvl/gAAu30P/2SPHpmOAOCmFVCECyjecinZ
|
||||
xaT9qnkyX9JOgw747z2f4RG40YqhenGgzXk/9lOIq6+5EU5Xu6YSdP2+ls3IP15j
|
||||
T1Bu813U5OqXpySkvf/B1Clk+FfquWcfRm3Sx1tFBmo1BUlD2O0l+ntJ/gRMV4pJ
|
||||
wPufZl6uci679HquG54dgUPwbNzVzTKNG8DuGLDe9xZA9eJXbtwmkYDb884gX3o3
|
||||
xNEyz3UYQ1VqoAcDVG1Rr8yFjdjU/cqOPA9wXOlSrOKdWbuLs+rCa36fO20/2F/B
|
||||
uadd8aHfEP16kUZ9JphLXADWZNtzrmCirAOaGV8VMq1jwj6okBrn5YHc6RNdbvYL
|
||||
BaQBskjkSqfAsuYCJgT5QD3Abpt+b82vhijRZP3ujOzfXaKq8aLCXIbwsDGfIqgP
|
||||
nOe2BEQtuIWihx7l0SyDExGzxHDpIflmEpwmWxzO0+Xsfo93ZsEBaI3iMq/6u3u7
|
||||
WtCC/23FKVDV5lzSs+pamzXAG3SdIpWWsVw9/9LSNvAgdrUbrXiI3lE9oa8XTKeP
|
||||
snaA7Hj6eE5oKgfyHOTFEarqm4+IRmH/XArMgu3e7NTRT3lGRG4hMZj9exOlW0NQ
|
||||
tVrHT1t6FatTRz+auZxVGQfn1q6Zt0ev6zeNcEH+GLX5pEHIvWC7+oyoZ4HkreZP
|
||||
mA/SxlKtlfvORy83GF/h
|
||||
=DfXP
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLvCRCFq5bm+hvl/gAAFgAP/iEFBcqwUSdWfXlz4ZTRYMJQ
|
||||
LncMAXfhXtw1sFEVl2ybcvV1tbyob948VgI9Mm+y9e0KR2405XRy80P+gDBw1gFf
|
||||
40ckn13A/m+vbqDeQrWm2w+mdes4YI+rWRq8tB72Fknlona5NLchB5KPN6xBXO3l
|
||||
ReIYoLNhV+iW85PabxLWtIOSKChszRS3c/omQgor1493eoPT4dkfH+kkkhpWc7X9
|
||||
xYHKQ06UUqMx48vKqHLWRntb5XFnQHuHZjigugcwbTMLG9CEl/MZH3Jvg59SQlwG
|
||||
u+3bYU/aJiYUqRqmFA8wX2IIXqtSUkya9plKKkPIIydtk6UpBfu96OZVeeJE7RI+
|
||||
XT95EbkY6kK/zE6x6luUZyvhAMpNwzerOJkIX6Wsx1vsIDx+pPTPPMSmCjhHPJBy
|
||||
j2Mxlh/HZcorMf7G6VWjSTK7ntdIR3DFCBhmI8m9T37qqzzahvrhP6wY/kH+A2XA
|
||||
igHkOwWf77Acrk+KMNnpRKfmTicrWURW28fWhtHg+CBLWgCjeC9DOGf9+ELtfTTd
|
||||
oCvWeLeCVodpzhezLhANWcgyhBMMnHwRUpBivFfhfW5ks80Rf+KxE36Kw8t1sNpc
|
||||
8bGFVwGOcEV5S89fvOfitAVMeokJexQJCt3dTKGre3S2l5ooqRzNu1F12VwdGjwX
|
||||
fBJOK5TJQ4GsttTuDvM3
|
||||
=YP5U
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLvCRCFq5bm+hvl/gAATCUP/2aNMIF1UY3mFgIKPNh4d2uI
|
||||
13siDSsNhpWlPeF76K0+x3Whk4tM2wRbU8XetcCBQBrR5yVOTAUtH5dcL0si7ZBb
|
||||
zN1joBMwd0d4syUVYzBqVHnU3lLcCeP6jFzEPgbxraTCLvvhapwgZProoLY1vSzG
|
||||
NWMjeE0bGIobXXtBnZD3lANnpPYYc8vxRGHr3cKOqn2jfHO7HdvP1eeKy3ZMahvO
|
||||
nKcBlLhgbNqSfjz3dCq76vWVcbf11/t1AiMv+iEJPIQLedJBKAYrhuIPwYcVZyZS
|
||||
DKQyu6wLTBaXsLDqfI3vSFcpwNfiVMauhSAvEjxHy16k+l/XR+1jyY+B+vPNUKx1
|
||||
Kjrc/eY4Sr0rD2aXLK+aBQl4ge10UIuGZGWjXbt/OORSCoH2Ci3CdiSSEVTvTubW
|
||||
GQajVEprZn/NS3l0VrdOtgnJ59w+gfiNUGwmwt5BPkQ+waSjX31BZEXpYB/p9S4t
|
||||
kbkrWgt9OHo6+issZ8bqrvrUVwbx5Q30F7yZ1YwIVIxQRhRtEtMD+vrFwkmmGuEN
|
||||
anWENht73UGpNBVg6WFGlTPRb+LFE5ZBMIbD7wy38/yo6wpOwibWcpiaSGI8aHKN
|
||||
Xej11K9tPfmuWq5qY6jvSNhFtx8HhbBFT+I7yaEPAHAijWQHODkFwWX84DiCPuHw
|
||||
wWyZDaYKtgKsApymr65H
|
||||
=O3AP
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLqCRCFq5bm+hvl/gAAfOgQAMoWoxZxwyeHx7tMLkmmDtW5
|
||||
8qfdYrWtb5wFz9AiQr4GS8DJKhmOjYcLgXj4vF2qMJPHNPTakKNr7c3XhPhOO7ho
|
||||
hYSyUKUBroi0fMs5y/grwX8QmNNk3OpvjeGY4DJNUf7Esa14YX5FyDyxi8zn/Nmm
|
||||
WVDjSFW9qxvCTkWu0FbVtV/VrKlImVA9jj6dWdOkNAI4yX3dX0Bch8j1LSWS00mt
|
||||
TzQ5q1VWKEzPCwGSO2d57VA0T0zXYaqJFk+fo03BD0230eHS6XQGrnhtDAIfdDtt
|
||||
7CL0oRWLLe9LlAc8zbw5pPQWmwm3lZZduuEZonGjyLJ+E9DnVH8wQum3z+1EYCPI
|
||||
iEcf7p2QGs6/CQ2XsVGCUTb7jBnZDy/UqJbJ8MvhqropeT9dIhUyfTxjICKbrJsu
|
||||
dM6A7+T4ylRqFQmyFyMjYQAhWcuPFVuIw7jPkqdmlLkkNDugQQ0YOeTCL5n3sN8E
|
||||
uasL8DhBij1yo+0Z4faAbVmtSEW8BUosxiNxHurgGzocxblncWC2HaHBh1xTQTJp
|
||||
yDKIXxywPr6C/Ujq+NXxeT5V9eP7qGytPd9ayy1grxDixQdKBcGqyhrlDpI24BY8
|
||||
E+Tucl4jA06QoGmthsioM9csJzBp3rcqNiOsPXwBcccJESFX/iFVKmq0EDg3D1bY
|
||||
w/s4PONrti+1AnDVTEKL
|
||||
=ux8l
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLvCRCFq5bm+hvl/gAApzMQAKf8qHvwa1+rA3pmtxNGoUSX
|
||||
aC8VILaTrH7rc2VtmCaKDgCdIqm4slX+Q29vFbDlFG6uI85C/QohErvrxse1xUR4
|
||||
z41ON0DUu+P8uS8skrcUrNnR49EvLtNeyTryVmqHOssiAnSKhcWF9L9dCJbV1km1
|
||||
B+4J5OCTSe6Q4CUptw8K6hAqiOARJLCBQBJs1roWnS/dJSsUT4NKx9WpQwRrCP5L
|
||||
mvFGdDVFWJgc+U2quLXN3vrAlw5lIDrlmmpR38/JTnERHkia3qMyxUq1lu9flbyK
|
||||
xihOa61eN6YChB9DAAJpG+eeQtqD5ynnEHtHyR/UEG6LG3etnxSvU4on7mmJHSKh
|
||||
mqKaFQvFQW8V4hzbF6cqmOY5gE5/wosd9+M8z41vNi0T9bL1EVnXLJDuKPz3vO6d
|
||||
NK8SXcBLKC/44rqLdx2VCKjgVOMaqkbq4mbsTHfM5FU3Cf6+C/ANEnonhuihOwO0
|
||||
s/r6h3kIE3NbPDWZ4pSce6hycl8yCobmUywdp77aREfVCZ1oR5e9Zzz/VHHRvpN8
|
||||
IQGVOKVzIHxtLSpoHhyWVIUiHC2C9CvDeQJEz/OWNr6K/FG5E2udgxmt2a6SuVkR
|
||||
wdo+IeLPolRZL7ImuxYgxqgGlQfRr4gPTqf+j86Q59Ad8PxyGxwvS95GWiQ0LAda
|
||||
MOgAmEVyPpHLnaKriZmL
|
||||
=VpSq
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.83.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnSHLpCRCFq5bm+hvl/gAAig8QAIkpHgGcK8Qro38chTZlsvYz
|
||||
AkhDVsc+I9j7L0mdw94vKFnUT3ll2DGrsJufqWPfX9hsopNjPWFpkIyvGfmUuLXA
|
||||
YphYacq6RAhmxeqf76fKx2HHF9g06O9eenbpvyCYuxG+2zxh14TpZq/LSgqn2ILp
|
||||
kQn4vVfLhGRL9cf4DBl4PcDJH0XRPkseU7490X4KurcQUh5dyBd0cXMDoVp96/8E
|
||||
IDwh9qS9vaxUfjmTcKXWoAj4kIqnjQgJXQlRs8nw4HSBgscjOcjG+bWi+2VS9jG4
|
||||
a4Q7nNdyTudeP3db0dcG8LFynMQmYroSOKV6BAVShWGcFnMglP67+I11vJH9YDws
|
||||
0potxDB3naBtGR558855rjle66vcfohwCHtbdQjebioJPIJOGIFI6WBvo3wlfLJn
|
||||
tb8Ben5kHvUH1E5j/TXM5SEYHbPgo/wdTZMdBoTS6/TtiRgw00RsM5SvRRgrYeNY
|
||||
vdw57PJhVeWixRPIkOU/MKV1ovBVuBmQUb9PXcQInZSOmNC7y1NaUX8BUTIW3PZI
|
||||
dRn2l63xsJhkpT+RyhVzE8Uk5VLCzXBDpIEayeH2caZWMCLesPbCJM5ZFXFoeuWh
|
||||
Ff9q+2/f6ZZ4zoEHASS1mXtIDrx48N+ZqzBTvh8Q7ZrIbYzQfKAwez3qJ3LqIKMz
|
||||
r0yAZj5bHoUHEcK69Sk4
|
||||
=2wjA
|
||||
-----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.83-rpmlintrc
Normal file
35
rust1.83-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 .*")
|
222
rust1.83.changes
Normal file
222
rust1.83.changes
Normal file
@ -0,0 +1,222 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 30 05:23:17 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Add tests-run-make-compiler-builtins-failed.patch: test failed on
|
||||
run-make/compiler-builtins.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 30 05:20:17 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
Version 1.83.0 (2024-11-28)
|
||||
==========================
|
||||
|
||||
Language
|
||||
--------
|
||||
- [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in const.](https://github.com/rust-lang/rust/pull/129195)
|
||||
- [Allow creating references to statics in `const` initializers.](https://github.com/rust-lang/rust/pull/129759)
|
||||
- [Implement raw lifetimes and labels (`'r#ident`).](https://github.com/rust-lang/rust/pull/126452)
|
||||
- [Define behavior when atomic and non-atomic reads race.](https://github.com/rust-lang/rust/pull/128778)
|
||||
- [Non-exhaustive structs may now be empty.](https://github.com/rust-lang/rust/pull/128934)
|
||||
- [Disallow implicit coercions from places of type `!`](https://github.com/rust-lang/rust/pull/129392)
|
||||
- [`const extern` functions can now be defined for other calling conventions.](https://github.com/rust-lang/rust/pull/129753)
|
||||
- [Stabilize `expr_2021` macro fragment specifier in all editions.](https://github.com/rust-lang/rust/pull/129972)
|
||||
- [The `non_local_definitions` lint now fires on less code and warns by default.](https://github.com/rust-lang/rust/pull/127117)
|
||||
|
||||
Compiler
|
||||
--------
|
||||
- [Deprecate unsound `-Csoft-float` flag.](https://github.com/rust-lang/rust/pull/129897)
|
||||
- Add many new tier 3 targets:
|
||||
- [`aarch64_unknown_nto_qnx700`](https://github.com/rust-lang/rust/pull/127897)
|
||||
- [`arm64e-apple-tvos`](https://github.com/rust-lang/rust/pull/130614)
|
||||
- [`armv7-rtems-eabihf`](https://github.com/rust-lang/rust/pull/127021)
|
||||
- [`loongarch64-unknown-linux-ohos`](https://github.com/rust-lang/rust/pull/130750)
|
||||
- [`riscv32-wrs-vxworks` and `riscv64-wrs-vxworks`](https://github.com/rust-lang/rust/pull/130549)
|
||||
- [`riscv32{e|em|emc}-unknown-none-elf`](https://github.com/rust-lang/rust/pull/130555)
|
||||
- [`x86_64-unknown-hurd-gnu`](https://github.com/rust-lang/rust/pull/128345)
|
||||
- [`x86_64-unknown-trusty`](https://github.com/rust-lang/rust/pull/130453)
|
||||
|
||||
Refer to Rust's [platform support page][platform-support-doc]
|
||||
for more information on Rust's tiered platform support.
|
||||
|
||||
Libraries
|
||||
---------
|
||||
- [Implement `PartialEq` for `ExitCode`.](https://github.com/rust-lang/rust/pull/127633)
|
||||
- [Document that `catch_unwind` can deal with foreign exceptions without UB, although the exact behavior is unspecified.](https://github.com/rust-lang/rust/pull/128321)
|
||||
- [Implement `Default` for `HashMap`/`HashSet` iterators that don't already have it.](https://github.com/rust-lang/rust/pull/128711)
|
||||
- [Bump Unicode to version 16.0.0.](https://github.com/rust-lang/rust/pull/130183)
|
||||
- [Change documentation of `ptr::add`/`sub` to not claim equivalence with `offset`.](https://github.com/rust-lang/rust/pull/130229)
|
||||
|
||||
Stabilized APIs
|
||||
---------------
|
||||
|
||||
- [`BufRead::skip_until`](https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.skip_until)
|
||||
- [`ControlFlow::break_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.break_value)
|
||||
- [`ControlFlow::continue_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.continue_value)
|
||||
- [`ControlFlow::map_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_break)
|
||||
- [`ControlFlow::map_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_continue)
|
||||
- [`DebugList::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugList.html#method.finish_non_exhaustive)
|
||||
- [`DebugMap::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugMap.html#method.finish_non_exhaustive)
|
||||
- [`DebugSet::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugSet.html#method.finish_non_exhaustive)
|
||||
- [`DebugTuple::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugTuple.html#method.finish_non_exhaustive)
|
||||
- [`ErrorKind::ArgumentListTooLong`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ArgumentListTooLong)
|
||||
- [`ErrorKind::Deadlock`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.Deadlock)
|
||||
- [`ErrorKind::DirectoryNotEmpty`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.DirectoryNotEmpty)
|
||||
- [`ErrorKind::ExecutableFileBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ExecutableFileBusy)
|
||||
- [`ErrorKind::FileTooLarge`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.FileTooLarge)
|
||||
- [`ErrorKind::HostUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.HostUnreachable)
|
||||
- [`ErrorKind::IsADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.IsADirectory)
|
||||
- [`ErrorKind::NetworkDown`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkDown)
|
||||
- [`ErrorKind::NetworkUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkUnreachable)
|
||||
- [`ErrorKind::NotADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotADirectory)
|
||||
- [`ErrorKind::NotSeekable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotSeekable)
|
||||
- [`ErrorKind::ReadOnlyFilesystem`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ReadOnlyFilesystem)
|
||||
- [`ErrorKind::ResourceBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ResourceBusy)
|
||||
- [`ErrorKind::StaleNetworkFileHandle`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StaleNetworkFileHandle)
|
||||
- [`ErrorKind::StorageFull`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StorageFull)
|
||||
- [`ErrorKind::TooManyLinks`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.TooManyLinks)
|
||||
- [`Option::get_or_insert_default`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.get_or_insert_default)
|
||||
- [`Waker::data`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.data)
|
||||
- [`Waker::new`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.new)
|
||||
- [`Waker::vtable`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.vtable)
|
||||
- [`char::MIN`](https://doc.rust-lang.org/stable/core/primitive.char.html#associatedconstant.MIN)
|
||||
- [`hash_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.insert_entry)
|
||||
- [`hash_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/struct.VacantEntry.html#method.insert_entry)
|
||||
|
||||
These APIs are now stable in const contexts:
|
||||
|
||||
- [`Cell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.Cell.html#method.into_inner)
|
||||
- [`Duration::as_secs_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f32)
|
||||
- [`Duration::as_secs_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f64)
|
||||
- [`Duration::div_duration_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f32)
|
||||
- [`Duration::div_duration_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f64)
|
||||
- [`MaybeUninit::as_mut_ptr`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.as_mut_ptr)
|
||||
- [`NonNull::as_mut`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_mut)
|
||||
- [`NonNull::copy_from`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from)
|
||||
- [`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
|
||||
- [`NonNull::copy_to`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to)
|
||||
- [`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
|
||||
- [`NonNull::slice_from_raw_parts`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.slice_from_raw_parts)
|
||||
- [`NonNull::write`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write)
|
||||
- [`NonNull::write_bytes`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_bytes)
|
||||
- [`NonNull::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_unaligned)
|
||||
- [`OnceCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.OnceCell.html#method.into_inner)
|
||||
- [`Option::as_mut`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut)
|
||||
- [`Option::expect`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.expect)
|
||||
- [`Option::replace`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.replace)
|
||||
- [`Option::take`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.take)
|
||||
- [`Option::unwrap`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap)
|
||||
- [`Option::unwrap_unchecked`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap_unchecked)
|
||||
- [`Option::<&_>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied)
|
||||
- [`Option::<&mut _>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied-1)
|
||||
- [`Option::<Option<_>>::flatten`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.flatten)
|
||||
- [`Option::<Result<_, _>>::transpose`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.transpose)
|
||||
- [`RefCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.RefCell.html#method.into_inner)
|
||||
- [`Result::as_mut`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.as_mut)
|
||||
- [`Result::<&_, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied)
|
||||
- [`Result::<&mut _, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied-1)
|
||||
- [`Result::<Option<_>, _>::transpose`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.transpose)
|
||||
- [`UnsafeCell::get_mut`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.get_mut)
|
||||
- [`UnsafeCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.into_inner)
|
||||
- [`array::from_mut`](https://doc.rust-lang.org/stable/core/array/fn.from_mut.html)
|
||||
- [`char::encode_utf8`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.encode_utf8)
|
||||
- [`{float}::classify`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.classify)
|
||||
- [`{float}::is_finite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_finite)
|
||||
- [`{float}::is_infinite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_infinite)
|
||||
- [`{float}::is_nan`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_nan)
|
||||
- [`{float}::is_normal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_normal)
|
||||
- [`{float}::is_sign_negative`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_negative)
|
||||
- [`{float}::is_sign_positive`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_positive)
|
||||
- [`{float}::is_subnormal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_subnormal)
|
||||
- [`{float}::from_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_bits)
|
||||
- [`{float}::from_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_be_bytes)
|
||||
- [`{float}::from_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_le_bytes)
|
||||
- [`{float}::from_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_ne_bytes)
|
||||
- [`{float}::to_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_bits)
|
||||
- [`{float}::to_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_be_bytes)
|
||||
- [`{float}::to_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_le_bytes)
|
||||
- [`{float}::to_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_ne_bytes)
|
||||
- [`mem::replace`](https://doc.rust-lang.org/stable/core/mem/fn.replace.html)
|
||||
- [`ptr::replace`](https://doc.rust-lang.org/stable/core/ptr/fn.replace.html)
|
||||
- [`ptr::slice_from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.slice_from_raw_parts_mut.html)
|
||||
- [`ptr::write`](https://doc.rust-lang.org/stable/core/ptr/fn.write.html)
|
||||
- [`ptr::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/fn.write_unaligned.html)
|
||||
- [`<*const _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to)
|
||||
- [`<*const _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping)
|
||||
- [`<*mut _>::copy_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from)
|
||||
- [`<*mut _>::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from_nonoverlapping)
|
||||
- [`<*mut _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to-1)
|
||||
- [`<*mut _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping-1)
|
||||
- [`<*mut _>::write`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write)
|
||||
- [`<*mut _>::write_bytes`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_bytes)
|
||||
- [`<*mut _>::write_unaligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_unaligned)
|
||||
- [`slice::from_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_mut.html)
|
||||
- [`slice::from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts_mut.html)
|
||||
- [`<[_]>::first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_mut)
|
||||
- [`<[_]>::last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_mut)
|
||||
- [`<[_]>::first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_chunk_mut)
|
||||
- [`<[_]>::last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_chunk_mut)
|
||||
- [`<[_]>::split_at_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut)
|
||||
- [`<[_]>::split_at_mut_checked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_checked)
|
||||
- [`<[_]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
|
||||
- [`<[_]>::split_first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_mut)
|
||||
- [`<[_]>::split_last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_mut)
|
||||
- [`<[_]>::split_first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_chunk_mut)
|
||||
- [`<[_]>::split_last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_chunk_mut)
|
||||
- [`str::as_bytes_mut`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_bytes_mut)
|
||||
- [`str::as_mut_ptr`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_mut_ptr)
|
||||
- [`str::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/core/str/fn.from_utf8_unchecked_mut.html)
|
||||
|
||||
|
||||
Cargo
|
||||
-----
|
||||
- [Introduced a new `CARGO_MANIFEST_PATH` environment variable, similar to `CARGO_MANIFEST_DIR` but pointing directly to the manifest file.](https://github.com/rust-lang/cargo/pull/14404/)
|
||||
- [Added `package.autolib` to the manifest, allowing `[lib]` auto-discovery to be disabled.](https://github.com/rust-lang/cargo/pull/14591/)
|
||||
- [Declare support level for each crate in Cargo's Charter / crate docs.](https://github.com/rust-lang/cargo/pull/14600/)
|
||||
- [Declare new Intentional Artifacts as 'small' changes.](https://github.com/rust-lang/cargo/pull/14599/)
|
||||
|
||||
|
||||
Rustdoc
|
||||
-------
|
||||
|
||||
- [The sidebar / hamburger menu table of contents now includes the `# headers` from the main item's doc comment](https://github.com/rust-lang/rust/pull/120736). This is similar to a third-party feature provided by the rustdoc-search-enhancements browser extension.
|
||||
|
||||
|
||||
Compatibility Notes
|
||||
-------------------
|
||||
- [Warn against function pointers using unsupported ABI strings.](https://github.com/rust-lang/rust/pull/128784)
|
||||
- [Check well-formedness of the source type's signature in fn pointer casts.](https://github.com/rust-lang/rust/pull/129021) This partly closes a soundness hole that comes when casting a function item to function pointer
|
||||
- [Use equality instead of subtyping when resolving type dependent paths.](https://github.com/rust-lang/rust/pull/129073)
|
||||
- Linking on macOS now correctly includes Rust's default deployment target. Due to a linker bug, you might have to pass `MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to point to the correct frameworks. See <https://github.com/rust-lang/rust/pull/129369>.
|
||||
- [Rust will now correctly raise an error for `repr(Rust)` written on non-`struct`/`enum`/`union` items, since it previous did not have any effect.](https://github.com/rust-lang/rust/pull/129422)
|
||||
- The future incompatibility lint `deprecated_cfg_attr_crate_type_name` [has been made into a hard error](https://github.com/rust-lang/rust/pull/129670). It was used to deny usage of `#![crate_type]` and `#![crate_name]` attributes in `#![cfg_attr]`, which required a hack in the compiler to be able to change the used crate type and crate name after cfg expansion.
|
||||
Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type = "...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name = "...")]` when running `rustc`/`cargo rustc` on the command line.
|
||||
Use of those two attributes outside of `#![cfg_attr]` continue to be fully supported.
|
||||
- Until now, paths into the sysroot were always prefixed with `/rustc/$hash` in diagnostics, codegen, backtrace, e.g.
|
||||
```
|
||||
thread 'main' panicked at 'hello world', map-panic.rs:2:50
|
||||
stack backtrace:
|
||||
0: std::panicking::begin_panic
|
||||
at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
|
||||
1: map_panic::main::{{closure}}
|
||||
at ./map-panic.rs:2:50
|
||||
2: core::option::Option<T>::map
|
||||
at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
|
||||
3: map_panic::main
|
||||
at ./map-panic.rs:2:30
|
||||
4: core::ops::function::FnOnce::call_once
|
||||
at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
|
||||
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
|
||||
```
|
||||
[RFC 3127 said](https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc)
|
||||
> We want to change this behaviour such that, when `rust-src` source files can be discovered, the virtual path is discarded and therefore the local path will be embedded, unless there is a `--remap-path-prefix` that causes this local path to be remapped in the usual way.
|
||||
|
||||
[#129687](https://github.com/rust-lang/rust/pull/129687) implements this behaviour, when `rust-src` is present at compile time, `rustc` replaces `/rustc/$hash` with a real path into the local `rust-src` component with best effort.
|
||||
To sanitize this, users must explicitly supply `--remap-path-prefix=<path to rust-src>=foo` or not have the `rust-src` component installed.
|
||||
- The allow-by-default `missing_docs` lint used to disable itself when invoked through `rustc --test`/`cargo test`, resulting in `#[expect(missing_docs)]` emitting false positives due to the expectation being wrongly unfulfilled. This behavior [has now been removed](https://github.com/rust-lang/rust/pull/130025), which allows `#[expect(missing_docs)]` to be fulfilled in all scenarios, but will also report new `missing_docs` diagnostics for publicly reachable `#[cfg(test)]` items, [integration test](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests) crate-level documentation, and publicly reachable items in integration tests.
|
||||
- [The `armv8r-none-eabihf` target now uses the Armv8-R required set of floating-point features.](https://github.com/rust-lang/rust/pull/130295)
|
||||
- [Fix a soundness bug where rustc wouldn't detect unconstrained higher-ranked lifetimes in a `dyn Trait`'s associated types that occur due to supertraits.](https://github.com/rust-lang/rust/pull/130367)
|
||||
- [Update the minimum external LLVM version to 18.](https://github.com/rust-lang/rust/pull/130487)
|
||||
- [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in favor of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia` respectively.](https://github.com/rust-lang/rust/pull/130657)
|
||||
- [The ABI-level exception class of a Rust panic is now encoded with native-endian bytes, so it is legible in hex dumps.](https://github.com/rust-lang/rust/pull/130897)
|
||||
- [Visual Studio 2013 is no longer supported for MSVC targets.](https://github.com/rust-lang/rust/pull/131070)
|
||||
- [The sysroot no longer contains the `std` dynamic library in its top-level `lib/` dir.](https://github.com/rust-lang/rust/pull/131188)
|
764
rust1.83.spec
Normal file
764
rust1.83.spec
Normal file
@ -0,0 +1,764 @@
|
||||
#
|
||||
# spec file for package rust1.83
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2019 Luke Jones, luke@ljones.dev
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global version_suffix 1.83
|
||||
%global version_current 1.83.0
|
||||
%global version_previous 1.82.0
|
||||
|
||||
%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.82%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.81%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.80%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.79%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.78%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.77%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.76%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.75%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.74%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.73%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.72%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.71%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.70%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.69%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.68%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.67%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.66%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.65%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.64%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.63%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.62%{?2:-%{2}}
|
||||
|
||||
# ⚠️ Must leave 1.62 here due to kernel requirements.
|
||||
|
||||
# Build the rust target triple.
|
||||
# Some rust arches don't match what SUSE labels them.
|
||||
%global rust_arch %{_arch}
|
||||
%global abi gnu
|
||||
|
||||
%ifarch armv7hl
|
||||
%global rust_arch armv7
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch armv6hl
|
||||
%global rust_arch arm
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch ppc
|
||||
%global rust_arch powerpc
|
||||
%endif
|
||||
|
||||
%ifarch ppc64
|
||||
%global rust_arch powerpc64
|
||||
%endif
|
||||
|
||||
%ifarch ppc64le
|
||||
%global rust_arch powerpc64le
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%global rust_arch riscv64gc
|
||||
%endif
|
||||
|
||||
# Must restrict the x86 build to i686 since i586 is currently
|
||||
# unsupported
|
||||
%ifarch %{ix86}
|
||||
%global rust_arch i686
|
||||
%endif
|
||||
|
||||
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
||||
|
||||
# Web Assembly targets
|
||||
%define rust_wasm_targets %{?with_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 almost all cases, distro llvm doesn't work for rust. Rust additionally provides
|
||||
# patches and features in their bundled llvm. We use it by default.
|
||||
#
|
||||
|
||||
# === Use clang/lld during build if possible ===
|
||||
# i586 - unable to link libatomic
|
||||
# aarch64 - fails due to an invalid linker flag
|
||||
#
|
||||
%bcond_with llvmtools
|
||||
|
||||
# Depending on our environment, we may need to configure our linker in a different manner.
|
||||
|
||||
# If we elect for llvm, always use clang.
|
||||
%if %{with llvmtools}
|
||||
%define rust_linker clang
|
||||
%else
|
||||
%if 0%{?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
|
||||
Patch1: ppc64le-float.patch
|
||||
Patch2: tests-run-make-compiler-builtins-failed.patch
|
||||
# IMPORTANT - To generate patches for submodules in git so they apply relatively you can use
|
||||
# git format-patch --text --dst-prefix=b/src/tools/cargo/ HEAD~2
|
||||
|
||||
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} <= 150300
|
||||
# In these distros cmake is 2.x, or 3.X < 3.13, so we need cmake3 for building llvm.
|
||||
BuildRequires: cmake3 >= 3.20.0
|
||||
%else
|
||||
BuildRequires: cmake >= 3.20.0
|
||||
%endif
|
||||
|
||||
# To build rust-lld
|
||||
BuildRequires: ninja
|
||||
|
||||
%if %{with test}
|
||||
BuildRequires: cargo%{version_suffix} = %{version}
|
||||
BuildRequires: rust%{version_suffix} = %{version}
|
||||
# Static linking tests need this.
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: git
|
||||
|
||||
%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 - OBS does like to lie about resources on builders.
|
||||
lscpu
|
||||
free -h
|
||||
df -h
|
||||
|
||||
%build
|
||||
|
||||
# Create exports file
|
||||
# Keep all the "export VARIABLE" together here, so they can be
|
||||
# reread in the %%install section below.
|
||||
# If the environments between build and install and different,
|
||||
# everything will be rebuilt during installation!
|
||||
|
||||
%if %{with llvmtools}
|
||||
cat > .env.sh <<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
|
||||
|
||||
# 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/ } \
|
||||
%{?with_wasi: --set target.wasm32-wasi.ar=%{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/llvm-ar } \
|
||||
%{?with_wasi: --set target.wasm32-wasi.ranlib=%{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/llvm-ar } \
|
||||
--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} \
|
||||
--disable-llvm-link-shared --set llvm.link-jobs=0 \
|
||||
--set target.%{rust_triple}.profiler=true \
|
||||
%{?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 \
|
||||
%{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
|
||||
|
||||
# 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
|
||||
|
||||
# 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.
|
||||
#
|
||||
# Exclude mte-ffi as aarch64-linux-gnu-gcc isn't available
|
||||
|
||||
%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 tests/run-make/mte-ffi \
|
||||
--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.83.0-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
rustc-1.83.0-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
12
tests-run-make-compiler-builtins-failed.patch
Normal file
12
tests-run-make-compiler-builtins-failed.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/tests/run-make/compiler-builtins/rmake.rs b/tests/run-make/compiler-builtins/rmake.rs
|
||||
index 10093db2258..ad533f80266 100644
|
||||
--- a/tests/run-make/compiler-builtins/rmake.rs
|
||||
+++ b/tests/run-make/compiler-builtins/rmake.rs
|
||||
@@ -11,6 +11,7 @@
|
||||
// wasm and nvptx targets don't produce rlib files that object can parse.
|
||||
//@ ignore-wasm
|
||||
//@ ignore-nvptx64
|
||||
+//@ only-nightly
|
||||
|
||||
#![deny(warnings)]
|
||||
|
Loading…
Reference in New Issue
Block a user