summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-08-07 01:45:53 +0300
committerArtturin <Artturin@artturin.com>2022-09-02 18:31:54 +0300
commita32cd711efe2b934b7a32b175f15ecba9962ba9b (patch)
treee0a0d83d1704a69d73a1c5c66afe4c5057f9cf8c
parent24723644acd2d50aa30cd4d6829cc2d8949d5824 (diff)
downloadnixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar.gz
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar.bz2
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar.lz
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar.xz
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.tar.zst
nixpkgs-a32cd711efe2b934b7a32b175f15ecba9962ba9b.zip
gnome-tour: work towards fixing cross
doesn't work yet

```
gnome-tour-aarch64-unknown-linux-gnu> error: linking with `/nix/store/3d9zjv5vaqjxb9kwbdqsd194alwm97x1-gcc-wrapper-11.3.0/bin/cc` failed: exit status: 1
gnome-tour-aarch64-unknown-linux-gnu>   |
gnome-tour-aarch64-unknown-linux-gnu>   = note: "/nix/store/3d9zjv5vaqjxb9kwbdqsd194alwm97x1-gcc-wrapper-11.3.0/bin/cc" "-m64" "/build/rustcd8pO0A/symbols.o" "/build/gnome-tour-42.0/build/src/release/deps/gnome_to
...
gnome-tour-aarch64-unknown-linux-gnu>           /nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: skipping incompatible /nix/store/c84gzzifyh10w9m612wxcas04r7fq4h0-glib-aarch64-unknown-linux-gnu-2.
72.3/lib/libglib-2.0.so when searching for -lglib-2.0
gnome-tour-aarch64-unknown-linux-gnu>           /nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: cannot find -lglib-2.0: No such file or directory
...
gnome-tour-aarch64-unknown-linux-gnu>           collect2: error: ld returned 1 exit status
...
gnome-tour-aarch64-unknown-linux-gnu> FAILED: src/gnome-tour
gnome-tour-aarch64-unknown-linux-gnu> /nix/store/m5n32vy7rbfrqcxigw1p6wyx3cj7smg9-coreutils-9.1/bin/env CARGO_HOME=/build/gnome-tour-42.0/build/cargo-home /nix/store/76l9r44x1sv323c90j6vi401n4fvims2-cargo-1.62.1/b
in/cargo build --manifest-path /build/gnome-tour-42.0/Cargo.toml --target-dir /build/gnome-tour-42.0/build/src --release && cp src/release/gnome-tour src/gnome-tour
gnome-tour-aarch64-unknown-linux-gnu> ninja: build stopped: subcommand failed.
```
-rw-r--r--pkgs/desktops/gnome/core/gnome-tour/default.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-tour/default.nix b/pkgs/desktops/gnome/core/gnome-tour/default.nix
index cbb33c2b230..a26dcfa0a7b 100644
--- a/pkgs/desktops/gnome/core/gnome-tour/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-tour/default.nix
@@ -17,6 +17,8 @@
 , libadwaita
 , librsvg
 , rustc
+, rust
+, writeText
 , cargo
 }:
 
@@ -31,6 +33,10 @@ stdenv.mkDerivation rec {
 
   cargoVendorDir = "vendor";
 
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     cargo
@@ -54,6 +60,16 @@ stdenv.mkDerivation rec {
     librsvg
   ];
 
+  mesonFlags =
+    let
+      # ERROR: 'rust' compiler binary not defined in cross or native file
+      crossFile = writeText "cross-file.conf" ''
+        [binaries]
+        rust = [ 'rustc', '--target', '${rust.toRustTargetSpec stdenv.hostPlatform}' ]
+      '';
+    in
+    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-file=${crossFile}" ];
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;