commit: 45bce1db40d7bf62bb59f250982b346f87b16e97 Author: Takuya Wakazono <pastalian46 <AT> gmail <DOT> com> AuthorDate: Sat Aug 10 03:32:05 2024 +0000 Commit: Takuya Wakazono <pastalian46 <AT> gmail <DOT> com> CommitDate: Sat Aug 10 03:37:09 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=45bce1db
dev-util/rust-script: fix tests with new cargo.eclass Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com> .../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(-) 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 }