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 0000000000..b7a68add0b --- /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 f668ea5bdc..82bd8e7567 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 }