Submit new package rust1.82
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust1.82?expand=0&rev=1
This commit is contained in:
commit
12501e151e
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
96
README.suse-maint
Normal file
96
README.suse-maint
Normal file
@ -0,0 +1,96 @@
|
||||
# Automatic updating via _service
|
||||
|
||||
Edit the rustX.YY.spec file, and update the variables related with the
|
||||
version:
|
||||
|
||||
- *version_suffix*: for the new version of Rust, in X.YY format
|
||||
- *version_current*: for the new version of Rust, in X.YY.Z format
|
||||
- *version_previous*: for the previous version of Rust, in X.YY.X
|
||||
format
|
||||
|
||||
Generate the spec files for the different bootstrap compilers. This
|
||||
will take the version from the main spec file.
|
||||
|
||||
./update-bootstrap.sh
|
||||
|
||||
After that, we can execute the service file:
|
||||
|
||||
osc service disabledrun
|
||||
|
||||
This will download the new bootstrap compilers and the signature file.
|
||||
|
||||
If `osc` complains about a missing service component, double check
|
||||
that the components are installed. For example, for Tumbleweed:
|
||||
|
||||
zypper in obs-service-download_files obs-service-refresh_patches
|
||||
|
||||
Finally, update the changelog based on the releases notes:
|
||||
|
||||
https://github.com/rust-lang/rust/blob/master/RELEASES.md
|
||||
|
||||
# Updating to a new version from upstream
|
||||
|
||||
(Original link: https://en.opensuse.org/Rust)
|
||||
|
||||
Branch the rust package in the devel:languages:rust project.
|
||||
|
||||
You'll need to download precompiled binaries for the compiler used for
|
||||
bootstrapping, and the actual source code for the compiler. In the
|
||||
"Other Installation Methods" page listed below, note that it shows
|
||||
links to .tar.gz packages and their .tar.gz.asc GPG signatures, but
|
||||
.tar.xz versions are also available.
|
||||
|
||||
*Binaries for bootstrapping* - Go to the "Other Installation Methods"
|
||||
page from rust-lang.org and scroll down to the "Standalone installers"
|
||||
section. Download the following:
|
||||
|
||||
- rust-<version>-aarch64-unknown-linux-gnu.tar.xz
|
||||
- rust-<version>-armv7-unknown-linux-gnueabihf.tar.xz
|
||||
- rust-<version>-i686-unknown-linux-gnu.tar.xz
|
||||
- rust-<version>-powerpc64le-unknown-linux-gnu.tar.xz
|
||||
- rust-<version>-powerpc64-unknown-linux-gnu.tar.xz
|
||||
- rust-<version>-s390x-unknown-linux-gnu.tar.xz
|
||||
- rust-<version>-x86_64-unknown-linux-gnu.tar.xz
|
||||
|
||||
*Compiler source code* - From the same page, but now in the "Source
|
||||
code" section, download this:
|
||||
|
||||
rustc-<version>-src.tar.xz
|
||||
|
||||
Update those files in the source RPM. Check that all the patches still
|
||||
apply.
|
||||
|
||||
Update the version number in rust.spec.
|
||||
|
||||
Add the release notes to rust.changes.
|
||||
|
||||
# Running the tests locally
|
||||
|
||||
The tests are executed outside the main package using the _multibuild
|
||||
feature of OBS. This is convenient for several reasons:
|
||||
|
||||
* We force the installation of the new rustc / cargo in the system
|
||||
|
||||
* All the test / bootstrabs and utilities are compiled using the new
|
||||
compiler, and not the one used to generate the initial Rust
|
||||
compiler.
|
||||
|
||||
* A test fail do not block the release. Upstream tests can be
|
||||
affected by some environment application, and there is some delay
|
||||
for the fix.
|
||||
|
||||
The tests can be run with:
|
||||
|
||||
osc build -M test
|
||||
|
||||
This will install the Rust compiler from OBS, so is a good idea that
|
||||
we have them available.
|
||||
|
||||
If some test fail, we can enter the chroot to debug it:
|
||||
|
||||
osc shell
|
||||
|
||||
There is more information about the test infrastructure here:
|
||||
|
||||
https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||
|
27
_constraints
Normal file
27
_constraints
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<!-- processors doesn't actually ... get you that many threads. Sigh -->
|
||||
<!-- request number of jobs instead (6 is max on ppc/s390x) -->
|
||||
<jobs>6</jobs>
|
||||
<physicalmemory>
|
||||
<size unit="G">4</size>
|
||||
</physicalmemory>
|
||||
<disk>
|
||||
<!-- Needed when we may need to bundle llvm -->
|
||||
<size unit="G">30</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
<!-- aarch64: X-Gene cpus are the only ones that work as there is a bug in others - select -->
|
||||
<!-- 12G of ram to ensure these are what's used. -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="G">12</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
9
_service
Normal file
9
_service
Normal file
@ -0,0 +1,9 @@
|
||||
<services>
|
||||
<service name="download_files" mode="disabled">
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service name="refresh_patches" mode="disabled">
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="ignorefuzz">enable</param>
|
||||
</service>
|
||||
</services>
|
17
ignore-Wstring-conversion.patch
Normal file
17
ignore-Wstring-conversion.patch
Normal file
@ -0,0 +1,17 @@
|
||||
Index: rustc-1.51.0-src/compiler/rustc_llvm/build.rs
|
||||
===================================================================
|
||||
--- rustc-1.51.0-src.orig/compiler/rustc_llvm/build.rs
|
||||
+++ rustc-1.51.0-src/compiler/rustc_llvm/build.rs
|
||||
@@ -154,6 +154,12 @@ fn main() {
|
||||
continue;
|
||||
}
|
||||
|
||||
+ // hack to avoid flag on openSUSE which is incompatible with GCC
|
||||
+ if flag.starts_with("-W") && flag.contains("string-conversion") {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
cfg.flag(flag);
|
||||
}
|
||||
|
BIN
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAAWSMQAMXkeT2uhzCwdZDC5L1wlRDu
|
||||
9kcXvFreVXoDC/MHMudoGkkTjrvlwvVqhMC5miLrGnnFm+MOWxKAnuE9+x68t9sT
|
||||
lPVzTA6hjP1kLG06Jy99vQLwxKu7AD7kwbPNcsc7SRo2tJCQWXtUe1U/6lLDKrQZ
|
||||
KOu7xjP+wBhUbvG23F9fowfQajEOoExE+d6oNmPcuSR9N5xRc9w1FkTxc0vJMZH7
|
||||
nrK/IUhLxcqx3RgJbpoaETEUNiQNahIQVI+nqD7ZUPg1o6CRyusBRwiOhxmbZ46N
|
||||
xBIqMgAPUh//3TiTXr13M/x9krfuolKSNgo14y+DqZzb8S0gxowrsWtC1Jhiigmy
|
||||
sL+rU2bICdw9n9bj4PveQiY+E6ZJP/XSR1wFpEsJjto8BjjP0ZTQjm1L4uUc+HyC
|
||||
ZIXCSx2qh5836RQYMGAUdEIsCNz65lfUhmCVpZiO3tFtWKbaF3HKvsHNhtfpnBEz
|
||||
F63ag8J2DGksIuo6MuFXyJDsRozQaN7GCQRVamouGRDkN8W+Jj6JS1eR6/UP9EKS
|
||||
6/LXEMPeJfdWvH4hP0TkwA6V0GbQI1VcIFPa9/azD1x/nVW5B9bCcuZlfAGBUNBs
|
||||
c91UGCMsb+bb61eLEQGcYuIcXPxVeh6xmaYJwovEaUxuilOxPM55ZSbeeRl3tiFd
|
||||
xXr9FtClq1SLEyon3OgR
|
||||
=egD7
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfKCRCFq5bm+hvl/gAAZ78QALuAnlBvsBi6oXVNmyMrGCM+
|
||||
XCWKMruQMpGrmEoFKugVv55ygSsmOIE2779gymOUvONegIREFrEHW9k1mL8YyLA8
|
||||
UpFa56NQ50Nn9RFOT/WbIz/uGP83MnKoe18DHsZT2RCWEd/FCO3YNx98LWMOSmSC
|
||||
KyKBzoYi1OYy27IsgLGbTgco6coHtzY/L6E3Hu0Ahz3FiOsqehpwDywyifCvlqgB
|
||||
BIfeIuTHq1iZWoEQ4KbnI6OBqh8ddPSXPPtfdyxF29aCphqrBqlE4Z8k4PhLkaMT
|
||||
3ZD+feC3cwPbJdCYz8qCzwFGFG+3jGUm+v8UU/M5SwvzAhNNRNYCGdzSgTk5HDB/
|
||||
a23/8yaeOthsaJoicSx/z2lxB2A9pRG5d0Pxwg9LQJUkOD1WTIfla5h8zZMVD38e
|
||||
3FAcZ+rc0haAlklvTi5R1bNF3JteZDuQZOsiFezcwuDyu3wcR0iaQjE+wsCUAA/h
|
||||
PWEFfZzrO5zhZNvUK0nBmPpNWgPKKDeQ3hyzjT4o5fpqwDeSqpkHJP944UaiJ2Kr
|
||||
UWIfE//HPFGTWVVM17h4E24FRyB1M36z/dSLJKHoEmmJgYutbUfF695ZmBFARMhw
|
||||
CS5NA6XAcXRZKTVRMr0K1471JQrWCRVYhXM+Q119rXH/DKQo2wHmjQD5pnRi/zXV
|
||||
s8VsCRjE/q+jNxK26+SS
|
||||
=ddki
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAAQhwQAJMiqbL07dhFoIvFdJAkNgti
|
||||
KHg8AFwZzBtGfUnsIwF78xgplkIJ+618Y6szs0V3Kprws8uUCPjcTl6hnDWGoECC
|
||||
J63NmBEOjcrwe7Da42U6T10gNac6QWZtAgD+EZ+hhVLK6m+QtUxPCeERSSa79ZU0
|
||||
/p41bag7/Mg/aO4IIIZ8Jie2zu7mY5A/IEwialP73qC/JCHAzlrnpPeGtR8CtLnx
|
||||
ZOzS1BSS2euOULsTlOlk3DYxgLycBzgyf1+iBkQ03lXTCm2DLavllXA0QKVHTZyc
|
||||
Fn9Zsrqga+AXcEUoIcqKIvLZqsFyqdQC5eYZATJ7PiJt+KvYGatf66Sc9PALJMcc
|
||||
9fg751bgaNH4MRBvH+Cj428ibV78mRGI0y5MKnukEnEbF6Uj0fo5FGwtNHHe2Exo
|
||||
ylbr5PQMmqfeCluLCWg3/CGzer0IBp0qokqfsKlgVYkRUd8FdFdSgJ7/46JMnmiN
|
||||
PV131p3bSQO+qJz0RciIe6NROR71LViqylFtB2EXL186sl1xyH2dzM8B7SRBqW9U
|
||||
0NX30BF5+2+iHMYoPS7l7o7fvkCE2eHPkVcdoaRTYI9UiPwlxMw9U9HCB2ccwHNG
|
||||
pNrj/7ET3Hp3Fwh1Wqn4cZEnipGjWPx3M8Us85TU1QpAZD6v6QTY0OoDj4vjHVRW
|
||||
Yi/cn9dpoBohcZpvTatg
|
||||
=tIKp
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-i686-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfMCRCFq5bm+hvl/gAA8eEP/0o3AGBToFUTjBqtAsbiSqy7
|
||||
eM+Kqa8v+5RhXTQFvAekJ3kuIk0d7vJmkwqp+UAeJrFOrQjqhORwqo2I7XDdILHC
|
||||
YiBtFtYaZ7ufCMD0NvT7DRLRqyiDcZVQz0YLUuYiU+3wFooAPD4CdriUysuB1kuW
|
||||
GqJBk11uUoU1Cok+xvrmICNR45wZBXebCwVomp+ogPzh0TGEcWVDEKbE9f1UigK2
|
||||
uR6HYtkV/BTIWyM0EXm4Em4QirwIZjxhELYq/1lR1RzNzsflHQeohl7QDM4ip7SX
|
||||
isAerCcsdBy+DntN083WSJuedstsmnypUehs35EigGk6BZWL+iTB6xVZRkr+Lt9g
|
||||
M+6Se4Gbnsknswyyq3mbQags+zso9bbvxhcrkk7oP+jlMDkzk8S89pd3GIeFmqSG
|
||||
JmyQYacaIa3MlWmnugbzu8UHSLWmeYXgpzDhkA7qFvgv3H4eb36am8vWhfEek80U
|
||||
33btkKCi+rKVO7HBE6qj8s/lP/s1H/kYvEN5S11LBuW4xPRxWddZ9M0Q8i2ohwBh
|
||||
yUW261zBuu+k4FBHB60l7Y12YrM1ON7Zih+heLDxaYDcVGl7i5Z8iA96QiMmJoHS
|
||||
Yrn4Cyy8JxrWA7hcGtqekhFsP6cqwSILSQzIWBAA/Rj3ST3aaAsHJwoMIeYIxgD2
|
||||
FJH4WZFqfU51cCt0g3l1
|
||||
=C+4g
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAArZoQANXUpUQXHN43q6j5m3qWC4DZ
|
||||
48HZ7UsBOnfjGjUlgxKlymU9d6ac02ancAfPcNFQG5t+eKqet24KXESuJiLZ3zg6
|
||||
gK5OWxf85fMArlCe8F153wraP5tE55dDDFspzklItJvYKnC/oOq/CK2UhonMbefk
|
||||
LD75canwewfBmDV/yvSLOTA6yZ/Hiss+BzSTxfFVjbLRO4p6zP0Lexzl0AyODVWQ
|
||||
zVQNctlzhrwNuh4mKKL7PT44dmbub9RjvWD7R3uRqulwL5hQE7qv36XRKi6RNVn1
|
||||
QMkWu+vsw5z3iYApd76y7VGI01RLtruSwUOGQk8qd5k03/Nj9x3BSluY41GfKvmD
|
||||
AkAy2ovqbhqtcwNzZCN3oYYt3n7thI1rHHa+LF02BThZIRRIoV/ktPkTh0UqwtSK
|
||||
1Wqhlm/NIO8zSGwCoK0Ofpt0Fnv/giaWUkW+oqYq7AHN6C9W8kXqwfCmEDo7XfAU
|
||||
FshB9th9HeyH4eZDVmK78hGzuj6MhsbHUoq9AI5NQFcigz0LUAK/Yp014WCm/8q9
|
||||
UN/5RwdnPe9mjLmCm8D2KRY7XUMbSkQA5HQUrymy0VdS/I2/gBLqTs/rIKeXBd5z
|
||||
/PXLlJ7nUULWvig6UavdKMYKHi2MbYHo0GZWTyDsvri2NxMs3S0hV9bX4z1NlO8n
|
||||
kcxmusgxwVqBtLyo/6mj
|
||||
=SJkS
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfKCRCFq5bm+hvl/gAAF/AP+QH3s7MYZcZqU71EPx930xjx
|
||||
kSoEwMLxh4jxw892NN3+8MdKkkXyXSmT3V+k9QfXGG9h5NZ2OGZeVRhu3GnbyFCm
|
||||
wQysCMbqRoaJSuM2VU8hOLyw/bkktiC57OoarQZkfqbp5Vr4Fnjrjly62DK5RZtb
|
||||
aoFX3fKzzftC+en80dmrKz5YxUvp7/mpqJUkLfWi1RL2qfQg7SKrlbAS9/s740BH
|
||||
1hM9zGZ8iZeW21lFaR+kM4CyfJuWC+hjs/GMS0GprWcQYpEpeMSrs3XJC4DO5dMz
|
||||
KA74F8ohpu52sHHDT8/vyJiWPO0ZVzVTEfaODiX5S1VXcV+QqUX0BT+Xq6zrO7+0
|
||||
YE7j3uyfXbcA/MI21Jakk3ZofwViTjOwM8JhEFm1JtqK14iAOC7iiYjxNTkEdeut
|
||||
fWWoi7LNt1lPz7CmHb3dnbbfP3yTs7zhvOZGY5zifxSVRkpiH+FbVzr/PX4sxuAu
|
||||
qnGxBq2UgfdtLIa9nvk0rhCIG1iq1t+sJq1s3YlSkEb8/dJgYcszefnPG+RdbtIt
|
||||
ehiIujMgR1ULd3H3Hwpj1ddDyvO47WLsQL+wObChrNGcJvhSqNfIrkcoyI6MAKNI
|
||||
mh3TANqVcRNGllyacVHNwTj7MhfrmdFsYI0U6OB0Mwsi1Y/wCY+JOJHLG2ODd3RC
|
||||
QU2uXws3IbfVxHOF8zQj
|
||||
=P/Lc
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAA0aEP/1pL2zPN3zizV1LCppMpMawX
|
||||
x/nnkWIdUI6aKj8h8ZIje81LT5btfdRYpNW1Dypqd9nH008GmFHjqJQZouoO4WUD
|
||||
gT2XZiUilZrf4IhnnN1/Tfkkzq9VuNetnKnf5m0XO9u5ypbIuTRb2Ty7LTxjDRV1
|
||||
MGrBAoA+t9nghfDgF01Sho4UUIlxQ/MkhUPxys4xUPGz9/kQVCW/84E/m01yF7TX
|
||||
DcBe30pybmxcSED1ZBioHoR7O5zskYDZedxJ8gZRpJqe6Jj11nLqsYPvsF/3IJa9
|
||||
gdzAcDHyP3DtWiOrQH5XFEdRiuqfTiG+OZ/s7T061CX6Ui2+jC/hyyq2EzIf5BGn
|
||||
Lv5YI0oBRav1WMFEIjdwhIOxxeCK8nFGsv/t+jUCyoIqTlrq85MW8pJ0KklPNpoX
|
||||
AQaxv12d3Nlk37orGym7yl7xTn2LcAzydxdAlYkQ3fGzX6SCHp1uKqupew5F9s/d
|
||||
CWrFy2f1xfhDdYrnnvS91Vy7ObtGmQbrK7Wf+PCIZSvCKmSg3444xjP7DBK0VAmq
|
||||
S5eIkAlUboUhamKoH5f++nlfce66y3TTBu/w/dH6HlIHcs1hCQag3Ei8YmEatlBp
|
||||
GCBb9tlyvUvRz1JydVSANaoDC983r+JZmPmq1wxFq0fG5wqbi22GaWqLrZ8pVFvP
|
||||
TU5z8Noxc6PeQpRSOzV/
|
||||
=dF7e
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfICRCFq5bm+hvl/gAAof4P/336uIbLkI+2I4syIAlFhZa7
|
||||
sEraOQjaDnoJB3ahx9lIOchku+C7fngPDSuamk/npfXXFxpiKGyTA+Jxkf4hHviF
|
||||
8IMUqtS21mpFFy0nXkpG2liWazxEDLbBeWmU8cGZMhGDhMkzoPDJ7Ie2016YpVHu
|
||||
K+rU1WlHJ3yAsXLZif60TWwWtcZB+GAmFXN0jWvBvBlc0m2grHOzJ+VJqe+49WAc
|
||||
a/LRdlRAqqZ+LROB30Eq/fZ/5J2Y6a6aCljPJ1XVyPl8XIBkOLIE10yTAGdWgSpk
|
||||
F09l3BArNVhEV8iRLNrfLxuDf7ptEiREgdMYSuzv3XyCMct142smCS61rkTPMjl4
|
||||
JdHTio48uGVzoAHwMtliBEMvAApmA4dMVJrxztrkmTmuf3d9wiTvr+QxgdIPKI2W
|
||||
XxqMoPEi08izDXex3ri/zBXdAdoCrE93uXMPgWfXf2LtbSfNcLFKTvbO+YM5meH+
|
||||
OEBTNpW8+pGFuR2735h1j53ieCdAlPt4lBRK2FCzdFZSnCCI5H7prJd9814+EHGe
|
||||
0SAsCr8IoStn6i4a3oLB0l23ce2a9Y85u3OaCdPEmrYbtGH230SpmrwX6iXN5zWs
|
||||
wgpJTMZQAfJdbjxKOP25MpcPdi2lhc4w9Z8zs9CcQ5co0WZdo/8Q9MyrHZhKaa6b
|
||||
JSclzf7Xx961TU8hM0iq
|
||||
=FiuB
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAAYQ8P/1kjOHQeXr3rb4aVBJuXlEY/
|
||||
kX6HGzVHycybFG2fRc5IGrdeQmvA2m/+DLHD8fZ19RjgRo8C9lKO/CNIPlE4XlCB
|
||||
iCQD27vEaLmveocvJAZ5ZRk9i2Xj10S3TdWdUoOuzcHw10Zenk3A28Der14YOADa
|
||||
/5CiiCqB39Jl3xxzAXmINpghH8qVQtOTBW5qilJ0DcomT9d2o5qKPUlZIu8W5+G0
|
||||
2RPo6zVm9wv/XLMW6S0TdUAaHX5Oj1Aua54kcaUXZeBExGF1jSlNWIZumgpoejEa
|
||||
LBRzcacLmWNCBj7aiDwhACmJsxofFDpGMQCYU+NFm/q3nu2r0obPmTiNpNgFlaG2
|
||||
Ju/rh1syKYwJNZcDszuNho6FQgPcrt/Ug7rD2b2rJ5KMQsKwHKrKewjB+qcQktLP
|
||||
2D8jTzajmZb++fMGnqySrKISYkxOZ/xgYgLjRY91ZUbkkb3R0iYS1F3B4Ofn4AgO
|
||||
K6Pqnla1EUr53kHr+4368SPbqWlcbXUf3Yveqb974k3Wkl/WTzq1ZAL6IQrCEfcq
|
||||
5oJD5doFRFWKDW40HJ6suouxaaZ2uRDf2G8qtoCIj9UeZyt99WNOTR9wgLBf03Rp
|
||||
i7Z8+EBnSZVj5wZtqyscSMpD/TCpoJ50SBmtmo0Y/h5xJHEAW8KA5d4SfZOd+XMh
|
||||
EPE+Dpud/MRogsD4ZfaD
|
||||
=00CO
|
||||
-----END PGP SIGNATURE-----
|
BIN
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
BIN
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJnETfLCRCFq5bm+hvl/gAAq+EQAKMzgOG8RV5vBC7hcGQUXoCx
|
||||
xxr7W9eZmCPrv7cqWY0DRzRsMvv/sI/4G57eLRhxHF0/cTD15KfAeD9ZoqOjahkX
|
||||
EoZhkq3O0XdrdnWirLQu1J89+DT8U761goXDSB9nNgYi9fohCJiKF2JORtYMxicO
|
||||
wPRpItxtlN3OSJh+f5OPVHrZc3MjjlkWBFLakI+H35oWnnUHnswdwa3YiMKV3OCz
|
||||
DLT3CvPkzb53Aeq/HLdWwqEi7lSGiPCQtUo+E2flhn+h2sdVt/crQuVTdLAr4JAp
|
||||
zQZOt3cp04eUu3bM3kCUtIE8zobnkMWrslcafJ3+KDtD+kGVNMPs+4skGcHnI6se
|
||||
Yoaft5bQIz1Ns5aTwAVchMUKu0+xpqSdwxParMbavkuERJrhEXtQII9U6hPS1euy
|
||||
bOdbptAmRevO4OUPLRoq8vd5fQr0BIIBoZ/rIhN3Balwomg+Pt2U8Xvs1j6uxA9+
|
||||
wo2BLzlPTDU76UOqy/0G98m9rqDz99laJLPMtUX5/hFr1oTKULW86Zzm84s7sIVo
|
||||
UPBLfb67TpSTH2U+La7tL3CDMiE4Z8oDnu4yg/wqtkaob6NP4M3ff4rAQFcsU//T
|
||||
qJXm6ny+LF4sLJNtJ9Hhi5gPKJvhLLxNSCiAq/pa/DNatznEIiyf6S7FVE2uUgga
|
||||
dptVmTkw5PF9hDyOfOM4
|
||||
=/pC6
|
||||
-----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.82-rpmlintrc
Normal file
35
rust1.82-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 .*")
|
760
rust1.82.spec
Normal file
760
rust1.82.spec
Normal file
@ -0,0 +1,760 @@
|
||||
#
|
||||
# spec file for package rust1.81
|
||||
#
|
||||
# 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.82
|
||||
%global version_current 1.82.0
|
||||
%global version_previous 1.81.0
|
||||
|
||||
%if 0%{?sle_version} <= 150900 && 0%{?suse_version} < 1599
|
||||
# We may need a minimum gcc version for some linker flags
|
||||
# This is especially true on leap/sle
|
||||
#
|
||||
# ⚠️ 11 or greater is required for a number of linker flags to be supported in sle.
|
||||
#
|
||||
%global gcc_version 13
|
||||
%endif
|
||||
|
||||
#KEEP NOSOURCE DEBUGINFO
|
||||
|
||||
%define obsolete_rust_versioned() \
|
||||
Obsoletes: %{1}1.81%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.80%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.79%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.78%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.77%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.76%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.75%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.74%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.73%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.72%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.71%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.70%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.69%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.68%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.67%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.66%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.65%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.64%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.63%{?2:-%{2}} \
|
||||
Obsoletes: %{1}1.62%{?2:-%{2}}
|
||||
|
||||
# ⚠️ Must leave 1.62 here due to kernel requirements.
|
||||
|
||||
# Build the rust target triple.
|
||||
# Some rust arches don't match what SUSE labels them.
|
||||
%global rust_arch %{_arch}
|
||||
%global abi gnu
|
||||
|
||||
%ifarch armv7hl
|
||||
%global rust_arch armv7
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch armv6hl
|
||||
%global rust_arch arm
|
||||
%global abi gnueabihf
|
||||
%endif
|
||||
|
||||
%ifarch ppc
|
||||
%global rust_arch powerpc
|
||||
%endif
|
||||
|
||||
%ifarch ppc64
|
||||
%global rust_arch powerpc64
|
||||
%endif
|
||||
|
||||
%ifarch ppc64le
|
||||
%global rust_arch powerpc64le
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%global rust_arch riscv64gc
|
||||
%endif
|
||||
|
||||
# Must restrict the x86 build to i686 since i586 is currently
|
||||
# unsupported
|
||||
%ifarch %{ix86}
|
||||
%global rust_arch i686
|
||||
%endif
|
||||
|
||||
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
||||
|
||||
# Web Assembly targets
|
||||
%define rust_wasm_targets %{?with_wasm32:,wasm32-unknown-unknown%{?with_wasi:,wasm32-wasi}}
|
||||
|
||||
# Base Rust targets for all architectures
|
||||
%define rust_base_targets %{rust_triple}%{rust_wasm_targets}
|
||||
|
||||
# For x86-64 add the x86_64-unknown-none target
|
||||
%ifarch x86_64
|
||||
%define rust_target_list %{rust_base_targets},x86_64-unknown-none
|
||||
%else
|
||||
%define rust_target_list %{rust_base_targets}
|
||||
%endif
|
||||
|
||||
# All sources and bootstraps are fetched form here
|
||||
%global dl_url https://static.rust-lang.org/dist
|
||||
|
||||
# Rust doesn't function well when put in /usr/lib64
|
||||
%global common_libdir %{_prefix}/lib
|
||||
%global rustlibdir %{common_libdir}/rustlib
|
||||
|
||||
# Detect if sccache has been requested by the build
|
||||
%if "%{getenv:RUSTC_WRAPPER}" == "sccache"
|
||||
%bcond_without sccache
|
||||
%else
|
||||
%bcond_with sccache
|
||||
%endif
|
||||
|
||||
# === rust arch support tiers ===
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html
|
||||
# tl;dr only aarch64, x86_64 and i686 are guaranteed to work.
|
||||
#
|
||||
# armv6/7, s390x, ppc[64[le]], riscv are all "guaranteed to build" only
|
||||
# but may not always work.
|
||||
|
||||
# === broken distro llvm ===
|
||||
# In almost all cases, distro llvm doesn't work for rust. Rust additionally provides
|
||||
# patches and features in their bundled llvm. We use it by default.
|
||||
#
|
||||
|
||||
# === Use clang/lld during build if possible ===
|
||||
# i586 - unable to link libatomic
|
||||
# aarch64 - fails due to an invalid linker flag
|
||||
#
|
||||
%bcond_with llvmtools
|
||||
|
||||
# Depending on our environment, we may need to configure our linker in a different manner.
|
||||
|
||||
# If we elect for llvm, always use clang.
|
||||
%if %{with llvmtools}
|
||||
%define rust_linker clang
|
||||
%else
|
||||
%if 0%{?gcc_version} != 0
|
||||
%define rust_linker gcc-%{gcc_version}
|
||||
%else
|
||||
%define rust_linker cc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# === Enable wasm/wasi on t1 targets ===
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
%ifarch x86_64 aarch64
|
||||
%bcond_without wasm32
|
||||
%bcond_without wasi
|
||||
%else
|
||||
%bcond_with wasm32
|
||||
%bcond_with wasi
|
||||
%endif
|
||||
%else
|
||||
%bcond_with wasm32
|
||||
%bcond_with wasi
|
||||
%endif
|
||||
|
||||
# Test is done in a different multibuild package (rustXXX-test). This
|
||||
# package will replace the local-rust-root and use the systems's one
|
||||
# from the rustXXX package itself. This will exercise the compiler,
|
||||
# even tho, the tests will require more compilation. If we do not
|
||||
# agree on this model we can drop the _multibuild option and do the
|
||||
# pct check as a part of the main spec.
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%if "%{flavor}" == "test"
|
||||
%define psuffix -test
|
||||
%bcond_without test
|
||||
%else
|
||||
%define psuffix %{nil}
|
||||
%bcond_with test
|
||||
%endif
|
||||
|
||||
# """
|
||||
# Do not use parallel codegen in order to
|
||||
# a) not exhaust memory on build-machines and
|
||||
# b) generate the fastest possible binary
|
||||
# at the cost of longer build times for this package
|
||||
# """
|
||||
#
|
||||
# These claims are incorrect
|
||||
# a) codegen=1, actually consumes MORE memory due to the fact that the full
|
||||
# code unit is then LTO'd in a single pass. This can cause LLVM to internally OOM
|
||||
# especially if the machine has less than 1G of ram, and this is documented:
|
||||
# * https://github.com/rust-lang/rust/issues/85598
|
||||
# it has also been observed in OBS during builds of 1.52 and 1.53
|
||||
#
|
||||
# b) the performance gains from codegen=1 are minimal at best, and not worth
|
||||
# us messing about with these values - especially when the rust language team
|
||||
# probably know more about how to set and tune these based on data and research
|
||||
#
|
||||
# Debuginfo can exhaust memory on these architecture workers
|
||||
%ifarch %{arm} %{ix86}
|
||||
%define debug_info --debuginfo-level=0 --debuginfo-level-rustc=0 --debuginfo-level-std=0 --debuginfo-level-tools=0 --debuginfo-level-tests=0
|
||||
%else
|
||||
%define debug_info %{nil}
|
||||
%endif
|
||||
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
|
||||
# Exclude implicitly-scanned Provides, especially the libLLVM.so ones:
|
||||
%global __provides_exclude_from ^%{rustlibdir}/.*$
|
||||
|
||||
Name: rust%{version_suffix}%{psuffix}
|
||||
Version: %{version_current}
|
||||
Release: 0
|
||||
Summary: A systems programming language
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
URL: https://www.rust-lang.org
|
||||
Source0: %{dl_url}/rustc-%{version}-src.tar.xz
|
||||
Source1: rust.keyring
|
||||
%if %{without test}
|
||||
Source99: %{name}-rpmlintrc
|
||||
%endif
|
||||
Source100: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 100
|
||||
Source101: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz
|
||||
NoSource: 101
|
||||
Source102: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 102
|
||||
Source103: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz
|
||||
NoSource: 103
|
||||
Source104: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz
|
||||
NoSource: 104
|
||||
Source105: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz
|
||||
NoSource: 105
|
||||
Source106: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz
|
||||
NoSource: 106
|
||||
Source107: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz
|
||||
NoSource: 107
|
||||
Source108: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz
|
||||
NoSource: 108
|
||||
Source109: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz
|
||||
NoSource: 109
|
||||
Source200: %{dl_url}/rust-%{version_current}-x86_64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 200
|
||||
Source201: %{dl_url}/rust-%{version_current}-i686-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 201
|
||||
Source202: %{dl_url}/rust-%{version_current}-aarch64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 202
|
||||
Source203: %{dl_url}/rust-%{version_current}-armv7-unknown-linux-gnueabihf.tar.xz.asc
|
||||
NoSource: 203
|
||||
Source204: %{dl_url}/rust-%{version_current}-arm-unknown-linux-gnueabihf.tar.xz.asc
|
||||
NoSource: 204
|
||||
Source205: %{dl_url}/rust-%{version_current}-powerpc64-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 205
|
||||
Source206: %{dl_url}/rust-%{version_current}-powerpc64le-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 206
|
||||
Source207: %{dl_url}/rust-%{version_current}-s390x-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 207
|
||||
Source208: %{dl_url}/rust-%{version_current}-powerpc-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 208
|
||||
Source209: %{dl_url}/rust-%{version_current}-riscv64gc-unknown-linux-gnu.tar.xz.asc
|
||||
NoSource: 209
|
||||
# Make factory-auto stop complaining...
|
||||
Source1000: README.suse-maint
|
||||
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
|
||||
Patch0: ignore-Wstring-conversion.patch
|
||||
# IMPORTANT - To generate patches for submodules in git so they apply relatively you can use
|
||||
# git format-patch --text --dst-prefix=b/src/tools/cargo/ HEAD~2
|
||||
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: curl
|
||||
# BUG - fdupes on leap/sle causes issues with debug info
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
BuildRequires: fdupes
|
||||
%endif
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: procps
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: util-linux
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
# Set requires appropriately
|
||||
%if %with sccache
|
||||
BuildRequires: sccache
|
||||
%else
|
||||
BuildRequires: ccache
|
||||
%endif
|
||||
|
||||
# For linking to platform
|
||||
Requires: glibc-devel
|
||||
# Rustc doesn't really do much without Cargo, but you know, if you wanna yolo that ...
|
||||
Recommends: cargo
|
||||
# For static linking
|
||||
Recommends: glibc-devel-static
|
||||
|
||||
%if %{with wasi}
|
||||
BuildRequires: wasi-libc
|
||||
%endif
|
||||
|
||||
%if %{with llvmtools}
|
||||
BuildRequires: clang
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: lld
|
||||
Requires: clang
|
||||
Requires: lld
|
||||
%else
|
||||
%if 0%{?gcc_version} != 0
|
||||
BuildRequires: gcc%{gcc_version}-c++
|
||||
Requires: gcc%{gcc_version}
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
Requires: gcc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# CMake and Ninja required to drive the bundled llvm build.
|
||||
# Cmake is also needed in tests.
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150300
|
||||
# In these distros cmake is 2.x, or 3.X < 3.13, so we need cmake3 for building llvm.
|
||||
BuildRequires: cmake3 >= 3.20.0
|
||||
%else
|
||||
BuildRequires: cmake >= 3.20.0
|
||||
%endif
|
||||
|
||||
# To build rust-lld
|
||||
BuildRequires: ninja
|
||||
|
||||
%if %{with test}
|
||||
BuildRequires: cargo%{version_suffix} = %{version}
|
||||
BuildRequires: rust%{version_suffix} = %{version}
|
||||
# Static linking tests need this.
|
||||
BuildRequires: glibc-devel-static
|
||||
BuildRequires: git
|
||||
|
||||
%if %{with wasm32}
|
||||
BuildRequires: nodejs-default
|
||||
%endif
|
||||
|
||||
# End with test
|
||||
%endif
|
||||
|
||||
%obsolete_rust_versioned rust
|
||||
Conflicts: rust+rustc < %{version}
|
||||
Conflicts: rustc-bootstrap
|
||||
Provides: rust+rustc = %{version}
|
||||
Conflicts: rust-std < %{version}
|
||||
Obsoletes: rust-std < %{version}
|
||||
Provides: rust-std = %{version}
|
||||
Conflicts: rust-std-static < %{version}
|
||||
Obsoletes: rust-std-static < %{version}
|
||||
Provides: rust-std-static = %{version}
|
||||
Conflicts: rust-gdb < %{version}
|
||||
Obsoletes: rust-gdb < %{version}
|
||||
Provides: rust-gdb = %{version}
|
||||
|
||||
%if %{without test}
|
||||
# Restrict the architectures as building rust relies on being
|
||||
# initially bootstrapped before we can build the n+1 release
|
||||
ExclusiveArch: x86_64 %{arm} aarch64 ppc ppc64 ppc64le s390x %{ix86} riscv64
|
||||
%ifarch %{ix86}
|
||||
ExclusiveArch: i686
|
||||
%endif
|
||||
%else
|
||||
# Restrict for Tier 1 targets (but we should report bugs in Tier 2)
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-1-with-host-tools
|
||||
ExclusiveArch: x86_64 i686 aarch64
|
||||
%endif
|
||||
|
||||
%description
|
||||
Rust is a systems programming language focused on three goals: safety,
|
||||
speed, and concurrency. It maintains these goals without having a
|
||||
garbage collector, making it a useful language for a number of use
|
||||
cases other languages are not good at: embedding in other languages,
|
||||
programs with specific space and time requirements, and writing
|
||||
low-level code, like device drivers and operating systems. It improves
|
||||
on current languages targeting this space by having a number of
|
||||
compile-time safety checks that produce no runtime overhead, while
|
||||
eliminating all data races. Rust also aims to achieve "zero-cost
|
||||
abstractions", even though some of these abstractions feel like those
|
||||
of a high-level language. Even then, Rust still allows precise control
|
||||
like a low-level language would.
|
||||
|
||||
%package -n cargo%{version_suffix}
|
||||
Summary: The Rust package manager
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-std = %{version}
|
||||
Obsoletes: cargo-vendor < %{version}
|
||||
Provides: cargo-vendor = %{version}
|
||||
Provides: rust+cargo = %{version}
|
||||
%obsolete_rust_versioned cargo
|
||||
|
||||
%description -n cargo%{version_suffix}
|
||||
Cargo downloads dependencies of Rust projects and compiles it.
|
||||
|
||||
%package src
|
||||
Summary: The Rust Standard Library Source
|
||||
License: Apache-2.0 OR MIT
|
||||
Group: Development/Languages/Rust
|
||||
Requires: rust-std = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description src
|
||||
Rust Stanard Library Sources are required for building some types of projects
|
||||
|
||||
%prep
|
||||
# Previously the stage0 compiler was skipped in test builds, but there are now
|
||||
# tests in rust's source tree that require it.
|
||||
%ifarch x86_64
|
||||
%setup -q -T -b 100 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
%setup -q -T -b 101 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 102 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
%setup -q -T -b 103 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch armv6hl
|
||||
%setup -q -T -b 104 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
%setup -q -T -b 105 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
%setup -q -T -b 106 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch s390x
|
||||
%setup -q -T -b 107 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch ppc
|
||||
%setup -q -T -b 108 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
%setup -q -T -b 109 -n rust-%{version_current}-%{rust_triple}
|
||||
%endif
|
||||
./install.sh --components=cargo,rustc,rust-std-%{rust_triple} --prefix=.%{_prefix} --disable-ldconfig
|
||||
|
||||
%global rust_root %{_builddir}/rust-%{version_current}-%{rust_triple}%{_prefix}
|
||||
|
||||
%autosetup -p1 -n rustc-%{version}-src
|
||||
|
||||
# We never enable emscripten.
|
||||
rm -rf src/llvm-emscripten/
|
||||
# We never enable other LLVM tools.
|
||||
rm -rf src/tools/clang
|
||||
rm -rf src/tools/lldb
|
||||
|
||||
# Fix rpmlint error "This script uses 'env' as an interpreter"
|
||||
sed -i '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' library/core/src/unicode/printable.py
|
||||
chmod +x library/core/src/unicode/printable.py
|
||||
|
||||
# Debugging for if anything goes south - OBS does like to lie about resources on builders.
|
||||
lscpu
|
||||
free -h
|
||||
df -h
|
||||
|
||||
%build
|
||||
|
||||
# Create exports file
|
||||
# Keep all the "export VARIABLE" together here, so they can be
|
||||
# reread in the %%install section below.
|
||||
# If the environments between build and install and different,
|
||||
# everything will be rebuilt during installation!
|
||||
|
||||
%if %{with llvmtools}
|
||||
cat > .env.sh <<EOF
|
||||
export CC="/usr/bin/clang"
|
||||
export CXX="/usr/bin/clang++"
|
||||
EOF
|
||||
%else
|
||||
|
||||
%if 0%{?gcc_version} != 0
|
||||
cat > .env.sh <<EOF
|
||||
export CC="/usr/bin/gcc-%{gcc_version}"
|
||||
export CXX="/usr/bin/g++-%{gcc_version}"
|
||||
EOF
|
||||
%else
|
||||
cat > .env.sh <<EOF
|
||||
export CC="gcc"
|
||||
export CXX="g++"
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
# -Clink-arg=-B{_prefix}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||
# -Clink-arg=-B{rust_root}/lib/rustlib/{rust_triple}/bin/gcc-ld/"
|
||||
|
||||
%if %{with sccache}
|
||||
export CC="/usr/bin/sccache ${CC}"
|
||||
export CXX="/usr/bin/sccache ${CXX}"
|
||||
%endif
|
||||
|
||||
cat >> .env.sh <<EOF
|
||||
export CXXFLAGS="-I/home/abuild/rpmbuild/BUILD/rustc-%{version}-src/src/llvm-project/libunwind/include/"
|
||||
export PATH="%{_prefix}/lib/rustlib/%{rust_triple}/bin/:${PATH}"
|
||||
export RUSTFLAGS="%{rustflags} -Clinker=%{rust_linker}"
|
||||
export LD_LIBRARY_PATH="%{rust_root}/lib"
|
||||
export SCCACHE_IDLE_TIMEOUT="3000"
|
||||
export DESTDIR=%{buildroot}
|
||||
export CARGO_FEATURE_VENDORED=1
|
||||
unset FFLAGS
|
||||
unset MALLOC_CHECK_
|
||||
unset MALLOC_PERTURB_
|
||||
# END EXPORTS
|
||||
EOF
|
||||
. ./.env.sh
|
||||
|
||||
# Sometimes to debug sccache we need to know the state of the env.
|
||||
env
|
||||
|
||||
# Check our rustroot works as we expect
|
||||
%if %{without test}
|
||||
cat >> main.rs <<EOF
|
||||
fn main() {}
|
||||
EOF
|
||||
RUSTC_LOG=rustc_codegen_ssa::back::link=info %{rust_root}/bin/rustc -C link-args=-Wl,-v ${RUSTFLAGS} main.rs
|
||||
%endif
|
||||
|
||||
# The configure macro will modify some autoconf-related files, which upsets
|
||||
# cargo when it tries to verify checksums in those files. So we don't use
|
||||
# the macro, as it provides no tangible benefit to our build process.
|
||||
# FUTURE: See if we can build sanitizers without the full llvm bundling.
|
||||
# {?with_tier1: --enable-sanitizers} \
|
||||
|
||||
./configure \
|
||||
--build=%{rust_triple} --host=%{rust_triple} \
|
||||
--target %{rust_target_list} \
|
||||
%{?with_wasi: --set target.wasm32-wasi.wasi-root=%{_datadir}/wasi-sysroot/ } \
|
||||
%{?with_wasi: --set target.wasm32-wasi.ar=%{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/llvm-ar } \
|
||||
%{?with_wasi: --set target.wasm32-wasi.ranlib=%{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/llvm-ar } \
|
||||
--prefix=%{_prefix} \
|
||||
--bindir=%{_bindir} \
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--datadir=%{_datadir} \
|
||||
--localstatedir=%{_localstatedir} \
|
||||
--mandir=%{_mandir} \
|
||||
--infodir=%{_infodir} \
|
||||
--libdir=%{common_libdir} \
|
||||
--docdir=%{_docdir}/rust \
|
||||
--enable-local-rust \
|
||||
%{!?with_test: --local-rust-root=%{rust_root} --disable-rpath} \
|
||||
--disable-llvm-link-shared --set llvm.link-jobs=0 \
|
||||
--set target.%{rust_triple}.profiler=true \
|
||||
%{?with_llvmtools: --set rust.use-lld=true --set llvm.use-linker=lld} \
|
||||
--set rust.lld=true \
|
||||
--default-linker=%{rust_linker} \
|
||||
%{?with_sccache: --enable-sccache} \
|
||||
%{!?with_sccache: --enable-ccache} \
|
||||
--disable-docs \
|
||||
--disable-compiler-docs \
|
||||
--enable-verbose-tests \
|
||||
%{debug_info} \
|
||||
--enable-vendor \
|
||||
--enable-extended \
|
||||
--tools="cargo,clippy,rustdoc,rustfmt,src" \
|
||||
--release-channel="stable" \
|
||||
--set rust.deny-warnings=false \
|
||||
%{nil}
|
||||
|
||||
# We set deny warnings to false due to a problem where rust upstream didn't test building with
|
||||
# the same version (they did previous ver)
|
||||
|
||||
%if %{without test}
|
||||
python3 ./x.py build
|
||||
# Debug for post build
|
||||
free -h
|
||||
df -h
|
||||
%endif
|
||||
|
||||
%install
|
||||
# Reread exports file
|
||||
%if %{without test}
|
||||
. ./.env.sh
|
||||
|
||||
python3 ./x.py install
|
||||
|
||||
# bsc#1199126 - rust-lld contains an rpath, which is invalid.
|
||||
chrpath -d %{buildroot}%{rustlibdir}/%{rust_triple}/bin/rust-lld
|
||||
|
||||
# To facilitate tests when we aren't using system LLVM, we need filecheck available.
|
||||
install -m 0755 %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/llvm/bin/FileCheck %{buildroot}%{rustlibdir}/%{rust_triple}/bin/FileCheck
|
||||
|
||||
# Remove the license files from _docdir: make install put duplicates there
|
||||
rm %{buildroot}%{_docdir}/rust/{README.md,COPYRIGHT,LICENSE*}
|
||||
rm %{buildroot}%{_docdir}/rust/*.old
|
||||
|
||||
# Remove installer artifacts (manifests, uninstall scripts, etc.)
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
|
||||
|
||||
# Remove hidden files from source
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.appveyor.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.travis.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.cirrus.yml' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type f -name '.clang-format' -exec rm -v '{}' '+'
|
||||
find %{buildroot}%{rustlibdir} -type d -name '.github' -exec rm -r -v '{}' '+'
|
||||
|
||||
# The shared libraries should be executable to allow fdupes find duplicates.
|
||||
find %{buildroot}%{common_libdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||
|
||||
# The shared libraries should be executable for debuginfo extraction.
|
||||
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
||||
|
||||
# Create the path for crate-devel packages
|
||||
mkdir -p %{buildroot}%{_datadir}/cargo/registry
|
||||
|
||||
# Remove completions
|
||||
rm -rf %{buildroot}%{_prefix}/src/etc/bash_completion.d
|
||||
# rmdir %{buildroot}%{_prefix}/src/etc
|
||||
rm -rf %{buildroot}%{_sysconfdir}/bash_completion.d
|
||||
rm -rf %{buildroot}%{_datadir}/zsh
|
||||
|
||||
# There should be nothing here at all
|
||||
rm -rf %{buildroot}%{_sysconfdir}
|
||||
# cargo does not respect our _libexec setting on Leap:
|
||||
if [ ! -f %{buildroot}%{_libexecdir}/cargo-credential-1password ] &&
|
||||
[ -f %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password ]; then
|
||||
mv %{buildroot}%{_exec_prefix}/libexec/cargo-credential-1password \
|
||||
%{buildroot}%{_libexecdir}/cargo-credential-1password
|
||||
fi
|
||||
|
||||
# Silence any duplicate library warnings.
|
||||
%if 0%{?is_opensuse} == 1 && 0%{?suse_version} >= 1699
|
||||
%fdupes %{buildroot}/%{common_libdir}
|
||||
%endif
|
||||
|
||||
# Ugly hack to get brp-15-strip-debug call llvm-strip, which is wasm-aware, as system-strip will break wasm-files (same for ar/ranlib)
|
||||
export CROSS_COMPILE=llvm-
|
||||
|
||||
# End without test
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
%check
|
||||
. ./.env.sh
|
||||
|
||||
# Tests require stage0 in place, so we need to symlink that in for compiler access.
|
||||
# Generally in a non-local rust build, this process assumes you downloaded and unpacked
|
||||
# the compiler toolchain into stage0, which is why we have to feed that in manually.
|
||||
mkdir -p %{_builddir}/rustc-%{version}-src/build/%{rust_triple}
|
||||
ln -s %{rust_root} %{_builddir}/rustc-%{version}-src/build/%{rust_triple}/stage0
|
||||
|
||||
# Need to exclude issue-71519 as when we enable lld for wasm, this test incorrectly assumes
|
||||
# we can use it with -Z gcc-ld=lld (which is sadly trapped in nightly). We can't exclude
|
||||
# a single test so sadly we have to exclude that whole suite.
|
||||
#
|
||||
# Exclude mte-ffi as aarch64-linux-gnu-gcc isn't available
|
||||
|
||||
%ifarch aarch64
|
||||
python3 ./x.py test --target=%{rust_triple} \
|
||||
--exclude tests/run-make/issue-71519 \
|
||||
--exclude tests/run-make/pgo-branch-weights \
|
||||
--exclude src/tools/tidy \
|
||||
--exclude src/tools/expand-yaml-anchors \
|
||||
--exclude tests/ui/methods \
|
||||
--exclude tests/ui/typeck \
|
||||
--exclude tests/ui/issues/issue-21763 \
|
||||
--exclude tests/ui/mismatched_types \
|
||||
--exclude tests/run-make/short-ice \
|
||||
--exclude tests/run-make/rust-lld \
|
||||
--exclude tests/run-make/mte-ffi \
|
||||
--exclude src/bootstrap
|
||||
%else
|
||||
python3 ./x.py test --target=%{rust_triple} \
|
||||
--exclude tests/run-make/issue-71519 \
|
||||
--exclude tests/run-make/pgo-branch-weights \
|
||||
--exclude src/tools/tidy \
|
||||
--exclude src/tools/expand-yaml-anchors \
|
||||
--exclude tests/ui/methods \
|
||||
--exclude tests/ui/typeck \
|
||||
--exclude tests/ui/issues/issue-21763 \
|
||||
--exclude tests/ui/mismatched_types \
|
||||
--exclude tests/run-make/short-ice \
|
||||
--exclude tests/run-make/rust-lld \
|
||||
--exclude src/bootstrap
|
||||
%endif
|
||||
|
||||
# End with test
|
||||
%endif
|
||||
|
||||
%if %{without test}
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
||||
%doc CONTRIBUTING.md README.md RELEASES.md
|
||||
%{_bindir}/rustc
|
||||
%{_bindir}/rustdoc
|
||||
%{_bindir}/rust-gdb
|
||||
%{_bindir}/rust-gdbgui
|
||||
%{_bindir}/rust-lldb
|
||||
%{_bindir}/cargo-clippy
|
||||
%{_bindir}/cargo-fmt
|
||||
%{_bindir}/clippy-driver
|
||||
%{_bindir}/rustfmt
|
||||
%{_mandir}/man1/rustc.1%{?ext_man}
|
||||
%{_mandir}/man1/rustdoc.1%{?ext_man}
|
||||
%{_prefix}/lib/lib*.so
|
||||
%dir %{rustlibdir}
|
||||
%dir %{rustlibdir}%{_sysconfdir}
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_load_rust_pretty_printers.py
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_lookup.py
|
||||
%{rustlibdir}%{_sysconfdir}/gdb_providers.py
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_commands
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_lookup.py
|
||||
%{rustlibdir}%{_sysconfdir}/lldb_providers.py
|
||||
%{rustlibdir}%{_sysconfdir}/rust_types.py
|
||||
%dir %{rustlibdir}/%{rust_triple}
|
||||
%{rustlibdir}/%{rust_triple}/bin
|
||||
%dir %{rustlibdir}/%{rust_triple}/lib
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.so
|
||||
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
||||
%if %{with wasm32}
|
||||
%dir %{rustlibdir}/wasm32-unknown-unknown
|
||||
%dir %{rustlibdir}/wasm32-unknown-unknown/lib
|
||||
%{rustlibdir}/wasm32-unknown-unknown/lib/*.rlib
|
||||
%if %{with wasi}
|
||||
%dir %{rustlibdir}/wasm32-wasi
|
||||
%dir %{rustlibdir}/wasm32-wasi/lib
|
||||
%dir %{rustlibdir}/wasm32-wasi/lib/self-contained
|
||||
%{rustlibdir}/wasm32-wasi/lib/*.rlib
|
||||
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.o
|
||||
%{rustlibdir}/wasm32-wasi/lib/self-contained/*.a
|
||||
%endif
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%dir %{rustlibdir}/x86_64-unknown-none
|
||||
%dir %{rustlibdir}/x86_64-unknown-none/lib
|
||||
%{rustlibdir}/x86_64-unknown-none/lib/*.rlib
|
||||
%endif
|
||||
|
||||
# Seems to have been removed in 1.73
|
||||
# pct {_libexecdir}/cargo-credential-1password
|
||||
|
||||
%files -n cargo%{version_suffix}
|
||||
%license src/tools/cargo/LICENSE-{APACHE,MIT,THIRD-PARTY}
|
||||
%license src/tools/rustfmt/LICENSE-{APACHE,MIT}
|
||||
%license src/tools/clippy/LICENSE-{APACHE,MIT}
|
||||
%{_bindir}/cargo
|
||||
%{_mandir}/man1/cargo*.1%{?ext_man}
|
||||
%dir %{_datadir}/cargo
|
||||
%dir %{_datadir}/cargo/registry
|
||||
|
||||
%files src
|
||||
%{rustlibdir}/src
|
||||
|
||||
# End not with test
|
||||
%endif
|
||||
|
||||
%changelog
|
BIN
rustc-1.82.0-src.tar.xz
(Stored with Git LFS)
Normal file
BIN
rustc-1.82.0-src.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user