Accepting request 900678 from home:firstyear:rust_versioned
- Update to version 1.53: + Language - [You can now use unicode for identifiers.][83799] This allows multilingual identifiers but still doesn't allow glyphs that are not considered characters such as `◆` or `🦀`. More specifically you can now use any identifier that matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages. - [You can now specify "or patterns" inside pattern matches.][79278] Previously you could only use `|` (OR) on complete patterns. E.g. ```rust let x = Some(2u8); // Before matches!(x, Some(1) | Some(2)); // Now matches!(x, Some(1 | 2)); ``` - [Added the `:pat_param` `macro_rules!` matcher.][83386] This matcher has the same semantics as the `:pat` matcher. This is to allow `:pat` to change semantics to being a pattern fragment in a future edition. + Compiler - [Updated the minimum external LLVM version to LLVM 10.][83387] - [Added Tier 3\* support for the `wasm64-unknown-unknown` target.][80525] - [Improved debuginfo for closures and async functions on Windows MSVC.][83941] \* Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. + Libraries - [Abort messages will now forward to `android_set_abort_message` on Android platforms when available.][81469] - [`slice::IterMut<'_, T>` now implements `AsRef<[T]>`][82771] OBS-URL: https://build.opensuse.org/request/show/900678 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=292
This commit is contained in:
parent
9b60c66f20
commit
a3c479174a
1
README
Normal file
1
README
Normal file
@ -0,0 +1 @@
|
||||
This is a package that depends on the current latest rust for the distribution
|
@ -1,62 +0,0 @@
|
||||
# Automatic updating via _service
|
||||
|
||||
Edit the spec file, and update the variables related with the version
|
||||
(in format X.YY.Z):
|
||||
|
||||
- *version_current*: for the new version of Rust
|
||||
- *version_previous*: for the previous version of Rust
|
||||
- *version_bootstrap*: for the version used to compile Rust, it
|
||||
recommended to use the same version that *version_previous*
|
||||
- *rustfmt_version*: for the version of rustfmt cli, check the tarball
|
||||
to find the correct version
|
||||
- *clippy_version*: for the version of clippy, check the tarball to
|
||||
find the correct version
|
||||
|
||||
After that, we can execute the service file:
|
||||
|
||||
osc service disabledrun
|
||||
|
||||
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.
|
49
_constraints
49
_constraints
@ -1,49 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<processors>8</processors>
|
||||
<memory>
|
||||
<size unit="G">8</size>
|
||||
</memory>
|
||||
<disk>
|
||||
<size unit="G">20</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
<!-- i586, armv6 and armv7 tend to run out of memory during builds -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>i586</arch>
|
||||
<arch>armv6l</arch>
|
||||
<arch>armv7l</arch>
|
||||
<arch>ppc</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<processors>2</processors>
|
||||
<physicalmemory>
|
||||
<size unit="G">4</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<!-- x86_64 to use physical memory to speed builds up -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="G">11</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<!-- aarch64 is a time consuming build, try to use RAM -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="G">11</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
9
_service
9
_service
@ -1,9 +0,0 @@
|
||||
<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>
|
@ -1,17 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f0359cc4e83253eaa86e74724b457509932bbc4f3bb2311021fa43e5965d38eb
|
||||
size 208849064
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJd2CRCFq5bm+hvl/gAAiqIP/0qj9FaKS7UCOr9p/XWov9ts
|
||||
yB0uq5eJHkKwsgWTrUygEPgeVi070lb7o4oRDbrEBNp5mBh/pM7y/I17pVMfoSiP
|
||||
kA/VqyNSFi/RXnMdPYLyG19FU6fo1jl/7T1TZXouUY/Dv9lX4d9gngg186qPBXi6
|
||||
miG7dKK08mpaEN+9FiVMuVzx+/5nZv4FfZZ073Yox19gRr/YsDnLtgPsZIzDQkyf
|
||||
EXP7d0O9qU9X0JRMs+PaQ51+rX3Uiaoq1/3DNnitHQben93RXbOIjrWNqvYvjpNW
|
||||
WbIow/b2YcBe+rorBzV5EvQPCmB47yAoaCxgjNRyemesYNNMLK0XKlF8ao0vWFzW
|
||||
d+eLFoZGY4ZksFgDeMcECvnzJgxtu1D6js5darmj0q5NQOKQZ7g/CWEz3aH5CsU3
|
||||
iORZ2dxy6zP52JZVjJhxqbEjLkK7XwPCR8uAA/CUhxVdzms0eWwoatBYQCH4gbfk
|
||||
U+T7z4ZALOlg0Zh4z5aNGiORxMfxdUdSKMhPFeUvuIg7DAa7XTPckQLl5pp+p2SF
|
||||
pPf5W4jCIgLrgOLjDYRxjwIGTGQevlXLAVH2zX3ZhidDauaUZvrLTryAWJI8mAfs
|
||||
0ZuJH7ax+RCUBXf8oSH6xx4VhRohsvNlOJz8by6/qfApcA4GpCnlXvuAV7UC+qGi
|
||||
3JMZC+FBXKqWhMmleBA0
|
||||
=FgPP
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c0773bccb772901d908b6e425201ddb3bad02cacfabfd54fd87fc4dfbc98c1ea
|
||||
size 193918308
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJdqCRCFq5bm+hvl/gAADogP/1GSgKC5H16+MllTkzdQ4kPK
|
||||
qwGdhNfawSyF5A5W3oQFv2UlQDtR18nGe3TTB2q1r0lmZc9pXlA5xMLrSttGoX1H
|
||||
dweojhz7H2v8Nmz0HI4tRUIT1kT/pYg2+tKJOyEZgKgWIObT0Ao0ZS1Pfna9MW8A
|
||||
NcZtFT131vaiGrlaFPajYyjQZNE0zVWpZf7i7TO2k9/ImesuPiJayJ3yMxdrrFua
|
||||
1wajD59RrRfGZSlB8mM5lwu870Z9HHlzEpv83xLhE+OjKiwYx/epVG00WLwNbf+y
|
||||
cYfB7Fj4GOJWno/H1ZbxZOcgin9fEnCCLd7xlFZdVaAOMAd/7rkUOt5plc2cycIX
|
||||
fQRq+z3akttehICe6ckWALhoT8MV80AWjMVL73+L0yUw8FiB3CAhXW/LaswY8Cnv
|
||||
YLg64+42fbV0RBtQZco7/VNIBE+GhLXzwxHU/5n/ASheTKtqcNJrLd9ID5pPcp0e
|
||||
yOOqIaCWHMOmZ+fESjhv5VxfHarnVDyr6pJLKOhASMKn5fglmGGad0cw1rOJ76OB
|
||||
OHtAyNVrCuezpfRN2p8cCF586+2gEyOhpLCzZXajz5D4W/8xOiaifMwA2+I4UaUF
|
||||
X6ZQRCO7daLDwZZelWc9Tibr7DZWbCiL+uvboKHkXRXtNg2MXHAhLqxnb2eLdYDr
|
||||
cGbnVI1sv+1H3iGSAAT6
|
||||
=HDYi
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8fc307490f2aafcde6ce3c2b9985b8fd76829947b8bf2c3d77bb7e25d817360b
|
||||
size 197028040
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc4CRCFq5bm+hvl/gAAiZwQALAmQB9kj+kHbrMvCGAAgOcn
|
||||
+o8lLZrjbHeGMw05JKCQVfHyORCS2fRCsu1WhmL+7mLaIzSYZhkE+6ahaThnLpoP
|
||||
YdZSo231nlf1MH4d4sMbL/4cgH/5nZzswIahcXEAxaB+AbJSo0YQGHkQfad6wiwt
|
||||
RBfboGO0dMf5aVGbGVfDU6ptcWG2s5id6k+Fsb13L1oqXSeGp8PSHthiFCtxLceu
|
||||
ekqTGR07QqxC2xXrzqa3oEyA2pquXambBZYAS7JBERAsi3A0Oc6MwnSlChB2Rpjt
|
||||
bt0Y8qOU982jJI5CPfS0p4eX5wughRKz2JeY7yZXmuZaxcx5J2V7OzDVZId96oHD
|
||||
JpBFDCvmH7Xo/GL9P8slcHp51J19U3q6Ges8PsaL0/h1tWK/Vpa3S7cFjN0czmQS
|
||||
/RpUCOkFCy7NTgAs++rhGFKHvaxwIGkX9iOdktEB7yz8SFccrRfNnM/+F599S73t
|
||||
onPwXq9d942VLXeYPDPyD8rj7xgPtR7OqIHGfS+6nN3dCGHk4+2HyhHPBi3QGPq2
|
||||
rsnxJ+QO7UKDfDVKIhgr3T6neMzMetU3536jTM7ixkDsQca9bVr482JvMnJx4f/l
|
||||
bBWzrrBxAhF2L0ElYdP4ARqy//BQwJCpUsxWkfGjk0wne7sk150elk2FJ8j3vG4T
|
||||
Mt68UUOh7uAzyGbat0Qc
|
||||
=3UKV
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98b8d3a889cc9542563dc842ea440530cc15a908f875ef62c6939a57bf13510d
|
||||
size 213348860
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJe1CRCFq5bm+hvl/gAAXtAP/RQ7+uDpwPfBH12kLYHGP9Vj
|
||||
lPnH9g0+bGNNrIgz1rVq04CmTzai7MOnLsIxWoAX9uqTjnbvpsiuFQ5p/pL0bmXu
|
||||
oEsQ8mWFaZ3mw0F3Kl0DI2nDKmXMkcGObz5Uo8YuTotFVXGyNfaaIZU2kIZhgNgX
|
||||
HTpLSqtpTs+bEZhDskEpYjFESJapFQW9ZUteVo1g8PIj8Azz7LW+tWjDMSrNrU0i
|
||||
dknJswhymYQ9823MjGkgb6pygTwtB26Om6vMODhUzGMa5qWHCDHCu2zAztGGbMTU
|
||||
ZtqpLhr7Wb9WKYNILXFyyPyphoftQRz7qMZYjcRZJBrKpbPI/zcgYGiesOUUBmQu
|
||||
0qUckR/tMVILIELSo6XIlQ5KUEy9RBnZucXKsl7H1h8KkOK930UAxCFyaYlERFWO
|
||||
VBm9BQZbFPUjqcgsa6iJ3lSsShOkCn3k9IwCHkqYQ/JeGJ6k5VFf2RydqC7St6vQ
|
||||
jqlFSsa1GALcyNttDUV1aaXxjEjy/3m0+LArPUS+7Y2Csif6aLawnBouZxf1aBUI
|
||||
0dLoQsf0VmUq08aPXCLsMgboNPNBt/E9YBhgRN4VgWmhq0YLZltyPPu5TC43M/CH
|
||||
OYBArt8TjZdCRFU+D4ctrCplOljAVdWRLVCE+bUPkd51jWZXj98D9Uq5vslYi33c
|
||||
ZJuPEUqGyCpOvYFFujy0
|
||||
=oApk
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:843a69555848e0ca71fed7e1f3a5f1b71058b1d6d31585ba857fd6d06c7f43fe
|
||||
size 167534676
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc6CRCFq5bm+hvl/gAAhS0QAMEhtL2apgiPgOMpx07S76WN
|
||||
yeBOCkcpX7hjHzYPTDYt9cGcpmFzwuKd4w67q8ICImEMOi7giTu608rlNmyLLj+x
|
||||
nL+4sCX6IzTxZ9EcPB8RjFqlZAnX3vXJU095PZGl3dE1UTqjBN0qj4W+zkuuuyoP
|
||||
z7CnHIUPaxhhYrpzYsT4VEjmbZvgzLpBsctXo1mwhnWS++gorTa4HE4okZmDMglu
|
||||
OBUffJp6CTAoi4+x9ih+fJeobh9ak0w8+7lg35r4hI/7jgJzX97FQ77yKibEeEef
|
||||
h+6qQCwaI8mBSJBvu+cYyzvYCtLQdIGKqnGNUl05gASVl5o+vwu6T869kQ2dlKVc
|
||||
m5EL7Ru47ilAYLrZKUhxbqChyB2HzAMRGJVM63Bj6jIQdYR5tViyNaGCyNLRXBQW
|
||||
9oIDaAhp2bDwnCXMzePxZNDf+BSFOH5ji1fJ3vBeA4r2VO6emElvPOKXujrBV6OR
|
||||
X2G5i9d/xkKkkRZ4S/GqmIHyDZe2cxZhL6RfPKtaMut4Qz7rZ9X+pr0TzdqkoIj2
|
||||
cCrH8fpURj4BrURwHetLXFT3V2+XMaRuVg8Jd+2Q/Dsjuno4kV60t2cmGC+rBUhC
|
||||
xc50LxlDeL/VgmRF/4bSxDqkwgrfVsgz/JZbEb3WBLXLOHFqcCo+7X1ojftOTdcD
|
||||
dy+teFqNbKOCVGmqoh9P
|
||||
=b0mh
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bb073a9f89b39829161aec8b2459b436ba4b01a92320c68593eafb4e25258b80
|
||||
size 182726600
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJdBCRCFq5bm+hvl/gAAlFwQAKr3gRFQRyiXMQ4RRuZQOsGu
|
||||
vVFtQEoE0VNgbFNlkQCuMf+U85y0LuSiY3YKQikmKbM8B5VkznMGoqfBGB9R8ZqR
|
||||
g78plBU0LHft+TzjMvvEdiBFuuDScUqXUIM/zd73D32Rskk8//9Y/nKRpqu8SMZs
|
||||
Tr+YU0sxQ5916ATk+LUe9wvyIMpViOJZd33POQjViZP+acbUhLOmREwCUFRMRP0P
|
||||
T1z7JCl3Nat3IzlwCeIgezMmuEU10RSNn+YpTlJifASA+kD1Vf/t3BtczobGScsC
|
||||
dwxkO5sBhlFfEah7kmzrEh0PXCojrVcdUCVPOR4eq3sb8DKfI7kRjY7rS4iv697U
|
||||
jirFc2FQj47u9vXTnLpW8MRpOLgmOO7rW+Y/L3DGGQWNKRFqxaiVI4Fk3qtmPEvA
|
||||
kUp3EWtuNtIueZHJcVtTVnhwO8gtqnOpaeMFwe+aNo5RvHxaBzYMQpxvQ0o57zsE
|
||||
A5A2GDeWyll+ivOgx+dJEhZiY3hfa3Ap2tcvUdYYJLWfqV2cH8kh/2HsrJeI5TVM
|
||||
xznCA3a3UgyS1pZ88HKKlsbY8IwsDDTVC6/TYI/alKiHiIGcck9gLEHp8mXLkVhz
|
||||
3DineLmrXUtGZT6VCeilMTu7MC2hFHINmygQuIR032s7cUfI4CWCCV3FOpnwcsBa
|
||||
6pk0ZknpHCw7xtX6Vkxk
|
||||
=gdj9
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d21c95264e59828410afbeecf10b35ee8912fb21025c683a9abe7ff5603f9e90
|
||||
size 192084372
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJefCRCFq5bm+hvl/gAA1/QP/2BwsB6cxAHQDWKjsayZsVbR
|
||||
DaUcb4jQo7D1NRy69LV0u0gbAw/6rwbwWx/e7K4b4NQ2JoNBUQVNRZKa7C9TxSFK
|
||||
/Xe4ET8GLmkWybmynyr/Ibhf5sGgttM/y+CNdBP0Dn7uCz0adr1Ylj/AALdjqabO
|
||||
CS4pJmVQy7vEm6KcilOKz1oRteiU7Hs6iH+ASVocwKJggIvDRdHLK6smmU8EGVq9
|
||||
OZ2MEoOb1XIyNwI6fbfyS+lgWv4ehzvbAxssJW8ktWzUCJTKuCxOetHehghT+jYx
|
||||
E86qBeywCTnGnXh4GRvg/0xcW0B3laINNjWtx4epPH8TIpz67qBZt5bjTnadpYhz
|
||||
g8rtmsfqsBicI6SDfOjdDcV7FTAaIQW0fxMJYlIBlnOjvrIDdHhEVKoShONKpyoD
|
||||
76O+N6OgiIZUKl4pmQcPtwyD4I9DbZYbUgeKY0JWmXF4lLee8q+x6XSeQpbOKVsu
|
||||
OzsNp8kEu4Bv3BK0E1p1K3+vqfMAdM1Z8ylhpIsy+5kn2DMhj2VBan4gUbxcjDi5
|
||||
kJqCyQMhEnQGjrTSkyQ2IALwK69k/X7byV6lc6B2p0TCMNQkdB59RZPMRKV1e3Tq
|
||||
hfazYTdB49L3HgT9H6WnZXTVnO0+4KVxd64MrNwOi8zSqqaEubf2H8HX+3EQlgSW
|
||||
7/zfTL5O+OqWAZ6mzhlR
|
||||
=77VL
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:79c43b1796d2449a5c9ebf87b237236b6b7c37db3d8c6b62658f7ff12212e3e3
|
||||
size 179131092
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc/CRCFq5bm+hvl/gAAdLgQAORSqtoTGBREfOgk5OG8DTjM
|
||||
aRMYWgAtjDVqqmunKszbgfzf9N/gNZF79zfQUnJ/v6HwXoPDxqB0QYI/XU2fdo3Z
|
||||
5Q5ru+hLcYvnojkqBN3XfQDCHO4UXCrlXVZQCi+GPTR6KG+MrsDjNoPj1jmvbi2Z
|
||||
Gy/AZOrVj/sL3ZvDkXymJd1q6x9Fj9kz8Dz1XaAncK8DHFtmCYOco2vNh1ZCOYF8
|
||||
C5dgJ3ieonj/jfdkOyH/HMfm3og1jWVK/so0zOyFSCuQQ6RrdIKmuJS7Ba5j2+Gq
|
||||
U3ybipwct42KJ3KYHUIQV7RKzj5wYV378i1K+Fg5PU5XQFGMZOqguxZL0mD+cXnZ
|
||||
7oLrPVjMQauYCctAYTL4w1HdYZCDBocPe/O8xOBbG23MQl6JYjl0/Xuc13Z8I5TG
|
||||
fHWE8Luzg8KqyrGBbQBHt9B4Tm+Ty9YV9HBVW/XvXKEA8GsitSj+qdsV7FDXc5dP
|
||||
8iczu/lgZZ2MFuewz8+IHkMBIkiOBmTkUDecZY+7FflJvqqKFfp0t6kWgKvpZfeM
|
||||
L3iOjTLVqTZLLxpoHzRRzibGvFchgvzuJuLOqHyI7Wi52nYAqLicfPKwVbHC7GBY
|
||||
5SeMjUqQgfWomw+Elv3lgZXmEu5dh4Aa7pcRYqFp3YBpbgqs7TYJNVfApCTsLUxf
|
||||
jKMvv23EDdO5zurjtF5a
|
||||
=O7YO
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2a43ff5eb85d4e3acfdd565a4239af3bea39526209a816052043142f89560cbb
|
||||
size 191632144
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJddCRCFq5bm+hvl/gAAwMkP/AtK//TU9QeulDKyWmYcqolU
|
||||
x/7MuY1D2gKT4NEJbr43bkdxDXaH3lwhD1hRolvd1vV35Mv3MWBWPT5NpD0ON9uk
|
||||
n4BY17iXtuED7pwhIsSePP0Gy5LhgpXFklpFmoaboYoGif+Kl7Wl+FOZO+QgswyE
|
||||
LBf+MzdDuUuiGrqR1DOyR89khye2bdWqlseRuc9RnPvcfZonaLHG8NCO2pe6cBYP
|
||||
MVKZT/TlDB3KD1DJAYCvi7DHyxFuaGkPiglD2BiNfhc9ZiNgpSSNShCR9UwiBOFm
|
||||
CxbGG+2AuqNXj1HWHHVhSxbWnEeEqlxRIa3a/U9huTrI+EIFxNBUlhgZToog6ixH
|
||||
xgP+pMOsWl6ddIZT3M/hy4UxMpfF0M66kuEoXPAtQpbvJbKyqR8ossl8ZoFrXkRC
|
||||
gla+8HuE2HH6SeOfv6Q7rJzl5sMIbECsn60x4fI/rdGsRd+OSOMhPIaJ15UIr9eV
|
||||
3DIzR1cRhCep4gXm5IOSiFtN/eCh0suR60tDjjTXoaR291iG99j7G3TX+U3Gvt//
|
||||
wn0GT8oY3A+e1c+Qjc3TmLccL0IImV5Ldlz89N25axUMIAHL0XjshBuTXb9Tco7o
|
||||
9+0xuD3X1pZIs58m13S48ZXN5jxtwedf0iIHUrWG25mwyeWZUOfF+jcqi2fn7Zjt
|
||||
k0DeLLAcKriHV87h0eME
|
||||
=MLc+
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f3bf3792f9d79d4dd12a7af2d7d1c43c23914690ab12f000030ac94c3e0d20f
|
||||
size 147543532
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJfGCRCFq5bm+hvl/gAA5TAQAN9SdWKhmOba4/x+koEEz57S
|
||||
8QrNnuCMcBQ0OjwjKKCiIetWmPQLdUV7miAZhg8aDMEaqP++i62E7daFpWzHrsZl
|
||||
649to8NaNWK6tK5QpWtW9WvwecMSZtPiGYU13BwGnzADoJ1BH3JzXuvnE4DDHB9z
|
||||
IVIygaKDVEokSY9Om4tn/9J+PFjoAnqBP2BoOylutXnRcF9RbgObmhXNAB4OrVWw
|
||||
lxwIwHiGUnKEzwjjK6vAK/qmiPV6qWvm/vnodTuoDnKH8uwgIKV6+448FoW22jSt
|
||||
3l5XyBlCmerGzm8vETDPijKuuIHambC08YhEAdx3sgbp4gMX4/T7Z1RGUUpX9VQY
|
||||
+oMB94hHNE8KimQKx08/73LMd9mPxupKcURTzLdYWKEYDzL8tRZlxesRBkAvL7vl
|
||||
HlwPlRemyoJv7xlViHtIOeh3sQN5AO/fy/zaIkNw8vJfxLsUlJnTHAig9cM+2ZL2
|
||||
ix/hW2iD+gk1sgUkIM7lrBM2dDTiF1wZmTdmxesyOpwcP+p8qPSls8X53VeKOyqc
|
||||
+WFUh0xQXoW/DnW+43S0HFQrkfl1nckh9DKIInblqwDxkopMuE6LlAtbFRMXCJGq
|
||||
it3Uqi2T3pPugOA9S/Z+OXRAYF9qhuYu5NQK/zjk+1mRpHSmcX72zChLbR+cXEm/
|
||||
jXrtx6hD0ytjW9G/EsEz
|
||||
=QCBh
|
||||
-----END PGP SIGNATURE-----
|
@ -1,23 +0,0 @@
|
||||
# filters for rust-src
|
||||
addFilter("devel-dependency rust-std-static")
|
||||
addFilter("devel-file-in-non-devel-package.*/usr/lib/rustlib/src/.*")
|
||||
|
||||
# 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*")
|
||||
|
||||
# tool versions don't always change at same pace as rustc
|
||||
addFilter("clippy.x86_64: W: no-version-in-last-changelog")
|
||||
addFilter("rls.x86_64: W: no-version-in-last-changelog")
|
||||
addFilter("rust-analysis.x86_64: W: no-version-in-last-changelog")
|
||||
addFilter("rustfmt.x86_64: W: no-version-in-last-changelog")
|
||||
|
||||
# we use a "provides =" with version to set the version correctly
|
||||
addFilter("clippy.x86_64: W: useless-provides clippy")
|
||||
addFilter("rustfmt.x86_64: W: useless-provides rustfmt")
|
||||
|
||||
# error when building with bootstrap. ignore for now
|
||||
addFilter(".*shlib-policy-name-error.*libLLVM-11.*")
|
62
rust.changes
62
rust.changes
@ -1,3 +1,65 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 18 00:52:43 UTC 2021 - William Brown <william.brown@suse.com>
|
||||
|
||||
- Update to version 1.53:
|
||||
+ Language
|
||||
- [You can now use unicode for identifiers.][83799] This allows multilingual
|
||||
identifiers but still doesn't allow glyphs that are not considered characters
|
||||
such as `◆` or `🦀`. More specifically you can now use any identifier that
|
||||
matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This
|
||||
is the same standard as languages like Python, however Rust uses NFC
|
||||
normalization which may be different from other languages.
|
||||
- [You can now specify "or patterns" inside pattern matches.][79278]
|
||||
Previously you could only use `|` (OR) on complete patterns. E.g.
|
||||
```rust
|
||||
let x = Some(2u8);
|
||||
// Before
|
||||
matches!(x, Some(1) | Some(2));
|
||||
// Now
|
||||
matches!(x, Some(1 | 2));
|
||||
```
|
||||
- [Added the `:pat_param` `macro_rules!` matcher.][83386] This matcher
|
||||
has the same semantics as the `:pat` matcher. This is to allow `:pat`
|
||||
to change semantics to being a pattern fragment in a future edition.
|
||||
+ Compiler
|
||||
- [Updated the minimum external LLVM version to LLVM 10.][83387]
|
||||
- [Added Tier 3\* support for the `wasm64-unknown-unknown` target.][80525]
|
||||
- [Improved debuginfo for closures and async functions on Windows MSVC.][83941]
|
||||
|
||||
\* Refer to Rust's [platform support page][platform-support-doc] for more
|
||||
information on Rust's tiered platform support.
|
||||
+ Libraries
|
||||
- [Abort messages will now forward to `android_set_abort_message` on
|
||||
Android platforms when available.][81469]
|
||||
- [`slice::IterMut<'_, T>` now implements `AsRef<[T]>`][82771]
|
||||
- [Arrays of any length now implement `IntoIterator`.][84147]
|
||||
Currently calling `.into_iter()` as a method on an array will
|
||||
return `impl Iterator<Item=&T>`, but this may change in a
|
||||
future edition to change `Item` to `T`. Calling `IntoIterator::into_iter`
|
||||
directly on arrays will provide `impl Iterator<Item=T>` as expected.
|
||||
- [`leading_zeros`, and `trailing_zeros` are now available on all
|
||||
`NonZero` integer types.][84082]
|
||||
- [`{f32, f64}::from_str` now parse and print special values
|
||||
(`NaN`, `-0`) according to IEEE RFC 754.][78618]
|
||||
- [You can now index into slices using `(Bound<usize>, Bound<usize>)`.][77704]
|
||||
- [Add the `BITS` associated constant to all numeric types.][82565]
|
||||
+ Cargo
|
||||
- [Cargo now supports git repositories where the default `HEAD` branch is not
|
||||
"master".][cargo/9392] This also includes a switch to the version 3 `Cargo.lock` format
|
||||
which can handle default branches correctly.
|
||||
- [macOS targets now default to `unpacked` split-debuginfo.][cargo/9298]
|
||||
- [The `authors` field is no longer included in `Cargo.toml` for new
|
||||
projects.][cargo/9282]
|
||||
+ Rustdoc
|
||||
- [Added the `rustdoc::bare_urls` lint that warns when you have URLs
|
||||
without hyperlinks.][81764]
|
||||
+ Compatibility Notes
|
||||
- [Implement token-based handling of attributes during expansion][82608]
|
||||
- [`Ipv4::from_str` will now reject octal format IP addresses in addition
|
||||
to rejecting hexadecimal IP addresses.][83652] The octal format can lead
|
||||
to confusion and potential security vulnerabilities and [is no
|
||||
longer recommended][ietf6943].
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 10 22:41:00 UTC 2021 - William Brown <william.brown@suse.com>
|
||||
|
||||
|
85
rust.keyring
85
rust.keyring
@ -1,85 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
/5A5vjHh+NhFwH5h2vBJVPdsz6k=
|
||||
=jRHo
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
624
rust.spec
624
rust.spec
@ -2,7 +2,7 @@
|
||||
# spec file for package rust
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2019 Luke Jones, luke@ljones.dev
|
||||
# Copyright (c) 2021 William Brown <william@blackhats.net.au>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,67 +17,8 @@
|
||||
#
|
||||
|
||||
|
||||
%global version_current 1.52.1
|
||||
%global version_previous 1.51.0
|
||||
%global version_bootstrap 1.51.0
|
||||
|
||||
# some sub-packages are versioned independently
|
||||
%global rustfmt_version 1.4.25
|
||||
%global clippy_version 0.0.212
|
||||
|
||||
# Build the rust target triple.
|
||||
# Some rust arches don't match what SUSE labels them.
|
||||
%global rust_arch %{_arch}
|
||||
%global abi gnu
|
||||
|
||||
%ifarch armv7hl
|
||||
%global rust_arch armv7
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch armv6hl
|
||||
%global rust_arch arm
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch ppc
|
||||
%global rust_arch powerpc
|
||||
%endif
|
||||
|
||||
%ifarch ppc64
|
||||
%global rust_arch powerpc64
|
||||
%endif
|
||||
|
||||
%ifarch ppc64le
|
||||
%global rust_arch powerpc64le
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%global rust_arch riscv64gc
|
||||
%endif
|
||||
|
||||
# Must restrict the x86 build to i686 since i586 is currently
|
||||
# unsupported
|
||||
%ifarch %{ix86}
|
||||
%global rust_arch i686
|
||||
%endif
|
||||
|
||||
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
||||
|
||||
# All sources and bootstraps are fetched form here
|
||||
%global dl_url https://static.rust-lang.org/dist
|
||||
|
||||
# Rust doesn't function well when put in /usr/lib64
|
||||
%global common_libdir %{_prefix}/lib
|
||||
%global rustlibdir %{common_libdir}/rustlib
|
||||
|
||||
# Will build with distro LLVM by default, but the following versions
|
||||
# do not have a version new enough, >= 8.0 add --without bundled_llvm
|
||||
# option, i.e. enable bundled_llvm by default Leap 42 to 42.3, SLE12
|
||||
# SP1 to SLE12 SP3, Leap 15.1, SLE15 SP0
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150100
|
||||
%bcond_without bundled_llvm
|
||||
%endif
|
||||
%global version_suffix 1.53
|
||||
%global version_current 1.53.0
|
||||
|
||||
# RLS requires 64-bit atomics
|
||||
%ifarch ppc
|
||||
@ -86,42 +27,6 @@
|
||||
%bcond_without rls
|
||||
%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
|
||||
%define codegen_units --set rust.codegen-units=1
|
||||
# Debuginfo can exhaust memory on these architecture workers
|
||||
%ifarch %{arm} %{ix86}
|
||||
%define debug_info --disable-debuginfo --disable-debuginfo-only-std --disable-debuginfo-tools --disable-debuginfo-lines
|
||||
%define strip_debug_flag 1
|
||||
%else
|
||||
%define debug_info --enable-debuginfo --disable-debuginfo-only-std --enable-debuginfo-tools --disable-debuginfo-lines
|
||||
%endif
|
||||
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120500
|
||||
# Use hardening ldflags, plus link path for gcc7's libstdc++
|
||||
%global gcc_arch %{_arch}
|
||||
%ifarch %{ix86}
|
||||
# This is where gcc7 puts things in 32-bit x86.
|
||||
%global gcc_arch i586
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
# This is where gcc7 puts things in ppc64le.
|
||||
%global gcc_arch powerpc64le
|
||||
%endif
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now -L%{_libdir}/gcc/%{gcc_arch}-suse-linux/7
|
||||
%else
|
||||
# Use hardening ldflags
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
%endif
|
||||
|
||||
# Exclude implicitly-scanned Provides, especially the libLLVM.so ones:
|
||||
%global __provides_exclude_from ^%{rustlibdir}/.*$
|
||||
|
||||
# enable the --with-rust_bootstrap flag
|
||||
%bcond_with rust_bootstrap
|
||||
|
||||
Name: rust
|
||||
Version: %{version_current}
|
||||
Release: 0
|
||||
@ -129,96 +34,10 @@ 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: %{name}.keyring
|
||||
Source99: %{name}-rpmlintrc
|
||||
Source100: %{dl_url}/rust-%{version_bootstrap}-x86_64-unknown-linux-gnu.tar.xz
|
||||
Source101: %{dl_url}/rust-%{version_bootstrap}-i686-unknown-linux-gnu.tar.xz
|
||||
Source102: %{dl_url}/rust-%{version_bootstrap}-aarch64-unknown-linux-gnu.tar.xz
|
||||
Source103: %{dl_url}/rust-%{version_bootstrap}-armv7-unknown-linux-gnueabihf.tar.xz
|
||||
Source104: %{dl_url}/rust-%{version_bootstrap}-arm-unknown-linux-gnueabihf.tar.xz
|
||||
Source105: %{dl_url}/rust-%{version_bootstrap}-powerpc64-unknown-linux-gnu.tar.xz
|
||||
Source106: %{dl_url}/rust-%{version_bootstrap}-powerpc64le-unknown-linux-gnu.tar.xz
|
||||
Source107: %{dl_url}/rust-%{version_bootstrap}-s390x-unknown-linux-gnu.tar.xz
|
||||
Source108: %{dl_url}/rust-%{version_bootstrap}-powerpc-unknown-linux-gnu.tar.xz
|
||||
Source109: %{dl_url}/rust-%{version_bootstrap}-riscv64gc-unknown-linux-gnu.tar.xz
|
||||
Source200: %{dl_url}/rust-%{version_bootstrap}-x86_64-unknown-linux-gnu.tar.xz.asc
|
||||
Source201: %{dl_url}/rust-%{version_bootstrap}-i686-unknown-linux-gnu.tar.xz.asc
|
||||
Source202: %{dl_url}/rust-%{version_bootstrap}-aarch64-unknown-linux-gnu.tar.xz.asc
|
||||
Source203: %{dl_url}/rust-%{version_bootstrap}-armv7-unknown-linux-gnueabihf.tar.xz.asc
|
||||
Source204: %{dl_url}/rust-%{version_bootstrap}-arm-unknown-linux-gnueabihf.tar.xz.asc
|
||||
Source205: %{dl_url}/rust-%{version_bootstrap}-powerpc64-unknown-linux-gnu.tar.xz.asc
|
||||
Source206: %{dl_url}/rust-%{version_bootstrap}-powerpc64le-unknown-linux-gnu.tar.xz.asc
|
||||
Source207: %{dl_url}/rust-%{version_bootstrap}-s390x-unknown-linux-gnu.tar.xz.asc
|
||||
Source208: %{dl_url}/rust-%{version_bootstrap}-powerpc-unknown-linux-gnu.tar.xz.asc
|
||||
Source209: %{dl_url}/rust-%{version_bootstrap}-riscv64gc-unknown-linux-gnu.tar.xz.asc
|
||||
# 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
|
||||
BuildRequires: ccache
|
||||
BuildRequires: curl
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: git
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: procps
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
# Leap 42 to 42.3, SLE12 SP1, SP2
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120200
|
||||
# In these distros cmake is 2.x, so we need cmake3 for building llvm.
|
||||
BuildRequires: cmake3
|
||||
%else
|
||||
# cmake got upgraded to 3.5 in SLE-12 SP2
|
||||
BuildRequires: cmake
|
||||
%endif
|
||||
# In all of SLE12, the default gcc is 4.8. Rust's LLVM wants 5.1 at least.
|
||||
# So, we'll just use gcc7.
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120500
|
||||
BuildRequires: gcc7-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
# The following requires must mirror: LIBSSH2_SYS_USE_PKG_CONFIG
|
||||
%if !%{with rust_bootstrap} && 0%{?sle_version} >= 150000
|
||||
BuildRequires: pkgconfig(libssh2) >= 1.6.0
|
||||
%endif
|
||||
# Real LLVM minimum version should be 9.x, but rust has a fallback
|
||||
# mode
|
||||
%if !%with bundled_llvm
|
||||
%if 0%{?suse_version} < 1550
|
||||
BuildRequires: llvm9-devel
|
||||
%else
|
||||
BuildRequires: llvm-devel >= 8.0
|
||||
%endif
|
||||
%endif
|
||||
%if !%with rust_bootstrap
|
||||
# We will now package cargo using the version number of rustc since it
|
||||
# is being built from rust sources. Old cargo packages have a 0.x
|
||||
# number
|
||||
BuildRequires: cargo <= %{version_current}
|
||||
BuildRequires: cargo >= %{version_previous}
|
||||
BuildRequires: rust <= %{version_current}
|
||||
BuildRequires: rust >= %{version_previous}
|
||||
BuildRequires: rust-std-static <= %{version_current}
|
||||
BuildRequires: rust-std-static >= %{version_previous}
|
||||
%endif
|
||||
# The compiler is not generally useful without the std library
|
||||
# installed and the std library is exactly specific to the version of
|
||||
# the compiler
|
||||
Requires: %{name}-std-static = %{version}
|
||||
Recommends: %{name}-doc
|
||||
Recommends: cargo
|
||||
Conflicts: rust
|
||||
Conflicts: rustc-bootstrap
|
||||
# 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
|
||||
Source: README
|
||||
Requires: rust%{version_suffix}
|
||||
Conflicts: rust < %{version}
|
||||
Obsoletes: rust < %{version}
|
||||
|
||||
%description
|
||||
Rust is a systems programming language focused on three goals: safety,
|
||||
@ -234,64 +53,37 @@ 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 rust-std-static
|
||||
Summary: Standard library for Rust
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Conflicts: rust-std < %{version}
|
||||
Obsoletes: rust-std < %{version}
|
||||
Provides: rust-std = %{version}
|
||||
|
||||
%description -n rust-std-static
|
||||
This package includes the standard libraries for building applications
|
||||
written in Rust.
|
||||
|
||||
%package -n rust-doc
|
||||
Summary: Rust documentation
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description -n rust-doc
|
||||
Documentation for the Rust language.
|
||||
|
||||
%package -n rust-gdb
|
||||
Summary: Gdb integration for rust binaries
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Requires: rust = %{version}
|
||||
Requires: rust%{version_suffix}
|
||||
Requires: rust%{version_suffix}-gdb
|
||||
Conflicts: rust-gdb < %{version}
|
||||
Obsoletes: rust-gdb < %{version}
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1500
|
||||
# Legacy SUSE-only form
|
||||
Supplements: packageand(%{name}:gdb)
|
||||
Supplements: packageand(rust:gdb)
|
||||
%else
|
||||
# Standard form
|
||||
Supplements: (%{name} and gdb)
|
||||
Supplements: (rust and gdb)
|
||||
%endif
|
||||
|
||||
%description -n rust-gdb
|
||||
This subpackage provides pretty printers and a wrapper script for
|
||||
invoking gdb on rust binaries.
|
||||
|
||||
%package -n rust-src
|
||||
Summary: Sources for the Rust standard library
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n rust-src
|
||||
This package includes source files for the Rust standard library. This
|
||||
is commonly used for function detail lookups in helper programs such
|
||||
as RLS or racer.
|
||||
|
||||
%package -n rls
|
||||
Summary: Language server for Rust lang
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Requires: %{name}-analysis = %{version}
|
||||
Requires: %{name}-src = %{version}
|
||||
Requires: rust = %{version}
|
||||
Requires: rust%{version_suffix}
|
||||
Requires: rls%{version_suffix}
|
||||
Conflicts: rls < %{version}
|
||||
Obsoletes: rls < %{version}
|
||||
|
||||
%description -n rls
|
||||
The RLS provides a server that runs in the background, providing IDEs,
|
||||
@ -300,391 +92,45 @@ supports functionality such as 'goto definition', symbol search,
|
||||
reformatting, and code completion, and enables renaming and
|
||||
refactorings. It can be used with an IDE such as Gnome-Builder.
|
||||
|
||||
%package -n rust-analysis
|
||||
Summary: Compiler analysis data for the Rust standard library
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-std-static = %{version}
|
||||
|
||||
%description -n rust-analysis
|
||||
This package contains analysis data files produced with rustc's
|
||||
-Zsave-analysis feature for the Rust standard library. The RLS (Rust
|
||||
Language Server) uses this data to provide information about the Rust
|
||||
standard library.
|
||||
|
||||
%package -n rustfmt
|
||||
Summary: Code formatting tool for Rust lang
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Requires: cargo = %{version}
|
||||
Provides: cargo-fmt = %{rustfmt_version}
|
||||
Provides: rustfmt = %{rustfmt_version}
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1500
|
||||
# Legacy SUSE-only form
|
||||
Supplements: packageand(%{name}:cargo)
|
||||
%else
|
||||
# Standard form
|
||||
Supplements: (%{name} and cargo)
|
||||
%endif
|
||||
|
||||
%description -n rustfmt
|
||||
A tool for formatting Rust code according to style guidelines.
|
||||
|
||||
%package -n clippy
|
||||
Summary: Lints to catch common mistakes and improve Rust code
|
||||
# /usr/bin/clippy-driver is dynamically linked against internal rustc libs
|
||||
License: MPL-2.0
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Requires: cargo = %{version}
|
||||
Provides: clippy = %{clippy_version}
|
||||
|
||||
%description -n clippy
|
||||
A collection of lints to catch common mistakes and improve Rust code.
|
||||
|
||||
%package -n cargo
|
||||
Summary: The Rust package manager
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: %{name} = %{version}
|
||||
Requires: rust = %{version}
|
||||
Requires: rust%{version_suffix}
|
||||
Requires: cargo%{version_suffix}
|
||||
Conflicts: cargo < %{version}
|
||||
Obsoletes: cargo < %{version}
|
||||
Conflicts: cargo-vendor < %{version}
|
||||
Obsoletes: cargo-vendor < %{version}
|
||||
Provides: rustc:%{_bindir}/cargo = %{version}
|
||||
|
||||
%description -n cargo
|
||||
Cargo downloads dependencies of Rust projects and compiles it.
|
||||
|
||||
%package -n cargo-doc
|
||||
Summary: Documentation for Cargo
|
||||
# Cargo no longer builds its own documentation
|
||||
# https://github.com/rust-lang/cargo/pull/4904
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-doc = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n cargo-doc
|
||||
This package includes HTML documentation for Cargo.
|
||||
|
||||
%prep
|
||||
%if %{with rust_bootstrap}
|
||||
%ifarch x86_64
|
||||
%setup -q -T -b 100 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
%setup -q -T -b 101 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 102 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
%setup -q -T -b 103 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv6hl
|
||||
%setup -q -T -b 104 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
%setup -q -T -b 105 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
%setup -q -T -b 106 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch s390x
|
||||
%setup -q -T -b 107 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc
|
||||
%setup -q -T -b 108 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
%setup -q -T -b 109 -n rust-%{version_bootstrap}-%{rust_triple}
|
||||
%endif
|
||||
./install.sh --components=cargo,rustc,rust-std-%{rust_triple} --prefix=.%{_prefix} --disable-ldconfig
|
||||
%endif
|
||||
|
||||
%if %{with rust_bootstrap}
|
||||
%global rust_root %{_builddir}/rust-%{version_bootstrap}-%{rust_triple}%{_prefix}
|
||||
%else
|
||||
%global rust_root %{_prefix}
|
||||
%endif
|
||||
|
||||
%setup -q -n rustc-%{version}-src
|
||||
|
||||
%patch0 -p1
|
||||
|
||||
# use python3
|
||||
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py
|
||||
sed -i.try-py3 -e '/try python2.7/i try python3 "$@"' ./configure
|
||||
|
||||
# We never enable emscripten.
|
||||
rm -rf src/llvm-emscripten/
|
||||
# We never enable other LLVM tools.
|
||||
rm -rf src/tools/clang
|
||||
rm -rf src/tools/lld
|
||||
rm -rf src/tools/lldb
|
||||
# CI tooling won't be used
|
||||
rm -rf src/ci
|
||||
|
||||
# Remove hidden files from source
|
||||
find src/ -type f -name '.appveyor.yml' -exec rm -v '{}' '+'
|
||||
find src/ -type f -name '.travis.yml' -exec rm -v '{}' '+'
|
||||
find src/ -type f -name '.cirrus.yml' -exec rm -v '{}' '+'
|
||||
|
||||
%if !%with bundled_llvm
|
||||
rm -rf src/llvm/
|
||||
%endif
|
||||
|
||||
# The configure macro will modify some autoconf-related files, which upsets
|
||||
# cargo when it tries to verify checksums in those files. If we just truncate
|
||||
# that file list, cargo won't have anything to complain about.
|
||||
find vendor -name .cargo-checksum.json \
|
||||
-exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+'
|
||||
|
||||
# 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
|
||||
|
||||
%build
|
||||
%define _lto_cflags %{nil}
|
||||
%configure \
|
||||
--set rust.deny-warnings=false \
|
||||
--disable-option-checking \
|
||||
--build=%{rust_triple} --host=%{rust_triple} --target=%{rust_triple} \
|
||||
--enable-local-rust \
|
||||
--local-rust-root=%{rust_root} \
|
||||
--libdir=%{common_libdir} \
|
||||
--docdir=%{_docdir}/%{name} \
|
||||
%{!?with_bundled_llvm: --llvm-root=%{_prefix} --enable-llvm-link-shared} \
|
||||
%{?with_bundled_llvm: --disable-llvm-link-shared --set llvm.link-jobs=4} \
|
||||
--disable-codegen-tests \
|
||||
--enable-optimize \
|
||||
--enable-ccache \
|
||||
--enable-docs \
|
||||
--enable-verbose-tests \
|
||||
--disable-jemalloc \
|
||||
--disable-rpath \
|
||||
%{debug_info} \
|
||||
%{codegen_units} \
|
||||
--enable-vendor \
|
||||
--enable-extended \
|
||||
%if %{with rls}
|
||||
--tools="cargo","rls","clippy","rustfmt","analysis","src" \
|
||||
%else
|
||||
--tools="cargo","clippy","rustfmt","analysis","src" \
|
||||
%endif
|
||||
--release-channel="stable"
|
||||
|
||||
# Sometimes we may be rebuilding with the same compiler,
|
||||
# setting local-rebuild will skip stage0 build, reducing build time
|
||||
if [ $(%{rust_root}/bin/rustc --version | sed -En 's/rustc ([0-9].[0-9][0-9].[0-9]).*/\1/p') = '%{version}' ]; then
|
||||
sed -i -e "s|#local-rebuild = false|local-rebuild = true|" config.toml;
|
||||
fi
|
||||
%if %with bundled_llvm
|
||||
# Ninja gets used for building llvm from rust-1.48 onwards;
|
||||
# disable its use for anything older than Leap 15.2:
|
||||
sed -i -e "s|#ninja = true|ninja = false|" config.toml
|
||||
%endif
|
||||
|
||||
# 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!
|
||||
cat > .env.sh <<\EOF
|
||||
export RUSTFLAGS="%{rustflags}"
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120500
|
||||
export CC=gcc-7
|
||||
export CXX=g++-7
|
||||
%endif
|
||||
# Make cargo use system libs if not bootstrapping
|
||||
%if !%{with rust_bootstrap} && 0%{?sle_version} >= 150000
|
||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
%endif
|
||||
export DESTDIR=%{buildroot}
|
||||
# END EXPORTS
|
||||
EOF
|
||||
. ./.env.sh
|
||||
|
||||
%if 0%{?strip_debug_flag}
|
||||
export CFLAGS="$(echo $RPM_OPT_FLAGS | sed -e 's/ -g$//')"
|
||||
%endif
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
unset FFLAGS
|
||||
|
||||
./x.py build -v
|
||||
./x.py doc -v --stage 1
|
||||
|
||||
%install
|
||||
# Reread exports file
|
||||
. ./.env.sh
|
||||
|
||||
./x.py install
|
||||
./x.py install src
|
||||
|
||||
# Remove executable permission from HTML documentation
|
||||
# to prevent RPMLINT errors.
|
||||
chmod -R -x+X %{buildroot}%{_docdir}/%{name}/html
|
||||
|
||||
# Remove lockfile to avoid errors.
|
||||
rm %{buildroot}%{_docdir}/%{name}/html/.lock
|
||||
|
||||
# Sanitize the HTML documentation
|
||||
find %{buildroot}%{_docdir}/%{name}/html -empty -delete
|
||||
find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+'
|
||||
find %{buildroot}%{_docdir}/%{name}/html -type f -name '.nojekyll' -exec rm -v '{}' '+'
|
||||
|
||||
# Remove the license files from _docdir: make install put duplicates there
|
||||
rm %{buildroot}%{_docdir}/%{name}/{README.md,COPYRIGHT,LICENSE*}
|
||||
rm %{buildroot}%{_docdir}/%{name}/*.old
|
||||
|
||||
# Remove installer artifacts (manifests, uninstall scripts, etc.)
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -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 '{}' '+'
|
||||
|
||||
# Install rust-llvm-dwp in _bindir
|
||||
mv %{buildroot}%{rustlibdir}/*-unknown-linux-gnu*/bin/rust-llvm-dwp %{buildroot}%{_bindir}
|
||||
rm -rf %{buildroot}%{rustlibdir}/*-unknown-linux-gnu*/bin
|
||||
|
||||
# The html docs for x86 and x86_64 are the same in most places
|
||||
%fdupes -s %{buildroot}%{_docdir}/%{name}/html
|
||||
%fdupes -s %{buildroot}/%{_mandir}
|
||||
%fdupes %{buildroot}/%{_prefix}
|
||||
|
||||
# Create the path for crate-devel packages
|
||||
mkdir -p %{buildroot}%{_datadir}/cargo/registry
|
||||
|
||||
# Cargo no longer builds its own documentation
|
||||
# https://github.com/rust-lang/cargo/pull/4904
|
||||
mkdir -p %{buildroot}%{_docdir}/cargo
|
||||
ln -sT ../rust/html/cargo/ %{buildroot}%{_docdir}/cargo/html
|
||||
|
||||
# Move the bash-completion to correct directory for openSUSE
|
||||
install -D %{buildroot}%{_sysconfdir}/bash_completion.d/cargo %{buildroot}%{_datadir}/bash-completion/completions/cargo
|
||||
# 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
|
||||
|
||||
# Remove llvm installation
|
||||
rm -rf %{buildroot}/home
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
install -D -m 0644 %{S:0} %{buildroot}/usr/share/doc/packages/rust/README
|
||||
install -D -m 0644 %{S:0} %{buildroot}/usr/share/doc/packages/rust-gdb/README
|
||||
install -D -m 0644 %{S:0} %{buildroot}/usr/share/doc/packages/rls/README
|
||||
install -D -m 0644 %{S:0} %{buildroot}/usr/share/doc/packages/cargo/README
|
||||
|
||||
%files
|
||||
%if 0%{?suse_version} == 1315
|
||||
%doc COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||
%else
|
||||
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||
%endif
|
||||
%doc CONTRIBUTING.md README.md RELEASES.md
|
||||
%{_bindir}/rustc
|
||||
%{_bindir}/rustdoc
|
||||
%{_bindir}/rust-lldb
|
||||
%{_bindir}/rust-llvm-dwp
|
||||
%{_mandir}/man1/rustc.1%{?ext_man}
|
||||
%{_mandir}/man1/rustdoc.1%{?ext_man}
|
||||
%{_prefix}/lib/lib*.so
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.so
|
||||
%{_libexecdir}/cargo-credential-1password
|
||||
%exclude %{_docdir}/%{name}/html
|
||||
%exclude %{rustlibdir}/src
|
||||
|
||||
%files -n rust-std-static
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
||||
%defattr(-,root,root,-)
|
||||
%doc /usr/share/doc/packages/rust
|
||||
|
||||
%files -n rust-gdb
|
||||
%{_bindir}/rust-gdb
|
||||
%{_bindir}/rust-gdbgui
|
||||
%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
|
||||
|
||||
%files -n rust-doc
|
||||
%dir %{_docdir}/%{name}
|
||||
%dir %{_docdir}/%{name}/html
|
||||
%doc %{_docdir}/%{name}/html/*
|
||||
|
||||
%files -n rust-src
|
||||
%dir %{rustlibdir}
|
||||
%{rustlibdir}/src
|
||||
%defattr(-,root,root,-)
|
||||
%doc /usr/share/doc/packages/rust-gdb
|
||||
|
||||
%if %{with rls}
|
||||
%files -n rls
|
||||
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
|
||||
%doc src/tools/rls/LICENSE-{APACHE,MIT}
|
||||
%else
|
||||
%license src/tools/rls/LICENSE-{APACHE,MIT}
|
||||
%defattr(-,root,root,-)
|
||||
%doc /usr/share/doc/packages/rls
|
||||
%endif
|
||||
%doc src/tools/rls/{README.md,COPYRIGHT,debugging.md}
|
||||
%{_bindir}/rls
|
||||
%endif
|
||||
|
||||
%files analysis
|
||||
%{rustlibdir}/%{rust_triple}/analysis/
|
||||
|
||||
%files -n rustfmt
|
||||
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
|
||||
%doc src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||
%else
|
||||
%license src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||
%endif
|
||||
%doc src/tools/rustfmt/{README,CHANGELOG,Configurations}.md
|
||||
%{_bindir}/cargo-fmt
|
||||
%{_bindir}/rustfmt
|
||||
|
||||
%files -n clippy
|
||||
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
|
||||
%doc src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||
%else
|
||||
%license src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||
%endif
|
||||
%doc src/tools/clippy/{README.md,CHANGELOG.md}
|
||||
%{_bindir}/cargo-clippy
|
||||
%{_bindir}/clippy-driver
|
||||
|
||||
%files -n cargo
|
||||
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
|
||||
%doc src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
|
||||
%else
|
||||
%license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
|
||||
%endif
|
||||
%{_bindir}/cargo
|
||||
%{_mandir}/man1/cargo*.1%{?ext_man}
|
||||
%dir %{_datadir}/bash-completion
|
||||
%dir %{_datadir}/bash-completion/completions
|
||||
%{_datadir}/bash-completion/completions/cargo
|
||||
%dir %{_datadir}/zsh
|
||||
%dir %{_datadir}/zsh/site-functions
|
||||
%{_datadir}/zsh/site-functions/_cargo
|
||||
%dir %{_datadir}/cargo
|
||||
%dir %{_datadir}/cargo/registry
|
||||
|
||||
%files -n cargo-doc
|
||||
%dir %{_docdir}/cargo
|
||||
%{_docdir}/cargo/html
|
||||
%defattr(-,root,root,-)
|
||||
%doc /usr/share/doc/packages/cargo
|
||||
|
||||
%changelog
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:521bbaebce262264e44acb164d327cba27acf6f08bd7de672d8d1e16e7ed959e
|
||||
size 115109508
|
Loading…
Reference in New Issue
Block a user