Sync from SUSE:SLFO:Main rust1.78 revision d2c7d8c8bbd6deb9ea6ccced3ea28d59
This commit is contained in:
commit
80dbf03f42
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.78.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NJCRCFq5bm+hvl/gAArM4QAM8WNMu7OqDRm7bPPtBJiSlz
|
||||
ygaCMd3uUOQuqVapzUMcrYcIlu4+DUPFu1XFdlQGuwI+guOf4oIDX0UQPcrO3JY9
|
||||
XkCufN5Pv8V2fr4WRu4sTwLkzOeyGGJw58Um07x9gXyV24WRKHprLiXhM8V59gWs
|
||||
LDIs+gD1pxOpZpfrf5ICZjVpgwo7CHb5TrEVvocTIkqwx/0DkNRqEPXfvP9dL8T6
|
||||
BmnbDnYWw5s6imiv7K46h1U6pKWD1gmqkqvlNUYE1+NmqeLKFSYYt661/Qde8IwF
|
||||
E+47yMo7ewfIOGOBGGQwBHtb3MUWPjQeYsw4EQJAHHGyDygzIKV+svEubaQ8KsNB
|
||||
b4tKLXHxM91Pp3JWj7auowRcSnWksEVA8BL/YyyGM7Q0O40oo/qEwgd233cBC8OY
|
||||
1A1kCslwooaTJRp+5FfQfbwN+aGXKNfKnR8+lTdtM0GPauAzzVrBhXhlx4Rnx/YD
|
||||
ApDWDq+RWt26nXvX7G5h/fPxO9IxFBig0UK/xAMD7G6twLKWo+GfPs8QZT1PAfNS
|
||||
n7nS62SEssl42Gay5cJgwlcjbhixQNPYj2JQMUCVeJ/ivbocK22H22Usf7LRFa/h
|
||||
1FuoVPryyHWSmkDENK9+oZjlp+6A9gNJ0k+7a20ufongZx29ufuOcLxXVhKRBJxJ
|
||||
wHl+9dPxTKpeHxZWec0x
|
||||
=CGNi
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NLCRCFq5bm+hvl/gAAN9AQANMD/CRBwlufiQ+Ct3T+U6Ja
|
||||
ZkOvodsGIAza+YaSbMiNK4n/dvdBcXG3xw5snnq/0rNJSxTYHoGfjEXl/NsxMgeR
|
||||
rwb1B3iQxBg8OeQVE0UGp2WKiX/ttfArSVCZvBQYMZiXT99B0AFkjFpAiNrYz4+9
|
||||
lE/PMfgSmDE7cOeY0VKAJ3wm+MjKm160BLxKvkFMv2WrvkRzG5BflxCsKU8bGvsU
|
||||
a7TwnRhP55mW9JMcDSCkJXQF8ncBGzhPIo3F55vPAlrTNCjyOFyd1x39LUtjAQQS
|
||||
/o+Y1xI3Ot7pFEELqZRoBjwk8N7q/nRcAFkaKD32emubw+K7XSOUwpf+MfU6Z3CD
|
||||
QwRKa7umRN7ZtW3ObDldPGFGlRTK2GR0fwsYa0hoBRypss0YBK50USvoj6Ge+UQB
|
||||
WRbNyc0O48cXspygIzBBZxQfin6LjscCE9/ew5bpg5Ru4xXcEhGNfJcDDAdakcKG
|
||||
Mj8lKFMvJzHB2yWPHSAe4IVHvopUlEWUmFgI5w37ZjnFuh28QBzhL9/BhyIOOFih
|
||||
JJJm4VYvnEBLxZYdKwkVphgzUvgnsnJDykpfImwOn4/hLobMCXyo+A3aIAilPRSF
|
||||
mFy+eA3mLiNvZOIQ8nQ1fIHh90rOE9OT8UMEIr0IcY1Hv+uCLhsoHhCPP30fVUjF
|
||||
toCVVrohaJNTllJ+cPE5
|
||||
=R1xX
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NLCRCFq5bm+hvl/gAAZkYP/0+9zul3mVJk49Y65FD9ZVyj
|
||||
u3YzCDxjDBEPYV3YWqzIKYHsmZdBcjYGFZRlNOHaT40TWd1E7pes58roCoj23Lco
|
||||
XaxURpbJljEk+KYpmhjvgCj6ONQ9luyvXrMMMvnGBq7X9mxT3BAMXZy9DIy01NJI
|
||||
fjoJjtVA/xBjPNpVDzDoJ1U4H+xCFR6oPXj+sMzOlKuTADKznLO8Ci6kVM2i3Ztq
|
||||
L6sVcKnGpiJR1qhRI5Wa7kFhN39f2N4WnK9Nruterz5ByiOu7ZVRQHNfTpzfOrod
|
||||
t7UaU8u7tiKYy0I0pllNBmrITSpCpbJ8wDOJhr99WKGs/SPrS2C33DbPMY1CP/ha
|
||||
9tpEg4tN+x6VEBzsE6/DAyaMBcdzwqOpebYiDvyiKPIXdxupnfZWcqSYot5BrJua
|
||||
ojjdjkjJtDFrrzUUvlMDfZfmfemK4kwkVHXSE2KNFwHdflN7icFjGSS2sli6S67j
|
||||
mH+OKtoTx2KfORdqeC4BiyBHU17+4iWkcRMKEKw2W+Vh1IXVi4WMyNWBSsXVbq/I
|
||||
rLLICs+6XfmBQGnV4yMU9V8kifi3Gn2FHJo96xYWpMJn+HhdJQOa8DkLjl0VKZAk
|
||||
9MvQA0lQ6FThTqTGEdhEtZ0tzk2j0o0nXG/+fb0g3+BW1ddRCoeiXrLfkQFy6qmL
|
||||
+z0YkkK0APyDax1rbYyQ
|
||||
=s3vW
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NJCRCFq5bm+hvl/gAA6hkQAN/2jWK9na3k87hRH3fePPQR
|
||||
nJn778q0vkawkYGS7UKOfAzXRL98Xqru7Ix04bQ9yP6yzta4w8+Yek8YADI/JSXi
|
||||
OocK7w9lHuQZiOPWUG/5YJe/oVooUlTsCmFKB4um1X2BBLJ0gsxuG5xkn76Nio5T
|
||||
SF6wR1LJKzOOVVjgcXADiZNXuEWwM+QAU/zLVMev5Gdt88EQAcDxDoDtMXrSlEf8
|
||||
691/dMqe6EkDs2mGdtwoNgGMCVjUQLEq+PQECI8QaPU4LlZtBhtRPQ6QiPQhMr4K
|
||||
trbCzTb6zHbzzxrCbZqz5cYZJxgfZ+5x6HC2G/x+Bp2iLm38MtfBrDfw9IKaLvnS
|
||||
NhZCWPyfFel3pSfMiKQLbMnDE5khNDs4/RHsjEieOpVEw0pxPzRPlmaybtRk+pxw
|
||||
XmisiIfLgrKz3yy9PRaL2C7CGCQ4IzkBMrzDllVhDz9IAAhpQVU4Og17DLlxFI7T
|
||||
kkbhOqM/hcEEcxJgL0wgOSvEElsVH7QnLkDXb8Q2FUjagVkpdC+NfloDHr8hA3of
|
||||
lXTHBSMgQoVF1OOMDQg187omxoQhCnG1HASuV90jUsLsei5TGojcRiYjLvdk6HQq
|
||||
Hl9VmOfUD0AqQ0LdXwpadInn+RObGZp5xNLkhpwCMMZdO7TNsm+zEU1sIGyvXqJm
|
||||
jyExykS7HKeYZZqX/rIq
|
||||
=0B6+
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NICRCFq5bm+hvl/gAAYYkP/28B6jm/DqKkr0SGr2MInIu2
|
||||
V33CgCL1E/FTpoibb4nHHZD1Zbmbm32sEqk36EMiOliKuBn8ga7dzWlxm3s7whAM
|
||||
7hDpmZlzXeLS1fn2AbxZEOYrceHOtUMSUTL4ElE7xO5NhO9n802P5UGDvC2hqpUv
|
||||
krKSiF9XgxrrttRqCdIiuN6Rw74CMxcHY7HclR4pH8XBa6rHn+Btm6MCQyMjW5ot
|
||||
9VyQoKOgW7zj9qhGLBD7aXyzheK76aabhwNBX6jUBQqjuZph35qPHHTQVr7L4oM4
|
||||
U+zHvY5asqAIKjYt7HG1s8iD95Ce5LS2uT7RA9ncA1KDUBVUYOlKSBsI4F8458GN
|
||||
J7gZrH69c4kJ4aXFDfrcMgUkPYX+ozgL9KRDvIEsTI1gTYAwF9cEKLiQH7DbBH2+
|
||||
2BaYTfuaDt2Nvtk5MSTkeWf+X+tFSSI3sT4qVsuon8kQmz8TALndjjyAtzLpBzmu
|
||||
EhpGia2uNqAhbRrRYdBKKbp+/iiK2Rb0UxAWjOMaP94y25W0BMLLx1zZShrzzyJ8
|
||||
qJ2OuTmYTYHtn7ROW+xSWv5b+Tq209hW5BBAAJ9/Zr8fBG+smsK9DCSaxZuW46oy
|
||||
CL13uNtP/ySwL+ptKY/UQumPVGwYmCVjqVxVs7kWR+yKilIK7xin2hKF+TxZQc2x
|
||||
j3Xmf0zPRj0gyEvrSEhk
|
||||
=yF6V
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NICRCFq5bm+hvl/gAApsAP/0TBCp+I0zhgvhPmpcd4VmT2
|
||||
SJNrsbgoVDo7+kEhVGHJZyaWrMk5aL/ikRbuc+5/MZTlzdq73KFw03Xy7kjcQ8sk
|
||||
ezzS6Xe4n7NTVThSVpKDDz45UGKwt/cxir9qQfY1Z+6xgCOBDzKLmrBb24NmUXJh
|
||||
5BzFoYW4bmidAHKrjIZS68iBbuPCEuKkXx8sc2fs5dbgWKC4DaKNaTTfYEbc4SuB
|
||||
KxVVQp3pPzSvEYQIe3UvntkUCtkdCOstQibp8fG6gaxXCmL5Is40pI68ZnET3wC3
|
||||
mvIS+izZLiXbJThXrrrMupi88kW8MuI9JqPgrvStVXQO7KHqp2NNvEfZk2Ltmmn2
|
||||
2EdTH/hTP+/cLi6tquzZlhztP9lxXDoIsKnzaZ9z5/9RPl1inFMT4pbscNEVIX2S
|
||||
F+FM88ge0TzEZ2wLJnJnXWGyvM2xIMdPB6/qqaAYMHbuWhUlB3DmX7wL7xURwVu3
|
||||
9JMArbiDDm/YcfGr5kW9n8sSgJdrF8XLcI9KoZRTn4Em9mN50uBNEl/aVzaZJxFS
|
||||
QbjmDOrLonSdoxbC29Tl7M+2Qnc6bVNDkIgAaw2d8QlSSTRCkeQIwHYjh7W+dr7A
|
||||
p4xCAef5Droc839l81AjgcGPrMq6+OmT2FFpxrD6kvwqIMSt3HPO8uSrhyOyGO/K
|
||||
R02LzC6zHGlYPmsL+odb
|
||||
=jeH+
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NICRCFq5bm+hvl/gAA6eYP/06kvPiz6AEzkw0lafSa0tpJ
|
||||
/VMJbQgJMo3LDo+uXPsY0PpN3RQqVDBygUqzCvOGVp6U7KR6FgfXHRHd7z5q3N6k
|
||||
/42SP1jibYXKnB2xihg3kD7IPV2H6si1M5oNWaLGy4jSowBOuKlWkqztgLMq0OGn
|
||||
RcOCgKKH2Gvl6B1LXtmpOuIVT84JQyEr61My9j6ex6PO0PHfrBAfErb7p9fqatpW
|
||||
pzMGYhNYVenA/SkAqCB91GxvVM3agAFbFl0zwoqLE7gkOfdifAoKu3uY9Shn5Tsu
|
||||
PjPPvNYcrbaxVr4rM8UniOHyPPVqmldPL/ARvjSyQSKx5FBNkOHjm074GdfhPXaM
|
||||
m8MvnCWOdeqRdikXFBBmV9H0s8rJK+hdX0wQK008Y/fzzwnOhAS947oiXYVvdCCz
|
||||
SrSpLcOUsbaqruCxDrK3E17Yftz8RJvnXiEL4Z39pAup6+l7YkL8UCW7kHEMZAJ2
|
||||
wcbyaHJKkOvMV7x1gwAJjLiTke75htz3m3wMWAo71CxQfpsDbTggWZNy1ZI/veUl
|
||||
cnCbzRZj18tCbp+w2w3/xBzHJ1ug07DnqDP7eFnrZkQP8wWCwreTyuDKGTVKCxkw
|
||||
HcHaC06BNUtzG72Ow30bJmO1D/3bepBySB7tYDopA0C85dfvE1wdOajal3FavhZk
|
||||
LZNALlK79HAFJgGW56az
|
||||
=CBRP
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NKCRCFq5bm+hvl/gAAu64P/RJWaH91hC2thXTcB+xi5zYG
|
||||
PwkCBHOWeblDcZ0jyAOzlaPUMYvD5CykQBMyQKdOOUKEzqyW86LatltkPzlvPTVe
|
||||
cnvIx90WmkQsvFmxf5UAck5o1E1IX9HljEngybUbtGuTqoPh0K72S+WQbl5/SYAl
|
||||
Y3KAs99TVkbFzJPzw1FHMfiY4zgOHhpviLnJImetWwr8fsag+f4evv7RXI7w3AIH
|
||||
VQFTmhheZuXmYSk+g26NEn0jh+eTRbsL0NDd67eitZjHUBNUxfkScdC5RvrPKWgh
|
||||
5hNbSCUQEhqq0zVoEfxyutXtONPGIhRObwG5h4a0gvYfPlzUT0/Dj3wp9nepQIPl
|
||||
rzu29WVQo1MGM2jfNOfVilZBsaz4/1dXsejM4DsmoDU/BkitMamnHAf9Cw6Y+O0Y
|
||||
cGBApn0wR9X2jp7H3lu8bYuh6BJKfxWA7yYhUShdG5/cZdZdD+3U45oDSNUA1gd3
|
||||
75kDWbxagakqSfEqJFmtIgK7bD36c6A9f9Lndg5WOB/u7tzINFcDkF3qkx9/vm1p
|
||||
1/qgAng7vOnIChvpr2sdGVTCXn+RF8KxPoZFnPDuV5UaC5NHQTBKOihTYx+10kXY
|
||||
/jLCUtoJDGZ9erBYGOyX32xWygQ0xoWskgPhTK3Nvjgxxx6MeHyDW9DdBQM3WLc6
|
||||
QHS9+xnrPLoXkV5+xUuf
|
||||
=K1mY
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NLCRCFq5bm+hvl/gAA1K8P+wYL53pWJro1+jbJBFXKliyp
|
||||
d2PNb4M9olVf6WOpVcDLccoZ2ktgJupkfZ7IYKx4EKAA3CyQhuhZZnOjiDk8XeqV
|
||||
JSASXu/ZnCGGkirH8cevPM+KqTxI3MZorQDu9x/9oVJbKFEzxyq22uArcH+YVHCm
|
||||
JqCwUBHWv1vZlZ967ZSYO65a5d0EkxpdqccC7RylBXpxJ1fZS7RbvTcsk+qK4lrO
|
||||
c31ZPS67i1ifpMNjg3WfL7eGDVwiyCcvMT3gz/MOYdoeQidm8PZj5pMxw2a6GB0Z
|
||||
0bDDudd14tJGIFsEvpm2/TkJrryhroHGzQnrhlMa9ktkLuahbl/vJW1yr4oZaLEt
|
||||
AhYbE3oNNNNKVW2KpcUQbcJxD90R9lrzziB6JEt/l9geH1GpQNHn31LzLOq3SpU4
|
||||
atFuOqHxHKAHGH4Go0qPXw59yMScSjcIG1HTRM4Vy9y0UT9S9xo6aDgpPcBMcpN8
|
||||
AkAzwBmUS3dQQ6EnfcrDpLjFBwr6pXvt8aBuNDlLJE8AFY/MdkM5ivW5uMHbLVk7
|
||||
n6HY+SnCOW6ee5LyX3w5AXrgy4lXpYq2HUX/GKxSqW/sSgQliN5W/+/5TL7vuT8K
|
||||
tSo/Zn4DvuXa89UR9e+t1ZZFTWw59A8TfE4eYZR1hcP7j607IAxWgsJthcYzfEDb
|
||||
wjte5SvGmhu0jOdodXaA
|
||||
=hbJ9
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJmM4NJCRCFq5bm+hvl/gAA6E8QAMROmYrDDUNFBDmgYqGiHQip
|
||||
zGaoENuyXfL7YcW8ShJkuxDNTgAYduIziFz7vhi+NUc3Dy/ybaAWqalbqLvvdCPf
|
||||
80thY9WEqFpUnCJWOxfyP56o0KyF5uBiKunJ+vC1k46INlGPeokiolzeqJmFqWEA
|
||||
RyMkfIXNjnaZr83TxMzphq30dltOD+KJoO5AA+I1v2jxiihNxP2+FqjQsv7bX5FG
|
||||
PxT9/IrRzIKlODrQ48o6oEp9mfq0A0MYc7vmbTbe6h9pbk3ErZPq1dCMYhXAjQSx
|
||||
ibSZPPTfvTs6vjdqK8KsXuCYVfrMDs1OxAh75OnRVkIEureb6ObIh1ErwD4H0CTg
|
||||
82N6KFS9TTqI7LlawxgFhIr/np3pBNWHh2NWYBtyXP4HNAluFTPAYoXFmqfVfzOe
|
||||
pqbmtehL3Qir+ZpJKl/7dEFbbIkZ97M4ezhHfDGiCIFos6jHqgcAlg1tHe4yQ3nl
|
||||
YFjEyNp7IizeBll4eoCVd0p3Zlkcy57Xnj3Trs05penHPVdV4uu7uqmWpB66tPk2
|
||||
Fudc1QWWjqrSY56YYb67MtYOLW9F/uVS66MUp35PyJDVOEuxXiKY0BWKVSDljMIQ
|
||||
Hj7Qq1T2td97jRo7ejTJLy9dIMIfHHKwxvMUKXK/ChTNivYS33R4wBpv2+89iZRh
|
||||
XiABQRHRUZSV5AHnjNJ/
|
||||
=OcW3
|
||||
-----END PGP SIGNATURE-----
|
85
rust.keyring
Normal file
85
rust.keyring
Normal file
@ -0,0 +1,85 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
/5A5vjHh+NhFwH5h2vBJVPdsz6k=
|
||||
=jRHo
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
35
rust1.78-rpmlintrc
Normal file
35
rust1.78-rpmlintrc
Normal file
@ -0,0 +1,35 @@
|
||||
# we are exporting the buildroot, not changing it, this lint is wrong.
|
||||
addFilter("rpm-buildroot-usage")
|
||||
|
||||
# rlib not in elf format
|
||||
# addFilter("binaryinfo-readelf-failed.*/usr/lib/rustlib/.*rlib")
|
||||
|
||||
# rust has no stable ABI as of yet, soname is of no use yet
|
||||
addFilter("no-soname.*/usr/lib/rustlib/.*")
|
||||
addFilter("no-soname.*/usr/lib/lib*")
|
||||
|
||||
# error when building with bootstrap. ignore for now
|
||||
# addFilter(".*shlib-policy-name-error.*libLLVM-11.*")
|
||||
|
||||
# Rustc driver calls exit, this is fine
|
||||
# addFilter(".*shared-lib-calls-exit.*/usr/lib/librustc_driver.*")
|
||||
# addFilter("potential-bashisms.*/usr/bin/rust-lldb")
|
||||
# addFilter("position-independent-executable-suggested.*/usr/bin/rust-llvm-dwp")
|
||||
|
||||
addFilter("non-devel-file-in-devel-package /usr/lib/.*so")
|
||||
# addFilter("non-devel-file-in-devel-package /usr/lib/rustlib/.*")
|
||||
|
||||
## Sssshhh warnings, we know. This is intentional so that linking
|
||||
# works properly during users build times.
|
||||
addFilter("devel-dependency glibc-devel")
|
||||
|
||||
# Can't read wasm files, that's okay.
|
||||
addFilter("readelf-failed /usr/lib/rustlib/wasm32-wasi/lib/self-contained/libc.a")
|
||||
|
||||
# We know, it's okay.
|
||||
addFilter("obsolete-not-provided .*")
|
||||
|
||||
# We need to provide the rust sources, they aren't a devel package.
|
||||
addFilter("devel-file-in-non-devel-package .*")
|
||||
# Some of the sources have test scripts, ignore.
|
||||
addFilter("env-script-interpreter .*")
|
113
rust1.78.changes
Normal file
113
rust1.78.changes
Normal file
@ -0,0 +1,113 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 28 06:38:06 UTC 2024 - William Brown <william.brown@suse.com>
|
||||
|
||||
- Fix incorrect test conditional
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 27 06:51:05 UTC 2024 - William Brown <william.brown@suse.com>
|
||||
|
||||
- Add src, rustfmt and clippy for the Linux Kernel CI tooling.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 17 22:53:49 UTC 2024 - William Brown <william.brown@suse.com>
|
||||
|
||||
- Update incorrect tumbleweed version check.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 14 04:09:40 UTC 2024 - William Brown <william.brown@suse.com>
|
||||
|
||||
Version 1.78.0 (2024-05-02)
|
||||
==========================
|
||||
|
||||
Language
|
||||
--------
|
||||
- [Stabilize `#[cfg(target_abi = ...)]`](https://github.com/rust-lang/rust/pull/119590/)
|
||||
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://github.com/rust-lang/rust/pull/119888/)
|
||||
- [Make async-fn-in-trait implementable with concrete signatures](https://github.com/rust-lang/rust/pull/120103/)
|
||||
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://github.com/rust-lang/rust/pull/116284/)
|
||||
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://github.com/rust-lang/rust/pull/117614/)
|
||||
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://github.com/rust-lang/rust/pull/118983/)
|
||||
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://github.com/rust-lang/rust/pull/118879/)
|
||||
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://github.com/rust-lang/rust/pull/117918/)
|
||||
This lint currently only works when using Cargo.
|
||||
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://github.com/rust-lang/rust/pull/120423/)
|
||||
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://github.com/rust-lang/rust/pull/120805/)
|
||||
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://github.com/rust-lang/rust/pull/121720/)
|
||||
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://github.com/rust-lang/rust/pull/119849)
|
||||
- [Weaken eager detection of cyclic types during type inference](https://github.com/rust-lang/rust/pull/119989)
|
||||
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://github.com/rust-lang/rust/pull/119338)
|
||||
|
||||
Compiler
|
||||
--------
|
||||
|
||||
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://github.com/rust-lang/rust/pull/111505/)
|
||||
- [Increase accuracy of redundant `use` checking](https://github.com/rust-lang/rust/pull/117772/)
|
||||
- [Suggest moving definition if non-found macro_rules! is defined later](https://github.com/rust-lang/rust/pull/121130/)
|
||||
- [Lower transmutes from int to pointer type as gep on null](https://github.com/rust-lang/rust/pull/121282/)
|
||||
|
||||
Target changes:
|
||||
|
||||
- [Windows tier 1 targets now require at least Windows 10](https://github.com/rust-lang/rust/pull/115141/)
|
||||
- [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://github.com/rust-lang/rust/pull/120820/)
|
||||
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://github.com/rust-lang/rust/pull/120468/)
|
||||
- [Add `wasm32-wasip2` tier 3 target](https://github.com/rust-lang/rust/pull/119616/)
|
||||
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://github.com/rust-lang/rust/pull/122170/)
|
||||
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://github.com/rust-lang/rust/pull/119199/)
|
||||
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://github.com/rust-lang/rust/pull/110482/)
|
||||
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://github.com/rust-lang/rust/pull/121832/)
|
||||
|
||||
Refer to Rust's [platform support page][platform-support-doc]
|
||||
for more information on Rust's tiered platform support.
|
||||
|
||||
Libraries
|
||||
---------
|
||||
|
||||
- [Bump Unicode to version 15.1.0, regenerate tables](https://github.com/rust-lang/rust/pull/120777/)
|
||||
- [Make align_offset, align_to well-behaved in all cases](https://github.com/rust-lang/rust/pull/121201/)
|
||||
- [PartialEq, PartialOrd: document expectations for transitive chains](https://github.com/rust-lang/rust/pull/115386/)
|
||||
- [Optimize away poison guards when std is built with panic=abort](https://github.com/rust-lang/rust/pull/100603/)
|
||||
- [Replace pthread `RwLock` with custom implementation](https://github.com/rust-lang/rust/pull/110211/)
|
||||
- [Implement unwind safety for Condvar on all platforms](https://github.com/rust-lang/rust/pull/121768/)
|
||||
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://github.com/rust-lang/rust/pull/121138/)
|
||||
|
||||
Stabilized APIs
|
||||
---------------
|
||||
|
||||
- [`impl Read for &Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin)
|
||||
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://github.com/rust-lang/rust/pull/113833/)
|
||||
- [Make `impl<Fd: AsFd>` impl take `?Sized`](https://github.com/rust-lang/rust/pull/114655/)
|
||||
- [`impl From<TryReserveError> for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error)
|
||||
|
||||
These APIs are now stable in const contexts:
|
||||
|
||||
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new)
|
||||
|
||||
Cargo
|
||||
-----
|
||||
|
||||
- [Stabilize lockfile v4](https://github.com/rust-lang/cargo/pull/12852/)
|
||||
- [Respect `rust-version` when generating lockfile](https://github.com/rust-lang/cargo/pull/12861/)
|
||||
- [Control `--charset` via auto-detecting config value](https://github.com/rust-lang/cargo/pull/13337/)
|
||||
- [Support `target.<triple>.rustdocflags` officially](https://github.com/rust-lang/cargo/pull/13197/)
|
||||
- [Stabilize global cache data tracking](https://github.com/rust-lang/cargo/pull/13492/)
|
||||
|
||||
Misc
|
||||
----
|
||||
|
||||
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://github.com/rust-lang/rust/pull/114651/)
|
||||
|
||||
Compatibility Notes
|
||||
-------------------
|
||||
|
||||
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://github.com/rust-lang/rust/pull/120594/)
|
||||
This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
|
||||
- [riscv only supports split_debuginfo=off for now](https://github.com/rust-lang/rust/pull/120518/)
|
||||
- [Consistently check bounds on hidden types of `impl Trait`](https://github.com/rust-lang/rust/pull/121679)
|
||||
- [Change equality of higher ranked types to not rely on subtyping](https://github.com/rust-lang/rust/pull/118247)
|
||||
- [When called, additionally check bounds on normalized function return type](https://github.com/rust-lang/rust/pull/118882)
|
||||
- [Expand coverage for `arithmetic_overflow` lint](https://github.com/rust-lang/rust/pull/119432/)
|
||||
- [Fix detection of potential interior mutability in `const` initializers](https://github.com/rust-lang/rust/issues/121250)
|
||||
This code was accidentally accepted. The fix can break generic code that borrows a value of unknown type,
|
||||
as there is currently no way to declare "this type has no interior mutability". In the future, stabilizing
|
||||
the [`Freeze` trait](https://github.com/rust-lang/rust/issues/121675) will allow proper support for such code.
|
||||
|
786
rust1.78.spec
Normal file
786
rust1.78.spec
Normal file
@ -0,0 +1,786 @@
|
||||
#
|
||||
# spec file for package rust1.78
|
||||
#
|
||||
# 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.78
|
||||
%global version_current 1.78.0
|
||||
%global version_previous 1.77.2
|
||||
# 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.77%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.76%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.75%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.74%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.73%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.72%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.71%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.70%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.69%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.68%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.67%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.66%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.65%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.64%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.63%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.62%{?2:-%{2}}
|
||||
|
||||
# ⚠️ Must leave 1.62 here due to kernel requirements.
|
||||
|
||||
# Build the rust target triple.
|
||||
# Some rust arches don't match what SUSE labels them.
|
||||
%global rust_arch %{_arch}
|
||||
%global abi gnu
|
||||
|
||||
%ifarch armv7hl
|
||||
%global rust_arch armv7
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch armv6hl
|
||||
%global rust_arch arm
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch ppc
|
||||
%global rust_arch powerpc
|
||||
%endif
|
||||
|
||||
%ifarch ppc64
|
||||
%global rust_arch powerpc64
|
||||
%endif
|
||||
|
||||
%ifarch ppc64le
|
||||
%global rust_arch powerpc64le
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%global rust_arch riscv64gc
|
||||
%endif
|
||||
|
||||
# Must restrict the x86 build to i686 since i586 is currently
|
||||
# unsupported
|
||||
%ifarch %{ix86}
|
||||
%global rust_arch i686
|
||||
%endif
|
||||
|
||||
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
||||
|
||||
# Web Assembly targets
|
||||
%define rust_wasm_targets %{?with_wasm32:,wasm32-unknown-unknown%{?with_wasi:,wasm32-wasi}}
|
||||
|
||||
# Base Rust targets for all architectures
|
||||
%define rust_base_targets %{rust_triple}%{rust_wasm_targets}
|
||||
|
||||
# For x86-64 add the x86_64-unknown-none target
|
||||
%ifarch x86_64
|
||||
%define rust_target_list %{rust_base_targets},x86_64-unknown-none
|
||||
%else
|
||||
%define rust_target_list %{rust_base_targets}
|
||||
%endif
|
||||
|
||||
# All sources and bootstraps are fetched form here
|
||||
%global dl_url https://static.rust-lang.org/dist
|
||||
|
||||
# Rust doesn't function well when put in /usr/lib64
|
||||
%global common_libdir %{_prefix}/lib
|
||||
%global rustlibdir %{common_libdir}/rustlib
|
||||
|
||||
# Detect if sccache has been requested by the build
|
||||
%if "%{getenv:RUSTC_WRAPPER}" == "sccache"
|
||||
%bcond_without sccache
|
||||
%else
|
||||
%bcond_with sccache
|
||||
%endif
|
||||
|
||||
# === rust arch support tiers ===
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
|
||||
# tl;dr only aarch64, x86_64 and i686 are guaranteed to work.
|
||||
#
|
||||
# armv6/7, s390x, ppc[64[le]], riscv are all "guaranteed to build" only
|
||||
# but may not always work.
|
||||
|
||||
# === broken distro llvm ===
|
||||
# In some situations the llvm provided on the platform may not work.
|
||||
# we add these conditions here.
|
||||
#
|
||||
# ⚠️ SLE/LEAP 15.3 LLVM is too old!
|
||||
# ⚠️ 1.59 breaks codegen with distro llvm!!!
|
||||
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
# && "{version_suffix}" != "1.61"
|
||||
# Can proceed with pinned llvm.
|
||||
%bcond_with bundled_llvm
|
||||
%else
|
||||
# Use bundled llvm instead.
|
||||
# For details see boo#1192067
|
||||
%bcond_without bundled_llvm
|
||||
%endif
|
||||
|
||||
# === Use clang/lld during build if possible ===
|
||||
# i586 - unable to link libatomic
|
||||
# aarch64 - fails due to an invalid linker flag
|
||||
#
|
||||
%bcond_with llvmtools
|
||||
|
||||
# Depending on our environment, we may need to configure our linker in a different manner.
|
||||
|
||||
# If we elect for llvm, always use clang.
|
||||
%if %{with llvmtools}
|
||||
%define rust_linker clang
|
||||
%else
|
||||
%if 0%{?gcc_version} != 0
|
||||
%define rust_linker gcc-%{gcc_version}
|
||||
%else
|
||||
%define rust_linker cc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# === Enable wasm/wasi on t1 targets ===
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
%ifarch x86_64 aarch64
|
||||
%bcond_without wasm32
|
||||
%bcond_without wasi
|
||||
%else
|
||||
%bcond_with wasm32
|
||||
%bcond_with wasi
|
||||
%endif
|
||||
%else
|
||||
%bcond_with wasm32
|
||||
%bcond_with wasi
|
||||
%endif
|
||||
|
||||
# Test is done in a different multibuild package (rustXXX-test). This
|
||||
# package will replace the local-rust-root and use the systems's one
|
||||
# from the rustXXX package itself. This will exercise the compiler,
|
||||
# even tho, the tests will require more compilation. If we do not
|
||||
# agree on this model we can drop the _multibuild option and do the
|
||||
# pct check as a part of the main spec.
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%if "%{flavor}" == "test"
|
||||
%define psuffix -test
|
||||
%bcond_without test
|
||||
%else
|
||||
%define psuffix %{nil}
|
||||
%bcond_with test
|
||||
%endif
|
||||
|
||||
# """
|
||||
# Do not use parallel codegen in order to
|
||||
# a) not exhaust memory on build-machines and
|
||||
# b) generate the fastest possible binary
|
||||
# at the cost of longer build times for this package
|
||||
# """
|
||||
#
|
||||
# These claims are incorrect
|
||||
# a) codegen=1, actually consumes MORE memory due to the fact that the full
|
||||
# code unit is then LTO'd in a single pass. This can cause LLVM to internally OOM
|
||||
# especially if the machine has less than 1G of ram, and this is documented:
|
||||
# * https://github.com/rust-lang/rust/issues/85598
|
||||
# it has also been observed in OBS during builds of 1.52 and 1.53
|
||||
#
|
||||
# b) the performance gains from codegen=1 are minimal at best, and not worth
|
||||
# us messing about with these values - especially when the rust language team
|
||||
# probably know more about how to set and tune these based on data and research
|
||||
#
|
||||
# Debuginfo can exhaust memory on these architecture workers
|
||||
%ifarch %{arm} %{ix86}
|
||||
%define debug_info --debuginfo-level=0 --debuginfo-level-rustc=0 --debuginfo-level-std=0 --debuginfo-level-tools=0 --debuginfo-level-tests=0
|
||||
%else
|
||||
%define debug_info %{nil}
|
||||
%endif
|
||||
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
|
||||
# Exclude implicitly-scanned Provides, especially the libLLVM.so ones:
|
||||
%global __provides_exclude_from ^%{rustlibdir}/.*$
|
||||
|
||||
Name: rust%{version_suffix}%{psuffix}
|
||||
Version: %{version_current}
|
||||
Release: 0
|
||||
Summary: A systems programming language
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
URL: https://www.rust-lang.org
|
||||
Source0: %{dl_url}/rustc-%{version}-src.tar.xz
|
||||
Source1: rust.keyring
|
||||
%if %{without test}
|
||||
Source99: %{name}-rpmlintrc
|
||||
%endif
|
||||
Source100: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 100
|
||||
Source101: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz
|
||||
NoSource: 101
|
||||
Source102: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 102
|
||||
Source103: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz
|
||||
NoSource: 103
|
||||
Source104: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz
|
||||
NoSource: 104
|
||||
Source105: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 105
|
||||
Source106: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz
|
||||
NoSource: 106
|
||||
Source107: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz
|
||||
NoSource: 107
|
||||
Source108: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz
|
||||
NoSource: 108
|
||||
Source109: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz
|
||||
NoSource: 109
|
||||
Source200: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 200
|
||||
Source201: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 201
|
||||
Source202: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 202
|
||||
Source203: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz.asc
|
||||
NoSource: 203
|
||||
Source204: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz.asc
|
||||
NoSource: 204
|
||||
Source205: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 205
|
||||
Source206: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 206
|
||||
Source207: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 207
|
||||
Source208: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 208
|
||||
Source209: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 209
|
||||
# Make factory-auto stop complaining...
|
||||
Source1000: README.suse-maint
|
||||
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
|
||||
Patch0: ignore-Wstring-conversion.patch
|
||||
# IMPORTANT - To generate patches for submodules in git so they apply relatively you can use
|
||||
# git format-patch --text --dst-prefix=b/src/tools/cargo/ HEAD~2
|
||||
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: curl
|
||||
# BUG - fdupes on leap/sle causes issues with debug info
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
BuildRequires: fdupes
|
||||
%endif
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: procps
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: util-linux
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
# Set requires appropriately
|
||||
%if %with sccache
|
||||
BuildRequires: sccache
|
||||
%else
|
||||
BuildRequires: ccache
|
||||
%endif
|
||||
|
||||
# For linking to platform
|
||||
Requires: glibc-devel
|
||||
# Rustc doesn't really do much without Cargo, but you know, if you wanna yolo that ...
|
||||
Recommends: cargo
|
||||
# For static linking
|
||||
Recommends: glibc-devel-static
|
||||
|
||||
%if %{with wasi}
|
||||
BuildRequires: wasi-libc
|
||||
%endif
|
||||
|
||||
%if %{with llvmtools}
|
||||
BuildRequires: clang
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: lld
|
||||
Requires: clang
|
||||
Requires: lld
|
||||
%else
|
||||
%if 0%{?gcc_version} != 0
|
||||
BuildRequires: gcc%{gcc_version}-c++
|
||||
Requires: gcc%{gcc_version}
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
Requires: gcc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# CMake and Ninja required to drive the bundled llvm build.
|
||||
# Cmake is also needed in tests.
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150200
|
||||
# In these distros cmake is 2.x, or 3.X < 3.13, so we need cmake3 for building llvm.
|
||||
BuildRequires: cmake3 > 3.13.4
|
||||
%else
|
||||
BuildRequires: cmake > 3.13.4
|
||||
%endif
|
||||
|
||||
# To build rust-lld
|
||||
BuildRequires: ninja
|
||||
|
||||
%if %{without bundled_llvm}
|
||||
# Use distro provided LLVM on Tumbleweed, but pin it to the matching LLVM!
|
||||
# For details see boo#1192067
|
||||
BuildRequires: llvm%{llvm_version}-devel
|
||||
BuildRequires: clang%{llvm_version}
|
||||
Requires: lld%{llvm_version}
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
BuildRequires: cargo%{version_suffix} = %{version}
|
||||
BuildRequires: rust%{version_suffix} = %{version}
|
||||
# Static linking tests need this.
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: git
|
||||
|
||||
%if %{without bundled_llvm}
|
||||
# For FileCheck
|
||||
BuildRequires: llvm%{llvm_version}-devel
|
||||
%endif
|
||||
|
||||
%if %{with wasm32}
|
||||
BuildRequires: nodejs-default
|
||||
%endif
|
||||
|
||||
# End with test
|
||||
%endif
|
||||
|
||||
%obsolete_rust_versioned rust
|
||||
Conflicts: rust+rustc < %{version}
|
||||
Conflicts: rustc-bootstrap
|
||||
Provides: rust+rustc = %{version}
|
||||
Conflicts: rust-std < %{version}
|
||||
Obsoletes: rust-std < %{version}
|
||||
Provides: rust-std = %{version}
|
||||
Conflicts: rust-std-static < %{version}
|
||||
Obsoletes: rust-std-static < %{version}
|
||||
Provides: rust-std-static = %{version}
|
||||
Conflicts: rust-gdb < %{version}
|
||||
Obsoletes: rust-gdb < %{version}
|
||||
Provides: rust-gdb = %{version}
|
||||
|
||||
%if %{without test}
|
||||
# Restrict the architectures as building rust relies on being
|
||||
# initially bootstrapped before we can build the n+1 release
|
||||
ExclusiveArch: x86_64 %{arm} aarch64 ppc ppc64 ppc64le s390x %{ix86} riscv64
|
||||
%ifarch %{ix86}
|
||||
ExclusiveArch: i686
|
||||
%endif
|
||||
%else
|
||||
# Restrict for Tier 1 targets (but we should report bugs in Tier 2)
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-1-with-host-tools
|
||||
ExclusiveArch: x86_64 i686 aarch64
|
||||
%endif
|
||||
|
||||
%description
|
||||
Rust is a systems programming language focused on three goals: safety,
|
||||
speed, and concurrency. It maintains these goals without having a
|
||||
garbage collector, making it a useful language for a number of use
|
||||
cases other languages are not good at: embedding in other languages,
|
||||
programs with specific space and time requirements, and writing
|
||||
low-level code, like device drivers and operating systems. It improves
|
||||
on current languages targeting this space by having a number of
|
||||
compile-time safety checks that produce no runtime overhead, while
|
||||
eliminating all data races. Rust also aims to achieve "zero-cost
|
||||
abstractions", even though some of these abstractions feel like those
|
||||
of a high-level language. Even then, Rust still allows precise control
|
||||
like a low-level language would.
|
||||
|
||||
%package -n cargo%{version_suffix}
|
||||
Summary: The Rust package manager
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-std = %{version}
|
||||
Obsoletes: cargo-vendor < %{version}
|
||||
Provides: cargo-vendor = %{version}
|
||||
Provides: rust+cargo = %{version}
|
||||
%obsolete_rust_versioned cargo
|
||||
|
||||
%description -n cargo%{version_suffix}
|
||||
Cargo downloads dependencies of Rust projects and compiles it.
|
||||
|
||||
%package src
|
||||
Summary: The Rust Standard Library Source
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-std = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description src
|
||||
Rust Stanard Library Sources are required for building some types of projects
|
||||
|
||||
%prep
|
||||
# Previously the stage0 compiler was skipped in test builds, but there are now
|
||||
# tests in rust's source tree that require it.
|
||||
%ifarch x86_64
|
||||
%setup -q -T -b 100 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
%setup -q -T -b 101 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 102 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
%setup -q -T -b 103 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv6hl
|
||||
%setup -q -T -b 104 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
%setup -q -T -b 105 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
%setup -q -T -b 106 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch s390x
|
||||
%setup -q -T -b 107 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc
|
||||
%setup -q -T -b 108 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
%setup -q -T -b 109 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
./install.sh --components=cargo,rustc,rust-std-%{rust_triple} --prefix=.%{_prefix} --disable-ldconfig
|
||||
|
||||
%global rust_root %{_builddir}/rust-%{version_current}-%{rust_triple}%{_prefix}
|
||||
|
||||
%autosetup -p1 -n rustc-%{version}-src
|
||||
|
||||
# We never enable emscripten.
|
||||
rm -rf src/llvm-emscripten/
|
||||
# We never enable other LLVM tools.
|
||||
rm -rf src/tools/clang
|
||||
rm -rf src/tools/lldb
|
||||
|
||||
# Fix rpmlint error "This script uses 'env' as an interpreter"
|
||||
sed -i '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' library/core/src/unicode/printable.py
|
||||
chmod +x library/core/src/unicode/printable.py
|
||||
|
||||
# Debugging for if anything goes south.
|
||||
lscpu
|
||||
free -h
|
||||
df -h
|
||||
|
||||
%build
|
||||
|
||||
# Create exports file
|
||||
# Keep all the "export VARIABLE" together here, so they can be
|
||||
# reread in the %%install section below.
|
||||
# If the environments between build and install and different,
|
||||
# everything will be rebuilt during installation!
|
||||
|
||||
%if %{with llvmtools}
|
||||
cat > .env.sh <<EOF
|
||||
export CC="/usr/bin/clang"
|
||||
export CXX="/usr/bin/clang++"
|
||||
EOF
|
||||
%else
|
||||
|
||||
%if 0%{?gcc_version} != 0
|
||||
cat > .env.sh <<EOF
|
||||
export CC="/usr/bin/gcc-%{gcc_version}"
|
||||
export CXX="/usr/bin/g++-%{gcc_version}"
|
||||
EOF
|
||||
%else
|
||||
cat > .env.sh <<EOF
|
||||
export CC="gcc"
|
||||
export CXX="g++"
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
# -Clink-arg=-B{_prefix}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||
# -Clink-arg=-B{rust_root}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||
|
||||
%if %{with sccache}
|
||||
export CC="/usr/bin/sccache ${CC}"
|
||||
export CXX="/usr/bin/sccache ${CXX}"
|
||||
%endif
|
||||
|
||||
cat >> .env.sh <<EOF
|
||||
export CXXFLAGS="-I/home/abuild/rpmbuild/BUILD/rustc-%{version}-src/src/llvm-project/libunwind/include/"
|
||||
export PATH="%{_prefix}/lib/rustlib/%{rust_triple}/bin/:${PATH}"
|
||||
export RUSTFLAGS="%{rustflags} -Clinker=%{rust_linker}"
|
||||
export LD_LIBRARY_PATH="%{rust_root}/lib"
|
||||
export SCCACHE_IDLE_TIMEOUT="3000"
|
||||
export DESTDIR=%{buildroot}
|
||||
export CARGO_FEATURE_VENDORED=1
|
||||
unset FFLAGS
|
||||
unset MALLOC_CHECK_
|
||||
unset MALLOC_PERTURB_
|
||||
# END EXPORTS
|
||||
EOF
|
||||
. ./.env.sh
|
||||
|
||||
# Sometimes to debug sccache we need to know the state of the env.
|
||||
env
|
||||
|
||||
# Check our rustroot works as we expect
|
||||
%if %{without test}
|
||||
cat >> main.rs <<EOF
|
||||
fn main() {}
|
||||
EOF
|
||||
RUSTC_LOG=rustc_codegen_ssa::back::link=info %{rust_root}/bin/rustc -C link-args=-Wl,-v ${RUSTFLAGS} main.rs
|
||||
%endif
|
||||
|
||||
# Find compiler-rt
|
||||
%if %{without bundled_llvm}
|
||||
PATH_TO_LLVM_PROFILER=`echo %{_libdir}/clang/??/lib/linux/libclang_rt.profile-*.a`
|
||||
%endif
|
||||
|
||||
# The configure macro will modify some autoconf-related files, which upsets
|
||||
# cargo when it tries to verify checksums in those files. So we don't use
|
||||
# the macro, as it provides no tangible benefit to our build process.
|
||||
# FUTURE: See if we can build sanitizers without the full llvm bundling.
|
||||
# {?with_tier1: --enable-sanitizers} \
|
||||
|
||||
./configure \
|
||||
--build=%{rust_triple} --host=%{rust_triple} \
|
||||
--target %{rust_target_list} \
|
||||
%{?with_wasi: --set target.wasm32-wasi.wasi-root=%{_datadir}/wasi-sysroot/ } \
|
||||
--prefix=%{_prefix} \
|
||||
--bindir=%{_bindir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--datadir=%{_datadir} \
|
||||
--localstatedir=%{_localstatedir} \
|
||||
--mandir=%{_mandir} \
|
||||
--infodir=%{_infodir} \
|
||||
--libdir=%{common_libdir} \
|
||||
--docdir=%{_docdir}/rust \
|
||||
--enable-local-rust \
|
||||
%{!?with_test: --local-rust-root=%{rust_root} --disable-rpath} \
|
||||
%{!?with_bundled_llvm: --llvm-root=%{_prefix} --enable-llvm-link-shared} \
|
||||
%{?with_bundled_llvm: --disable-llvm-link-shared --set llvm.link-jobs=0} \
|
||||
%{?with_llvmtools: --set rust.use-lld=true --set llvm.use-linker=lld} \
|
||||
--set rust.lld=true \
|
||||
--default-linker=%{rust_linker} \
|
||||
%{?with_sccache: --enable-sccache} \
|
||||
%{!?with_sccache: --enable-ccache} \
|
||||
--disable-docs \
|
||||
--disable-compiler-docs \
|
||||
--enable-verbose-tests \
|
||||
%{debug_info} \
|
||||
--enable-vendor \
|
||||
--enable-extended \
|
||||
--tools="cargo,clippy,rustdoc,rustfmt,src" \
|
||||
--release-channel="stable" \
|
||||
--set rust.deny-warnings=false \
|
||||
%{!?with_bundled_llvm: --set target.%{rust_triple}.profiler=${PATH_TO_LLVM_PROFILER}} \
|
||||
%{?with_bundled_llvm: --set target.%{rust_triple}.profiler=true} \
|
||||
%{nil}
|
||||
|
||||
# We set deny warnings to false due to a problem where rust upstream didn't test building with
|
||||
# the same version (they did previous ver)
|
||||
|
||||
%if %{without test}
|
||||
python3 ./x.py build
|
||||
# Debug for post build
|
||||
free -h
|
||||
df -h
|
||||
%endif
|
||||
|
||||
%install
|
||||
# Reread exports file
|
||||
%if %{without test}
|
||||
. ./.env.sh
|
||||
|
||||
python3 ./x.py install
|
||||
|
||||
# bsc#1199126 - rust-lld contains an rpath, which is invalid.
|
||||
chrpath -d %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-lld
|
||||
|
||||
%if %{with bundled_llvm}
|
||||
# To facilitate tests when we aren't using system LLVM, we need filecheck available.
|
||||
install -m 0755 %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/FileCheck %{buildroot}%{rustlibdir}/%{rust_triple}/bin/FileCheck
|
||||
%endif
|
||||
|
||||
# Remove the license files from _docdir: make install put duplicates there
|
||||
rm %{buildroot}%{_docdir}/rust/{README.md,COPYRIGHT,LICENSE*}
|
||||
rm %{buildroot}%{_docdir}/rust/*.old
|
||||
|
||||
# Remove installer artifacts (manifests, uninstall scripts, etc.)
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
|
||||
|
||||
# Remove hidden files from source
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.appveyor.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.travis.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.cirrus.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.clang-format' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type d -name '.github' -exec rm -r -v '{}' '+'
|
||||
|
||||
# The shared libraries should be executable to allow fdupes find duplicates.
|
||||
find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||
|
||||
# The shared libraries should be executable for debuginfo extraction.
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||
|
||||
# Create the path for crate-devel packages
|
||||
mkdir -p %{buildroot}%{_datadir}/cargo/registry
|
||||
|
||||
# Remove completions
|
||||
rm -rf %{buildroot}%{_prefix}/src/etc/bash_completion.d
|
||||
# rmdir %{buildroot}%{_prefix}/src/etc
|
||||
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d
|
||||
rm -rf %{buildroot}%{_datadir}/zsh
|
||||
|
||||
# There should be nothing here at all
|
||||
rm -rf %{buildroot}%{_sysconfdir}
|
||||
# cargo does not respect our _libexec setting on Leap:
|
||||
if [ ! -f %{buildroot}%{_libexecdir}/cargo-credential-1password ] &&
|
||||
[ -f %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password ]; then
|
||||
mv %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password \
|
||||
%{buildroot}%{_libexecdir}/cargo-credential-1password
|
||||
fi
|
||||
|
||||
# Silence any duplicate library warnings.
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
%fdupes %{buildroot}/%{common_libdir}
|
||||
%endif
|
||||
|
||||
# Ugly hack to get brp-15-strip-debug call llvm-strip, which is wasm-aware, as system-strip will break wasm-files (same for ar/ranlib)
|
||||
export CROSS_COMPILE=llvm-
|
||||
|
||||
# End without test
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
%check
|
||||
. ./.env.sh
|
||||
|
||||
# Tests require stage0 in place, so we need to symlink that in for compiler access.
|
||||
# Generally in a non-local rust build, this process assumes you downloaded and unpacked
|
||||
# the compiler toolchain into stage0, which is why we have to feed that in manually.
|
||||
mkdir -p %{_builddir}/rustc-%{version}-src/build/%{rust_triple}
|
||||
ln -s %{rust_root} %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/stage0
|
||||
|
||||
# Need to exclude issue-71519 as when we enable lld for wasm, this test incorrectly assumes
|
||||
# we can use it with -Z gcc-ld=lld (which is sadly trapped in nightly). We can't exclude
|
||||
# a single test so sadly we have to exclude that whole suite.
|
||||
%ifarch aarch64
|
||||
python3 ./x.py test --target=%{rust_triple} \
|
||||
--exclude tests/run-make/issue-71519 \
|
||||
--exclude tests/run-make/pgo-branch-weights \
|
||||
--exclude src/tools/tidy \
|
||||
--exclude src/tools/expand-yaml-anchors \
|
||||
--exclude tests/ui/methods \
|
||||
--exclude tests/ui/typeck \
|
||||
--exclude tests/ui/issues/issue-21763 \
|
||||
--exclude tests/ui/mismatched_types \
|
||||
--exclude tests/run-make/short-ice \
|
||||
--exclude tests/run-make/rust-lld \
|
||||
--exclude src/bootstrap
|
||||
%else
|
||||
python3 ./x.py test --target=%{rust_triple} \
|
||||
--exclude tests/run-make/issue-71519 \
|
||||
--exclude tests/run-make/pgo-branch-weights \
|
||||
--exclude src/tools/tidy \
|
||||
--exclude src/tools/expand-yaml-anchors \
|
||||
--exclude tests/ui/methods \
|
||||
--exclude tests/ui/typeck \
|
||||
--exclude tests/ui/issues/issue-21763 \
|
||||
--exclude tests/ui/mismatched_types \
|
||||
--exclude tests/run-make/short-ice \
|
||||
--exclude tests/run-make/rust-lld \
|
||||
--exclude src/bootstrap
|
||||
%endif
|
||||
|
||||
# End with test
|
||||
%endif
|
||||
|
||||
%if %{without test}
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||
%doc CONTRIBUTING.md README.md RELEASES.md
|
||||
%{_bindir}/rustc
|
||||
%{_bindir}/rustdoc
|
||||
%{_bindir}/rust-gdb
|
||||
%{_bindir}/rust-gdbgui
|
||||
%{_bindir}/rust-lldb
|
||||
%{_bindir}/cargo-clippy
|
||||
%{_bindir}/cargo-fmt
|
||||
%{_bindir}/clippy-driver
|
||||
%{_bindir}/rustfmt
|
||||
%{_mandir}/man1/rustc.1%{?ext_man}
|
||||
%{_mandir}/man1/rustdoc.1%{?ext_man}
|
||||
%{_prefix}/lib/lib*.so
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}%{_sysconfdir}
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_load_rust_pretty_printers.py
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_lookup.py
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_providers.py
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_commands
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_lookup.py
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_providers.py
|
||||
%{rustlibdir}%{_sysconfdir}/rust_types.py
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%{rustlibdir}/%{rust_triple}/bin
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.so
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
||||
%if %{with wasm32}
|
||||
%dir %{rustlibdir}/wasm32-unknown-unknown
|
||||
%dir %{rustlibdir}/wasm32-unknown-unknown/lib
|
||||
%{rustlibdir}/wasm32-unknown-unknown/lib/*.rlib
|
||||
%if %{with wasi}
|
||||
%dir %{rustlibdir}/wasm32-wasi
|
||||
%dir %{rustlibdir}/wasm32-wasi/lib
|
||||
%dir %{rustlibdir}/wasm32-wasi/lib/self-contained
|
||||
%{rustlibdir}/wasm32-wasi/lib/*.rlib
|
||||
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.o
|
||||
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.a
|
||||
%endif
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%dir %{rustlibdir}/x86_64-unknown-none
|
||||
%dir %{rustlibdir}/x86_64-unknown-none/lib
|
||||
%{rustlibdir}/x86_64-unknown-none/lib/*.rlib
|
||||
%endif
|
||||
|
||||
# Seems to have been removed in 1.73
|
||||
# pct {_libexecdir}/cargo-credential-1password
|
||||
|
||||
%files -n cargo%{version_suffix}
|
||||
%license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
|
||||
%license src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||
%license src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||
%{_bindir}/cargo
|
||||
%{_mandir}/man1/cargo*.1%{?ext_man}
|
||||
%dir %{_datadir}/cargo
|
||||
%dir %{_datadir}/cargo/registry
|
||||
|
||||
%files src
|
||||
%{rustlibdir}/src
|
||||
|
||||
# End not with test
|
||||
%endif
|
||||
|
||||
%changelog
|
BIN
rustc-1.78.0-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
rustc-1.78.0-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user