Commit Graph

284 Commits

Author SHA1 Message Date
Josh Stone
24a6c91d17 Trim %extra_targets on RHEL
[skip changelog]
2024-07-25 09:39:06 -07:00
Gerd Hoffmann
3492f59d87 lld fixup for aarch64-unknown-uefi 2024-07-25 16:32:34 +00:00
Gerd Hoffmann
c5289e87c3 enable aarch64-unknown-uefi 2024-07-25 16:32:34 +00:00
Fedora Release Engineering
9e272bbc6e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 20:14:33 +00:00
Jesus Checa Hidalgo
f3243280f0 Import gating tests from tests/rust
Modify gating testplan to import tests from tests/rust repo.
Remove tmt tests in rpms/rust as we'll no longer use them.
2024-07-05 13:51:41 +02:00
Josh Stone
c960ecf6c1 Update bundled wasi-libc for distinct target triples 2024-06-20 16:01:30 -07:00
Josh Stone
9f26656c96 Update LLVM versions
[skip changelog]
2024-06-13 16:46:22 -07:00
Josh Stone
c9bf5b6c12 Regenerate disable-libssh2.patch
[skip changelog]
2024-06-13 16:41:06 -07:00
Nikita Popov
2e8923ba1c Update to 1.79.0
python3-rpm is added (temporarily) to work around
https://bugzilla.redhat.com/show_bug.cgi?id=2275274.

The binutils-gold dependency is needed for one test. Previously
binutils implicitly dependend on binutils-gold.

Backport https://github.com/rust-lang/rust/pull/126263 to fix
one codegen test failure on s390x.

There are some additional test failures on ppc64le and s390x for
which I have filed https://github.com/rust-lang/rust/issues/126260
and https://github.com/rust-lang/rust/issues/126261.
2024-06-13 17:52:13 +02:00
Yaakov Selkowitz
42d132a7af rust-toolset Requires: rust-toolset-srpm-macros
This should prevent rust-toolset and rust-packaging from mixing in ELN.
2024-05-28 18:53:37 -04:00
Josh Stone
e2464021a8 Write cargo configuration to .cargo/config.toml instead of .cargo/config
(Synced from rust-packaging into rust-toolset.)

Co-authored-by: Fabio Valentini <decathorpe@gmail.com>

[skip changelog]
2024-05-17 12:05:26 -07:00
Josh Stone
110b2ab26e Update to 1.78.0 2024-05-02 10:01:52 -07:00
Josh Stone
3334ed315d Use bundled sqlite3 when the system version is too old. 2024-04-30 15:16:04 -07:00
Jesus Checa Hidalgo
b12fe9f482 test: Move librsvg2 and stratisd rebuild tests into rpm-rebuild test 2024-04-25 05:46:50 +00:00
Jesus Checa Hidalgo
51570d63ec tests: Add rpmbuild tests
Created a virtual testcase for building any rpm with rust.
Added two specific cases: rpm-sequoia and ripgrep
2024-04-25 05:46:50 +00:00
Josh Stone
8fff280b59 Disable brp-strip-static-archive
We do want debuginfo for the standard library when built into other
programs, and this also avoids problems with strip on wasm and uefi.
2024-04-24 16:36:01 -07:00
Josh Stone
8e7d2666e4 Add fixes for several test cases 2024-04-16 17:15:17 -07:00
Josh Stone
230ae0c65c [rhel] Rename rust-srpm-macros to rust-toolset-srpm-macros
The upgrade path was broken because the Rust version compares less than
the rust2rpm-based package version that was in RHEL 8 and 9. With a new
name and appropriate Obsoletes and Provides, it should upgrade cleanly.

Ref: https://issues.redhat.com/browse/RHEL-30636
2024-04-16 10:54:39 -07:00
Josh Stone
d04d391a82 Update to 1.77.2; Fixes RHBZ#2274248 CVE-2024-24576 2024-04-09 14:56:51 -07:00
Josh Stone
4db2e77269 Convert to %autorelease and %autochangelog
[skip changelog]
2024-04-09 10:10:47 -07:00
Nikita Popov
f6ac4da7c5 Fix building against compat library
We also need to use the corresponding compiler-rt version and
use the llvm-profdata from the correct path.

The compat build is now enabled by defining llvm_compat_version.
2024-04-08 16:23:47 +09:00
Josh Stone
46e7352445 Ensure more consistency in PGO flags -- fixes Cargo tests 2024-04-05 17:11:37 -07:00
Davide Cavalca
e0c61d2262 Add build target for aarch64-unknown-none-softfloat 2024-03-22 10:07:19 -07:00
Nikita Popov
15b7bb28e4 Add LLVM 18 compat patches 2024-03-21 15:18:16 +01:00
Nikita Popov
504e9e1d44 Update to 1.77.0 2024-03-21 15:18:10 +01:00
6b5e21282d Lower memory usage for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
2024-02-19 16:59:34 +00:00
Josh Stone
89eacb88ce Update to 1.76.0. 2024-02-08 09:36:10 -08:00
Josh Stone
d7cd45b9e4 Consolidate 32-bit build compromises. 2024-01-30 16:59:46 -08:00
Yaakov Selkowitz
6501920abb Sync rust-toolset macros to rust-packaging v25.2
This bring RHEL rust-toolset in sync with the latest Fedora
rust-packaging, most importantly:

