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
 }

Reply via email to