package/ripgrep: add workaround for cargo bug #3349

To fix this bug we have to use an undocumented test variable to enable
the nightly target-applies-to-host feature so that the target linker
doesn't get used for host binaries like the build-script.

Fixes:
error: failed to run custom build command for `ripgrep v0.8.1 (/home/buildroot/buildroot/output/build/ripgrep-0.8.1)`

Caused by:
  process didn't exit successfully: `/home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build` (exit status: 1)
  --- stderr
  /home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/buildroot/buildroot/output/build/ripgrep-0.8.1/target/release/build/ripgrep-59eeb7069534e1ef/build-script-build)

Details:
https://github.com/rust-lang/cargo/issues/3349
https://github.com/rust-lang/cargo/pull/9322

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
James Hilliard 2021-08-01 16:59:28 -06:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 14377e3887
commit 4b2be770b8

View File

@ -11,11 +11,14 @@ RIPGREP_LICENSE_FILES = LICENSE-MIT
RIPGREP_CPE_ID_VENDOR = ripgrep_project
RIPGREP_DEPENDENCIES = host-rustc
RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
RIPGREP_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo \
__CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" \
CARGO_TARGET_APPLIES_TO_HOST="false"
RIPGREP_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(RIPGREP_CARGO_BIN_SUBDIR)
RIPGREP_CARGO_OPTS = \
-Z target-applies-to-host \
--target=$(RUSTC_TARGET_NAME) \
--manifest-path=$(@D)/Cargo.toml