This was tested in copr [1]: 96 packages succeeded: - rust-afterburn rust-alacritty rust-askalono-cli rust-assert_cli rust-base100 rust-bat rust-below rust-bindgen rust-blsctl rust-bodhi-cli rust-bootupd rust-btrd rust-cargo-bloat rust-cargo-c rust-cargo-insta rust-cargo-readme rust-cbindgen rust-choosier rust-comrak rust-copydeps rust-coreos-installer rust-count-zeroes rust-dbus-codegen rust-desed rust-diskonaut rust-docopt rust-drg rust-dua-cli rust-dutree rust-edit rust-elfcat rust-exa rust-fd-find rust-fedora-coreos-pinger rust-fedora-update-feedback rust-fluent-syntax rust-git-delta rust-gitui rust-handlebars rust-heatseeker rust-helvum rust-hexyl rust-hyperfine rust-jql rust-just rust-lalrpop rust-leb128 rust-libbpf-cargo rust-libslirp rust-lscolors rust-lsd rust-oxipng rust-packaging rust-peg0.5 rust-permutate rust-pleaser rust-pommes rust-pretty-git-prompt rust-procs rust-protobuf-codegen rust-pulldown-cmark rust-python-launcher rust-rav1e rust-rd-agent rust-rd-hashd rust-read-process-memory rust-resctl-bench rust-resctl-demo rust-ripgrep rust-rpick rust-rudo rust-rustbus rust-rustdoc-stripper rust-rustfilt rust-sass-rs rust-sd rust-semver-parser rust-sequoia-keyring-linter rust-sequoia-sop rust-sequoia-sq rust-sequoia-sqv rust-sevctl rust-sha1collisiondetection rust-silver rust-skim rust-ssh-key-dir rust-starship rust-subprocess rust-system76_ectool rust-tealdeer rust-termbg rust-tokei rust-varlink-cli rust-varlink_generator rust-weezl rust-ybaas rust-yubibomb rust-zincati rust-zopfli rust-zoxide rust-zram-generator 11 failures: - rust-bootupd: partial architecture support - rust-cargo-c: compilation failure on one architecture - rust-oxipng: partial architecture support - rust-sevctl: partial architecture support - rust-cargo-edit: nothing provides requested (crate(toml_edit/default) >= 0.2.0 with crate(toml_edit/default) < 0.3.0~) - rust-ffsend: nothing provides requested (crate(version-compare/default) >= 0.1.0 with crate(version-compare/default) < 0.2.0~) - rust-image-roll: nothing provides requested (crate(infer/default) >= 0.6.0 with crate(infer/default) < 0.7.0~) - rust-inferno: nothing provides requested (crate(assert_cmd/default) >= 1.0.0 with crate(assert_cmd/default) < 2.0.0~) - rust-navi: compilation erros (releted to clap version?) - rust-rbspy: compilation erros (releted to nix version?) - rust-sequoia-octopus-librnp: cannot find function `thread_rng` in crate `rand` - rust-sevctl: copr build timeout [1] https://copr.fedorainfracloud.org/coprs/zbyszek/rust-package-notes/builds/epel9
parent
0b773e392d
commit
9490476bd1
@ -0,0 +1,34 @@
|
||||
From f1be3a0d4d2df6497d46f627cc54ce8450da8699 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksei Bavshin <alebastr@fedoraproject.org>
|
||||
Date: Dec 06 2021 06:20:52 +0000
|
||||
Subject: macros: pass CFLAGS/CXXFLAGS to the processes started by cargo
|
||||
|
||||
|
||||
This is mainly targeted to the crates using `rust-cc`, where we want to
|
||||
apply system-wide compiler flags when invoking the compiler. `cc`
|
||||
supports CFLAGS and CXXFLAGS, but we never set those.
|
||||
Defining that per project is not possible, as we have no way to inherit
|
||||
any build context from a dependency package.
|
||||
|
||||
Possibly also affects: `bindgen`, `cxx`, any other crate that invokes
|
||||
the C/C++ compiler and passes the CFLAGSS
|
||||
|
||||
---
|
||||
|
||||
diff --git a/data/macros.cargo b/data/macros.cargo
|
||||
index 0a68998..07fcb56 100644
|
||||
--- a/data/macros.cargo
|
||||
+++ b/data/macros.cargo
|
||||
@@ -22,6 +22,11 @@ rustc = "%{__rustc}"\
|
||||
rustdoc = "%{__rustdoc}"\
|
||||
rustflags = %{__global_rustflags_toml}\
|
||||
\
|
||||
+[env]\
|
||||
+CFLAGS = "%{build_cflags}"\
|
||||
+CXXFLAGS = "%{build_cxxflags}"\
|
||||
+LDFLAGS = "%{build_ldflags}"\
|
||||
+\
|
||||
[install]\
|
||||
root = "%{buildroot}%{_prefix}"\
|
||||
\
|
||||
|
@ -0,0 +1,61 @@
|
||||
From 0131b4e28aca1e036d1d089a17553d6378657e07 Mon Sep 17 00:00:00 2001
|
||||
From: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
|
||||
Date: Feb 15 2022 09:59:42 +0000
|
||||
Subject: Include linker flags for package note in %build_rustflags
|
||||
|
||||
|
||||
%build_rustflags was used in %cargo_prep, which is executed in %prep,
|
||||
when %buildsubdir is not set yet. To avoid this, insertion of flags is
|
||||
moved to an environment variable that is set for %cargo_build and
|
||||
%cargo_test.
|
||||
|
||||
The linker flag gets passed to rustc, and resulting binaries seem to have
|
||||
note as expected.
|
||||
|
||||
---
|
||||
|
||||
diff --git a/data/macros.cargo b/data/macros.cargo
|
||||
index 07fcb56..05f5eb2 100644
|
||||
--- a/data/macros.cargo
|
||||
+++ b/data/macros.cargo
|
||||
@@ -4,7 +4,7 @@
|
||||
# it never writes to ~/.cargo during rpmbuild.
|
||||
# We also need RUSTC_BOOTSTRAP since we use -Z avoid-dev-deps
|
||||
# until it gets stabilized: https://github.com/rust-lang/cargo/issues/5133
|
||||
-%__cargo %{_bindir}/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 %{_bindir}/cargo
|
||||
+%__cargo %{_bindir}/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 RUSTFLAGS='%{build_rustflags}' %{_bindir}/cargo
|
||||
%__cargo_common_opts %{?_smp_mflags} -Z avoid-dev-deps
|
||||
%__cargo_inspector %{_bindir}/cargo-inspector
|
||||
|
||||
@@ -20,7 +20,6 @@ cat > .cargo/config << EOF \
|
||||
[build]\
|
||||
rustc = "%{__rustc}"\
|
||||
rustdoc = "%{__rustdoc}"\
|
||||
-rustflags = %{__global_rustflags_toml}\
|
||||
\
|
||||
[env]\
|
||||
CFLAGS = "%{build_cflags}"\
|
||||
@@ -61,6 +60,7 @@ EOF\
|
||||
|
||||
%cargo_build(naf:) \
|
||||
%{shrink:\
|
||||
+ RUSTFLAGS='%{build_rustflags}' \
|
||||
%{__cargo} build \
|
||||
%{__cargo_common_opts} \
|
||||
--release \
|
||||
diff --git a/data/macros.rust b/data/macros.rust
|
||||
index 7377f92..0940d06 100644
|
||||
--- a/data/macros.rust
|
||||
+++ b/data/macros.rust
|
||||
@@ -5,7 +5,9 @@
|
||||
%build_rustflags %{shrink:
|
||||
-Copt-level=3
|
||||
-Cdebuginfo=2
|
||||
- -Clink-arg=-Wl,-z,relro,-z,now
|
||||
+ -Clink-arg=-Wl,-z,relro
|
||||
+ -Clink-arg=-Wl,-z,now
|
||||
+ %{?_package_note_file:-Clink-arg=-Wl,-dT,%{_package_note_file}}
|
||||
-Ccodegen-units=1
|
||||
--cap-lints=warn
|
||||
}
|
||||
|
Loading…
Reference in new issue