summaryrefslogtreecommitdiff
path: root/app-misc/anki/files/23.12.1/ninja-rules-for-cargo.patch
blob: cf9356bbc24c4c575941d6ac5f8cfc30ab726a81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Fix the output path for Rust binaries in the Ninja file to match
Cargo's target directory when CARGO_BUILD_TARGET is set.  This prevents
file-not-found errors for some build steps.

Provide the cargo-nextest binary ourselves to prevent network access.
Set test runner options in the ebuild.

From: Lucio Sauer <watermanpaint@posteo.net>
--- a/build/ninja_gen/src/cargo.rs
+++ b/build/ninja_gen/src/cargo.rs
@@ -61,6 +61,9 @@ impl RustOutput<'_> {
         let mut path: Utf8PathBuf = rust_base.into();
         if let Some(target) = target {
             path = path.join(target);
+        } else {
+            let triple = std::env::var("CARGO_BUILD_TARGET").unwrap_or_default();
+            path = path.join(triple);
         }
         path = path.join(profile_output_dir(build_profile)).join(filename);
         path.to_string()
@@ -152,19 +155,11 @@ impl BuildAction for CargoTest {
 
     fn files(&mut self, build: &mut impl FilesHandle) {
         build.add_inputs("", &self.inputs);
-        build.add_inputs("", inputs![":cargo-nextest"]);
         build.add_env_var("ANKI_TEST_MODE", "1");
         build.add_output_stamp("tests/cargo_test");
     }
 
     fn on_first_instance(&self, build: &mut Build) -> Result<()> {
-        build.add_action(
-            "cargo-nextest",
-            CargoInstall {
-                binary_name: "cargo-nextest",
-                args: "cargo-nextest --version 0.9.57 --locked",
-            },
-        )?;
         setup_flags(build)
     }
 }