From 45bce1db40d7bf62bb59f250982b346f87b16e97 Mon Sep 17 00:00:00 2001 From: Takuya Wakazono Date: Sat, 10 Aug 2024 12:32:05 +0900 Subject: dev-util/rust-script: fix tests with new cargo.eclass Signed-off-by: Takuya Wakazono --- .../files/rust-script-0.34.0-fix-test.patch | 20 ++++++++++++++++++++ dev-util/rust-script/rust-script-0.34.0.ebuild | 13 ++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 dev-util/rust-script/files/rust-script-0.34.0-fix-test.patch (limited to 'dev-util') diff --git a/dev-util/rust-script/files/rust-script-0.34.0-fix-test.patch b/dev-util/rust-script/files/rust-script-0.34.0-fix-test.patch new file mode 100644 index 000000000..b7a68add0 --- /dev/null +++ b/dev-util/rust-script/files/rust-script-0.34.0-fix-test.patch @@ -0,0 +1,20 @@ +- cargo_target_dir helper contains {debug,release} +- tests does not work with CARGO_BUILD_TARGET defined +https://github.com/fornwall/rust-script/issues/85 +--- a/tests/util/mod.rs ++++ b/tests/util/mod.rs +@@ -15,12 +15,13 @@ macro_rules! rust_script { + let out = { + let target_dir = ::std::env::var("CARGO_TARGET_DIR") + .unwrap_or_else(|_| String::from("target")); +- let mut cmd = Command::new(format!("{}/debug/rust-script", target_dir)); ++ let mut cmd = Command::new(format!("{}/rust-script", target_dir)); + $( + cmd.arg($args); + )* + + cmd.env_remove("CARGO_TARGET_DIR"); ++ cmd.env_remove("CARGO_BUILD_TARGET"); + $(cmd.env(stringify!($env_k), $env_v);)* + + cmd_str = format!("{:?}", cmd); diff --git a/dev-util/rust-script/rust-script-0.34.0.ebuild b/dev-util/rust-script/rust-script-0.34.0.ebuild index f668ea5bd..82bd8e756 100644 --- a/dev-util/rust-script/rust-script-0.34.0.ebuild +++ b/dev-util/rust-script/rust-script-0.34.0.ebuild @@ -116,13 +116,12 @@ KEYWORDS="~amd64" QA_FLAGS_IGNORED="usr/bin/.*" +PATCHES=( + # tests does not work with CARGO_BUILD_TARGET defined + "${FILESDIR}/${P}-fix-test.patch" +) + src_prepare() { default - - use debug || sed -i "s|/debug/|/release/|" tests/util/mod.rs || die - - # cargo.eclass uses the old config and deprecation warning breaks the test. - if [[ ! -e "${ECARGO_HOME}/config.toml" ]]; then - ln -s "${ECARGO_HOME}/config" "${ECARGO_HOME}/config.toml" || die - fi + sed -i "s|\"target\"|\"$(cargo_target_dir)\"|" tests/util/mod.rs || die } -- cgit v1.2.3-65-gdbad