* Fedora's new style (-v vendor) vendoring is implemented. The old RHEL
style (-V #) vendoring is still supported, at least until we can convert
everything in ELN.

* Automatic generation of bundled provides using %cargo_vendor_manifest.
However, instead of depending on cargo2rpm, a very stripped-down version
of just its parse-vendor-manifest command is provided as a private
script, along with a fileattr to call it.

Other changes incorporated in this commit:

* -Cstrip=none added to %build_rustflags.

* --profile rpm is used instead of --release.

* Errors in spawned commands are now caught.

* Comments and whitespace are synced for easier comparison with Fedora.

* --target all is dropped from license and vendor macros, to avoid false
  alarms from windows crates.
2024-01-29 03:05:57 +00:00
Yaakov Selkowitz
8c1ae0e762 Provide rust-srpm-macros in RHEL
rust-srpm-macros is a dependency of redhat-rpm-config so that Rust-based
SRPMs can rely on these particular macros.  In RHEL 9 and earlier,
rust-srpm-macros was a separate source package which was included in
RHEL.  Since then, it became a subpackage of rust-packaging in Fedora.

In order to not pull in any part of rust-packaging into RHEL 10, thereby
allowing it to be maintained separately in EPEL, those macros are
provided here instead.
2024-01-29 03:05:57 +00:00
Fedora Release Engineering
6c6aaa4382 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 17:48:12 +00:00
Josh Stone
6f2eb1990e Rename x/xk macros for older rpm compat 2024-01-03 16:22:01 -08:00
Josh Stone
162f7919e2 Update to 1.75.0. 2023-12-31 11:00:36 -08:00
Josh Stone
a057e85147 Update to 1.74.1. 2023-12-07 09:56:29 -08:00
Josh Stone
6a528e9169 Update to 1.74.0. 2023-11-16 08:50:29 -08:00
Josh Stone
69f0d33100 Detect non-stable channels from the version 2023-11-16 08:28:54 -08:00
Yaakov Selkowitz
6b33462485 Sync rust-toolset macros from rust-packaging
This updates the RHEL/ELN rust-toolset macros to the state of
macros.rust and macros.cargo from Fedora rust-packaging v24, with
the following exceptions:

* %__cargo_to_rpm, as cargo2rpm is not shipped in RHEL;

* %cargo_registry, %cargo_instdir, and %cargo_generate_buildrequires
which are for building and/or consuming "library" crates which are not
built in RHEL;

* %__cargo_is_{bin,lib} and the is-lib conditional section of
%cargo_install, as they use cargo2rpm, and only "binary" crates are
built in RHEL;

* Dropped RUSTC_BOOTSTRAP and -Z avoid-dev-deps, as they are overly
broad and should not be needed with vendored builds (rust-packaging#23);

* Dropped rustflags that are already set by default (rust-packaging#24).
2023-11-15 13:20:52 -05:00
Josh Stone
9746593522 Use thin-LTO and PGO for rustc itself. 2023-10-26 09:01:56 -07:00
Josh Stone
4740f18b01 Loosen the search for older libclang_rt.profile 2023-10-05 15:45:24 -07:00
Josh Stone
0b6ffb1d4a Update to 1.73.0.
Drop el7 conditionals from the spec.
2023-10-05 09:24:56 -07:00
Daniel P. Berrangé
afbd2cf0c4 ensure rustfmt pulls in exact matching rust evr
/usr/bin/rustfmt is linking to an internal rust library and this
results in load errors if rustfmt and rust are at different evrs:

$ rustfmt
rustfmt: error while loading shared libraries: librustc_driver-69c69b1255476b63.so: cannot open shared object file: No such file or directory
$ rpm -q rust rustfmt
rust-1.72.0-1.fc38.x86_64
rustfmt-1.72.1-1.fc38.x86_64

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-10-04 10:50:58 +01:00
Josh Stone
fbe7f8404b Switch to unbundled wasi-libc on Fedora
Also, use emmalloc instead of CC0 dlmalloc when bundling wasi-libc.
2023-09-29 14:56:44 -07:00
Josh Stone
938db5293e Fix the profiler runtime with compiler-rt-17 2023-09-27 12:05:39 -07:00
Josh Stone
68e85e4428 Simplify the target definitions 2023-09-27 12:05:39 -07:00
Josh Stone
b2411fce72 Drop noarch from embedded x86_64 targets and use lld 2023-09-25 13:45:57 -07:00
Daniel P. Berrangé
9f66968c10 add 'x86_64-unknown-uefi' build target
This target will facilitate the use of Rust in the UEFI environment

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-09-25 11:36:55 -07:00
Daniel P. Berrangé
58662257c8 add 'x86_64-unknown-none' build target
The coconut-svsm project which provides a low level firmware for AMD
SEV-SNP virtual machines uses 'x86_64-unknown-none' as its build
target and has recently removed the requirement to use rust nightly[1].

Thus adding 'x86_64-unknown-none' as a build target will enable us to
build coconut-svsm in Fedora using the standard Rust toolchain packages.

[1] https://github.com/coconut-svsm/svsm/pull/81
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2023-09-25 11:36:00 -07:00
Yaakov Selkowitz
da52e5d316 Fix ELN build
ELN (RHEL 10) tracks rawhide and currently also has llvm-17.
2023-09-25 11:35:03 -07:00
Josh Stone
b1db162b38 Update to 1.72.1.
Migrated to SPDX license
2023-09-19 10:09:40 -07:00
Josh Stone
0764fad18b Update to 1.72.0. 2023-08-24 11:15:39 -07:00