Sync from SUSE:SLFO:Main rust1.79 revision bb2d10b8dbe1674b169839a3e4c2b4e5
This commit is contained in:
commit
2976fa7834
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.79.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavaiCRCFq5bm+hvl/gAA/+QP/iDA7CspPK/ZjE/Drh9gzvUq
|
||||
i7e/ANs93sEzZU4J3todk+iUZyDWghRSeP5Jk4rHSHnVdf7MH0+BQUzBm85HP4vu
|
||||
vDGtldKANlEkUCpiJ38sk+PknXLL7bTPPkQ3yy7yB2diA7wysmQX5Fy3cVKDubfD
|
||||
cbvFfer1CJo1wPGXwwjPlDk3MfiFUVUvsD9x0YJ3ZLv/Mk0/6knXVGl6XVhvD4ZO
|
||||
nfAHqJcRtwqRykUYecG7JIbB/XW7zs1IMfIc5h+FsJrSF8QsTxZwEvgRO51L6VGq
|
||||
a8kU9me+ltj+nBpx7ApLqY2ZmIy6IJB12rOlByOKrfeA8KUAV7Fa45evkdeQwBYU
|
||||
qP1BE5wERNPGH2KDNExzI0D7G8OZw/FwMBXdfz+Ni+pJIZ32mX8fFEYSqZRUqezL
|
||||
KynaoedXXHypvRZ4I56w5sT9MzxMLksgaDT0Q++YG/Qt7yZxBUL/Aw/8wStYUCK4
|
||||
6kww7k4qBJxGEsOAr2wY2qyvGRCfehZtDryMnpZRw4MODqImWbSFslMh7i40p/SH
|
||||
RePnH+DriKQX6jxxJt/otDGsXk7BLQc3/XKawUpXpUPzePeqUTVM7eNrjYt7oPNe
|
||||
fmP55Brt1SjoDMenpLTmTy8UIZ8SwGWwH+3mhwP3AFNW/w2lGYKr0WNv+9uxWJII
|
||||
l/VUUhclcU3rmm6PdzOf
|
||||
=jedl
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.79.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavahCRCFq5bm+hvl/gAAwFAP/jQzu9YWLgz6OS6f7H9uyOTC
|
||||
srTHHGiDfgt4dx4CC4zcMR4DwpU/2ogKSsIoXj1q8SzO+lUD+4UKOtdHUgxxbIb5
|
||||
Kpe8nev8kVNffW/d8fCsWcZVBf+ohza38qpDTiHqykj8fyrWaCmaj8oeQU2Rvf9C
|
||||
2DFDdRivKHeTD0+z/BWvkfVrCsXnvYmWkOP2lIFYf8sSd45z7Ts9abhiVpbyQZWx
|
||||
zuP7SxuQOnGZdD72xZ7mufOHcpCuBpyPbCtTz2K3rMR8yF0Dn2iCPRd3yrneSbyW
|
||||
vKxCnmdXbiL2CYDudg4UEjtkQMqCMDDE6OmZY2TG1x49XyXCfnHT81o5zYvtil0R
|
||||
uaAcIvIXHVhPvlvjZzUr7r6Y1/f8QPKJ563D8e498bGjlaYUbFYuI9jilznp6++u
|
||||
VYiqNOmm1vlkVbFJDknv+dhDSY6eNY9ps2+8KJQis0mQIQW9awFDL9pnmO5a55bJ
|
||||
HVxDaT7VuleemlrJxZCwAnEulpnIUJq5H5jDjq4XSopVx1tD6WtECoxFxG9oJ76R
|
||||
2MraVU0iR3TPZ46bPF4A+cQf4ppunvbVq10qxAOL/X+358Ijz+NjGgpzz4NXxFze
|
||||
XXsz+q7ydSI3XOIDt8iDIqvMGaZBAUa0r5DX7Z1O7VhqIRw8pHfN51NzanyWz4eZ
|
||||
K65LaAO1UFRyp5MNBiIx
|
||||
=oF7T
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.79.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavafCRCFq5bm+hvl/gAAfPAQAII3mN1BuSX5J8TDDbMa7kn2
|
||||
lMKraTpTV7gYoecC4UApiVAuCP9RYtPkqJkQKj1ok80QIhxTOWE8pMTr7K8xZo8X
|
||||
5rq0xosUnwH4fojRGuVrpYyCwGCm4XqLvqLd6GfgsDAFa6rhVAhFVZ62H2yAxE2X
|
||||
HEe3JN9ZFtDDPLUQATi4QH1Sv2NOdb065Q3JBn7Gl16mHnkBupC0bXyNcvnt9MUO
|
||||
N9VkFC2jx2UvmFeDdGfw+7Cn/ndiZhN+G1WWkQe3A7KG7eW1I/yaKn5TFwZaJLYC
|
||||
2KGwJYbiXpxGbiYW/y2lc6qQbP1f/kGCAjb7v+JmzwtS9hpukfr9hvRUJuCVjlXJ
|
||||
ijD+rQpFeOm0lVJNNZXsSZCGnjX0TqGSoSvtqI5jgDyzQ4hm1Uj56/TjTTmcgxkT
|
||||
tnrGR9fAb8M7degyPBq5d3LwyrypOiUu6TmOxlvP9p7s/j4NpPq1Vo93zPoeBGHP
|
||||
5+k+0cAvUF26gKAqrA4LUG8lvVdDsJz/vaV3ZAmDYgsaHSsEeNzaJpMJM8t11fuf
|
||||
M1HH/9eS7jCugQzhTNH1hfcWzz20S2by/9IOrKlv4fmurXd2r44sqTkEMEd1QMDp
|
||||
p7sz8f2JeIENSCP+hRrvs9UBuBoFujzqLyBgpNW/+fcneUiv231DIk1Z09wW1sYf
|
||||
E1f+2gAgIJnMFH4zzUZe
|
||||
=YTiV
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavahCRCFq5bm+hvl/gAAJuoP/3dHOK5BomOn/CGfnl1c25ie
|
||||
SSSrBevH/5hHZ1y+1zgcdc2gQ5m4liFS26pnumfQv1LPwa7f9TmRriTHGvKQ/m1o
|
||||
cx4yFg5Kl91g+dauvK9g7LwDR6PQxhN31W8SbjMBUHuR7SdI/ud4AjNUdWjMquEr
|
||||
iWgEILO+BGqSQIQ5fWSGMYW+LIGrwXIxoFST2jJiEj6cjo8a+UHXq5bhCbnI/RKI
|
||||
Ux7sOeSgdeoTVnrMcx/sK2s+KYkbhdlIH7aEvxXETs/1DrJLRzw8WfQGDtiQBBPk
|
||||
6L0w0ZQrclyt4jKFSxdORJlzKwnJCEOHVvCfMoapPNPj+fegdPmjPuvbXg/qdpYJ
|
||||
Tp1zuKK3jUP0tzz17Aop0dakCToj1c1Su1IkP2pyiAYeXyx6e69NUrm25onj8Ik9
|
||||
pMrq+Tdwy/RG4Ajitm16yM9nxHf9Dz4JnDMEupxYGLSB74kU+HWA09M9rf1zC/Ky
|
||||
GftX2Zd3Alk+xrsy8JGAebqvMzTM2kgwQqD2ejbKJGLpo1REjVf4zsHiSFVhg1VR
|
||||
16JbGizMZY8iLeCRYgXcD+DRQvvWTaI8CqlGWx7DT+n8ienXZymQxnpK6F8a6FwP
|
||||
TUEUziS3qI+I3/sPnCRolEvYrIlfns7MJYg4YqYCmPqR1hkSeRYcHfkSEuR8GR82
|
||||
xby1yjUSD0bqzSlGKF1G
|
||||
=m2uG
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavaiCRCFq5bm+hvl/gAA7F8P/1GAQn2M+zzjSa0hOjqxZ5Ed
|
||||
lMBx+egI9GALJab8NQZr6T045e1V6FDrlmfRSP53eJmhC+chr11x+NLmq+oGsT+K
|
||||
gR+GwLSlSqshZletloLh0mCA7sehxz4JYCePBJdd7rnvo0nzQ9tAXdkJnwvJOvGw
|
||||
LhPfaWC3tWZCTiQxK+DtkFna7ohy7f6Z1uxHOxvbloV62s3ivn0HXcvUkPTBewJc
|
||||
LJOM+Houitjd8k1f+B4MEf70CdClRd0x4IEu6Uul6EAap2zPghsHIByK+3qCNa0F
|
||||
BBbyySrq6sbzmiW6wpxnfQoscukY6i7Ll+Mtud2qupa1c7pJ8tpgTZ03uly0OW3o
|
||||
iF8ixAecpaHJ+mcXFsLCyBxmmCaeq44g1iC5oschQV21NkglTOrTMkEsqIkWvOIa
|
||||
IljoXijGJijW2QXM+LLjxHbgu7hFOFSh3yEyu6+/8QfqTMs7U4NcODDznJxHf49p
|
||||
7VXTFAlIlG4sAgBHuJ9Mfth8dndG84xtUDCH8K9yQ4RMcdXqv/HLcEWrtWhpcxLR
|
||||
1zy7egjB/Mi+l8pliurMizQTDfLUq7y3S8HXzH0N+Ecpg9zoxZo2halEOKlAAGM9
|
||||
ah19DdcMsm84xzW+BnQZPJhKbETkaIsiJg7sRjfSmIhfsKYQbmvi35kdT59QsLku
|
||||
aIhhRyt7N0hm5MCxZ+9g
|
||||
=kgyJ
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavafCRCFq5bm+hvl/gAA0wUP/2cBEgOfvHBS4h5S2YHRDO8r
|
||||
kbwEewZmlank77iWBaKLXQfJW2NjvDfW36dNiFXxz2Beut2uEuzs0/qHAOXfpVNP
|
||||
3XBFgV1Np8Kug7MwMwQSed41t/+FS1pZbRjKdcrjs7gbAjbMaDjASwDhPe79+g1I
|
||||
m0dY27tXrJnA3FEU5QKvqmspTljub4VhuT0psdV9coNkHyvfuABNpkQ57LVssAVn
|
||||
WfJzX6+sXbgG917VL4KFpNfg3vxJxRYc/mSLDQsbTHz/jGOvktHfo36zUTvLgSl1
|
||||
6JRHKoufJWYQTj4jv14RCt19dfdwdqay3bOJ4GJ/t/m/RnQFiKKzpYAPMCL4o2DY
|
||||
/tZs+9cwbCQQXAirh+oCah2K39DJ9F7HFqtmkva7Dp7M0jOncACSZBp8wWY/Dwkn
|
||||
vZO0r+0/rFtQWAicRkvaeus1+gLdfn4AUo4rrH7c1pMWvfgwoi9xgAnnOeKznfVH
|
||||
ROy77ExsBj1KlkMd0T/nVKZ+DUt+y6IGqsBt5BZ/FoOmleHT8VcZPxTdux10gcJR
|
||||
1xVzHQV8xVz3z4YH43miKT2IWJSLburMfvCHgdAlcMqqjglWYSvWgJRokoR+XToq
|
||||
OkAe6Vdcs0v7oNamnWxqpIU467nhQ45OjgijzTAEuA7F/Eymu04it+a609ToaahD
|
||||
okKCnVVNo4Lv1ycYVLqu
|
||||
=T+LI
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavafCRCFq5bm+hvl/gAAG7QQAK9Cm79fqJsFqbtTyG5jNvSP
|
||||
Qp4atZbrvP0s70mXZ97ojhxUbpvbVFF902xZPcrhHgKP+oFTXba6GpLXkrIrDNEt
|
||||
BWam5IiUK/lxa/Uhoux8nL54qfS1xXiUjgNFRLLRfwyNkDP8IVESfHTtClfAH6be
|
||||
pI2unhXn8k7/U4KsbbVxSuy9yNmQaQG9qDWOC4v26VoqPV3GfxXZdGoIW12hc7Bz
|
||||
I6JYIypVuNxt3/0ggABs1ATbDXNc9y8034xuD6z28Hm0sDN0qmISflSb+3yb9s6g
|
||||
ktBSOsRWaaVVJvxF0WZ15pUGsOf6ewc+JCQX5OZSICa1kKtlQ3w8Hf0u0muAWCJB
|
||||
kjlLkOV0k1JB94EqDXMRB5OsehiI9KPuEy0gl3cU1Ill2C/ay9Nx/lzpXTOEh/Y/
|
||||
r7WSL8BRH5/FL6mE3JwoZfVqY83BsktnRbGy6cvDQ/SYauiyWP12FtY8hPZ011TX
|
||||
FnSpVHL4wkBgERp1samkpkPKVKakBalTgsTQQ70GjwoFymMX9nFUbS0nI+wOWfY0
|
||||
TdJkJdpvMrRydeYFZ2KU/qz4xDqFRLdbiNG44u4G7dNmHsMNlFXzMCGwFCe1IJ9V
|
||||
T6vzUqMFK+Rr8EbE/TEsAiscRdPu4oMYCRQ01ThUmfJCBnmbAmL2q8wTWWEsDDAV
|
||||
wSfMEUrPerxwtbMQN0/c
|
||||
=nobM
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavafCRCFq5bm+hvl/gAAyMMP/R6WTJT42E9rTVQfmHd2REeB
|
||||
cO+MOO5rIu1xoiTcc8rF7kuHZcAcRgJHthD+dJlCZOa/xPHnKDzeS+s9k8vVkSEB
|
||||
R5xK2vswRB8gmMRIBqTLQRPha/AWmBXqrNVYip2xbuxbbP9WdukkIuIAi51ndQth
|
||||
sHrTYQEgmLa1MWX8qfIfw+UgtCo4hWl47EfnLs9hZ+xwoiBNBxzaqVXQOjvme2Lv
|
||||
inB6if7pDGrZZGSy220QPHGmhstLH8srtfZe8pA83P7svoSz5/DAdOOwan5ktpNk
|
||||
7/12fSF39B1AA0VdjzP3X4HEMqBZJLy/WGdbvjlu793sPXVNrxu+aw8SMjsrSsux
|
||||
KfrUTyELIyN/DXESF1DXpzVC6Os53J0DpOhtedp4SfrbOliy7bvOqHreBHjmjALN
|
||||
LTUL2w2QVLWP/3+g+os3MwAXJjzUeonXK5yqZ06Cfwe+FvoTdsxhOvLnQnIdF/wg
|
||||
jq6O/PRTiKeZ80fdsnZ0Pc3l8NowBINMHaIEWJEQG1mb9Cu+l4eJ8vp1eVqf7VDl
|
||||
vyXDtLwpTn+h9ueX1oYzYN18uZAM3dKFZtzZ49FFlhY32QNwPqO6d26QkOc/vUsL
|
||||
NhPpcJuSROBTnVxXYl7xDreAIhsIQiBqV+mVru6b1SzG9WfNEpHbTaAU679saDaQ
|
||||
nqTtuTrod2j9uIzWFDr/
|
||||
=99qP
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavaiCRCFq5bm+hvl/gAAnqwP/0W0fhWLFfsauzVUGOcxe6xF
|
||||
YJZ4x3fFG+5jucX+CbX10Og/wigVFHsu23qn8BblRTZrTzGQdgQF93K+6vAHMCE8
|
||||
kCvlqMcAEYpv84CQoJR3pacAhHQO/hnr+42hUhN0UzEs3LeRCzjaLsf7mLrSh6vl
|
||||
MUa7qlQ6lD3Pi2a7MX1+61/neX17xmqG1zALJpUhqyNnZTd0gxHE4ukD5qYwC8b5
|
||||
wJ+H6AHcMuLp5S7+7b1SoAIiga7NfB9XtvjGXJGOv7FnfOMWtmsrWuvgnG91BSBu
|
||||
MSNG5a4xYCspaw1MdrditiLBUsoQ5MVB0+qWUBYJcenVJjEZmG2eO6qkDVgQ8cor
|
||||
4N3zmS0vIejqPtDIcx2C+RIS8Hq7Dlw9jD1enmQudw1ugR1fj8Gf3suZ84zNS8gN
|
||||
TaS6NLX7yjKESy4In/vOK+T+Q7PX9x1HD72Hh5tiMhX/CRrPRUcyUFv60N7wt3dS
|
||||
MQFTpdc/Yx46ZGYk/qBzjjUwdxVH8zx3oIikx9yXGSkstpspTBz7S9y5kp89EpIt
|
||||
YRxZLO19NgqdrzdSLmZ5VIiigkZ9hHl25KF6XXyu9pGlRyiluSO+pZdaW4b/1nRL
|
||||
jrvixdqvWbgtMVL5JBBAB0MuFr0r6YzOE+iFUt6CxUoi8m2CoM4V2hYk2S6ku0Yr
|
||||
oWSRKwhy06hiy+faVtnZ
|
||||
=e1cx
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.79.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmavahCRCFq5bm+hvl/gAA1O8QANQwzb3HJMM94DBcFEsDXCZE
|
||||
UF072iFir6diq1VQVBXJy7eG0ufJJuD+JnrDKPVKhj5MELWWwZuXJuksHiTci98f
|
||||
sNsG/PTEiNkSQ14xm5xjDCODBJriixjKiDqEwBnkIds9l6K8tJMkT7WwpyNqoMXF
|
||||
1GUb7RcdD/LXvb465hRXVWkQ+ML85nFmZJOIdc8w3WXFZIelwKPhNJ/UF00wGP67
|
||||
75uUe9ps0RTN4omwuRRF7etsTq9Xpm/FmsrzMBKoUQVI/LgHIP1Cd8Z/HXdGSgLt
|
||||
MPWBGeba1pe1sPoGM6/D9e39Vh/va1xuUChAM6XDWT4wIrixcYb78ij3yAGd673V
|
||||
BStXUUTRTDGlfgFBtJNCQZR3K78hc9G7GnWVrU2QbbQeaicevoDEUvaoFkj0ncXk
|
||||
zRCaKiTf3xW7EeMEt6n0N+zGWrW5IsfrUiV6/ufI0STcN/MX7cIkLJwtC0NUfGff
|
||||
emWOommqOwd/fZZINUnApCGjvhuNLt5Sb+KAvJDsquTO7jEczNHBl8fiBDj5aqK3
|
||||
GhlQ0gbGqmBqXFkI8AueKKcxDxNOqIX9rc4twTcZAqP9MfSTM9K0vkPapt+JvOkX
|
||||
ahdOXBX/LsiTZLaxCNO86gTJHb0u9v3Y4AHDVwQq9kBPXribw6MHzb06ldtjpGq+
|
||||
GmbSc03ZAiC1DDQqE1QQ
|
||||
=+i4h
|
||||
-----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-----
|
30
rust1.79-rpmlintrc
Normal file
30
rust1.79-rpmlintrc
Normal file
@ -0,0 +1,30 @@
|
||||
# we are exporting the buildroot, not changing it, this lint is wrong.
|
||||
addFilter("rpm-buildroot-usage")
|
||||
|
||||
# rlib not in elf format
|
||||
# addFilter("binaryinfo-readelf-failed.*/usr/lib/rustlib/.*rlib")
|
||||
|
||||
# rust has no stable ABI as of yet, soname is of no use yet
|
||||
addFilter("no-soname.*/usr/lib/rustlib/.*")
|
||||
addFilter("no-soname.*/usr/lib/lib*")
|
||||
|
||||
# error when building with bootstrap. ignore for now
|
||||
# addFilter(".*shlib-policy-name-error.*libLLVM-11.*")
|
||||
|
||||
# Rustc driver calls exit, this is fine
|
||||
# addFilter(".*shared-lib-calls-exit.*/usr/lib/librustc_driver.*")
|
||||
# addFilter("potential-bashisms.*/usr/bin/rust-lldb")
|
||||
# addFilter("position-independent-executable-suggested.*/usr/bin/rust-llvm-dwp")
|
||||
|
||||
addFilter("non-devel-file-in-devel-package /usr/lib/.*so")
|
||||
# addFilter("non-devel-file-in-devel-package /usr/lib/rustlib/.*")
|
||||
|
||||
## Sssshhh warnings, we know. This is intentional so that linking
|
||||
# works properly during users build times.
|
||||
addFilter("devel-dependency glibc-devel")
|
||||
|
||||
# Can't read wasm files, that's okay.
|
||||
addFilter("readelf-failed /usr/lib/rustlib/wasm32-wasi/lib/self-contained/libc.a")
|
||||
|
||||
# We know, it's okay.
|
||||
addFilter("obsolete-not-provided .*")
|
114
rust1.79.changes
Normal file
114
rust1.79.changes
Normal file
@ -0,0 +1,114 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 14 06:45:06 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
Version 1.79.0 (2024-06-13)
|
||||
==========================
|
||||
|
||||
Language
|
||||
--------
|
||||
- [Stabilize inline `const {}` expressions.](https://github.com/rust-lang/rust/pull/104087/)
|
||||
- [Prevent opaque types being instantiated twice with different regions within the same function.](https://github.com/rust-lang/rust/pull/116935/)
|
||||
- [Stabilize WebAssembly target features that are in phase 4 and 5.](https://github.com/rust-lang/rust/pull/117457/)
|
||||
- [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://github.com/rust-lang/rust/pull/118391/)
|
||||
- [Stabilize the `unnameable_types` lint for public types that can't be named.](https://github.com/rust-lang/rust/pull/120144/)
|
||||
- [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://github.com/rust-lang/rust/pull/120845/)
|
||||
- [Propagate temporary lifetime extension into `if` and `match` expressions.](https://github.com/rust-lang/rust/pull/121346/)
|
||||
- [Restrict promotion of `const fn` calls.](https://github.com/rust-lang/rust/pull/121557/)
|
||||
- [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.](https://github.com/rust-lang/rust/pull/121720/)
|
||||
- [Stabilize associated type bounds (RFC 2289).](https://github.com/rust-lang/rust/pull/122055/)
|
||||
- [Stabilize importing `main` from other modules or crates.](https://github.com/rust-lang/rust/pull/122060/)
|
||||
- [Check return types of function types for well-formedness](https://github.com/rust-lang/rust/pull/115538)
|
||||
- [Rework `impl Trait` lifetime inference](https://github.com/rust-lang/rust/pull/116891/)
|
||||
- [Change inductive trait solver cycles to be ambiguous](https://github.com/rust-lang/rust/pull/122791)
|
||||
|
||||
Compiler
|
||||
--------
|
||||
- [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://github.com/rust-lang/rust/pull/115120/)
|
||||
- [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://github.com/rust-lang/rust/pull/121694/)
|
||||
- [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.](https://github.com/rust-lang/rust/pull/123501/)
|
||||
*Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
|
||||
- [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://github.com/rust-lang/rust/pull/121419/)
|
||||
- [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://github.com/rust-lang/rust/pull/122696/)
|
||||
- [Promote several Windows targets to tier 2](https://github.com/rust-lang/rust/pull/121712): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.
|
||||
|
||||
Refer to Rust's [platform support page][platform-support-doc]
|
||||
for more information on Rust's tiered platform support.
|
||||
|
||||
Libraries
|
||||
---------
|
||||
|
||||
- [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://github.com/rust-lang/rust/pull/107462/)
|
||||
- [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://github.com/rust-lang/rust/pull/121952/)
|
||||
- [Document overrides of `clone_from()` in core/std.](https://github.com/rust-lang/rust/pull/122201/)
|
||||
- [Link MSVC default lib in core.](https://github.com/rust-lang/rust/pull/122268/)
|
||||
- [Caution against using `transmute` between pointers and integers.](https://github.com/rust-lang/rust/pull/122379/)
|
||||
- [Enable frame pointers for the standard library.](https://github.com/rust-lang/rust/pull/122646/)
|
||||
|
||||
Stabilized APIs
|
||||
---------------
|
||||
|
||||
- [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
|
||||
- [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
|
||||
- [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
|
||||
- [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
|
||||
- [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
|
||||
- [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks)
|
||||
- [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
|
||||
- [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
|
||||
- [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
|
||||
- [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
|
||||
- [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
|
||||
- [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
|
||||
- [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
|
||||
- [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
|
||||
- [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
|
||||
- [`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
|
||||
- [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
|
||||
- [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
|
||||
- [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
|
||||
- [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
|
||||
- [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
|
||||
- [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)
|
||||
|
||||
These APIs are now stable in const contexts:
|
||||
|
||||
- [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
|
||||
- [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
|
||||
- [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
|
||||
- [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
|
||||
- [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html)
|
||||
- [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
|
||||
- [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html)
|
||||
- [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
|
||||
- [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
|
||||
- [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
|
||||
- [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)
|
||||
|
||||
Cargo
|
||||
-----
|
||||
|
||||
- [Prevent dashes in `lib.name`, always normalizing to `_`.](https://github.com/rust-lang/cargo/pull/12783/)
|
||||
- [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://github.com/rust-lang/cargo/pull/13608/)
|
||||
- [Switch to using `gitoxide` by default for listing files.](https://github.com/rust-lang/cargo/pull/13696/)
|
||||
- [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://github.com/rust-lang/cargo/pull/13747/)
|
||||
|
||||
Rustdoc
|
||||
-----
|
||||
|
||||
- [Always display stability version even if it's the same as the containing item.](https://github.com/rust-lang/rust/pull/118441/)
|
||||
- [Show a single search result for items with multiple paths.](https://github.com/rust-lang/rust/pull/119912/)
|
||||
- [Support typing `/` in docs to begin a search.](https://github.com/rust-lang/rust/pull/123355/)
|
||||
|
||||
Misc
|
||||
----
|
||||
|
||||
Compatibility Notes
|
||||
-------------------
|
||||
|
||||
- [Update the minimum external LLVM to 17.](https://github.com/rust-lang/rust/pull/122649/)
|
||||
- [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
|
||||
from the prelude in next edition.](https://github.com/rust-lang/rust/pull/116016/)
|
||||
- [The `wasm_c_abi` future-incompatibility lint will warn about use of the
|
||||
non-spec-compliant C ABI.](https://github.com/rust-lang/rust/pull/117918/)
|
||||
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
|
||||
- [Check return types of function types for well-formedness](https://github.com/rust-lang/rust/pull/115538)
|
769
rust1.79.spec
Normal file
769
rust1.79.spec
Normal file
@ -0,0 +1,769 @@
|
||||
#
|
||||
# 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.79
|
||||
%global version_current 1.79.0
|
||||
%global version_previous 1.78.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.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.
|
||||
|
||||
%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,rustdoc" \
|
||||
--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
|
||||
%{_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
|
||||
# End not with test
|
||||
%endif
|
||||
|
||||
%changelog
|
BIN
rustc-1.79.0-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
rustc-1.79.0-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user