!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

571 Members
124 Servers

Load older messages


SenderMessageTime
17 Aug 2025
@artturin:matrix.orgArtturinSo I'm thinking the target isn't passed to rustc by meson22:17:38
@artturin:matrix.orgArtturinhere https://gitlab.gnome.org/GNOME/gnome-user-share/-/blob/master/src/meson.build?ref_type=heads#L3622:18:08
@quadradical:federated.nexusQuadRadical (Ping)hmm interesting22:21:05
@quadradical:federated.nexusQuadRadical (Ping) i had assumed it was an issue with the overlay, but does this mean its an issue with upstream gnome? 22:27:52
@artturin:matrix.orgArtturinIt happens in nixpkgs too22:51:41
@artturin:matrix.orgArtturinSo yeah upstream gnome22:51:45
@artturin:matrix.orgArtturin

This fixes the build

diff --git a/pkgs/by-name/gn/gnome-user-share/package.nix b/pkgs/by-name/gn/gnome-user-share/package.nix
index 130c293073eb..b3fd4b3b0de5 100644
--- a/pkgs/by-name/gn/gnome-user-share/package.nix
+++ b/pkgs/by-name/gn/gnome-user-share/package.nix
@@ -74,6 +74,13 @@ stdenv.mkDerivation (finalAttrs: {
     wrapGAppsNoGuiHook
   ];
 
+  prePatch = ''
+    substituteInPlace src/meson.build \
+      --replace-fail 'cargo_env = [' "cargo_env = [ 'CARGO_HOME=/build/.cargo'" \
+      --replace-fail "cargo_options += [ '--target-dir', meson.project_build_root() / 'src' ]" "cargo_options += [ '--target-dir', meson.project_build_root() / 'src', '--target=${stdenv.hostPlatform.rust.rustcTarget}' ]" \
+      --replace-fail "'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@'," "'cp', 'src' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name(), '@OUTPUT@',"
+  '';
+
   buildInputs = [
     glib
   ];
22:51:54
@quadradical:federated.nexusQuadRadical (Ping)thank you!!!22:52:40
@artturin:matrix.orgArtturin *

This fixes the build

diff --git a/pkgs/by-name/gn/gnome-user-share/package.nix b/pkgs/by-name/gn/gnome-user-share/package.nix
index 130c293073eb..b3fd4b3b0de5 100644
--- a/pkgs/by-name/gn/gnome-user-share/package.nix
+++ b/pkgs/by-name/gn/gnome-user-share/package.nix
@@ -74,6 +74,13 @@ stdenv.mkDerivation (finalAttrs: {
     wrapGAppsNoGuiHook
   ];
 
+  postPatch = ''
+    substituteInPlace src/meson.build \
+      --replace-fail 'cargo_env = [' "cargo_env = [ 'CARGO_HOME=/build/.cargo'" \
+      --replace-fail "cargo_options += [ '--target-dir', meson.project_build_root() / 'src' ]" "cargo_options += [ '--target-dir', meson.project_build_root() / 'src', '--target=${stdenv.hostPlatform.rust.rustcTarget}' ]" \
+      --replace-fail "'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@'," "'cp', 'src' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name(), '@OUTPUT@',"
+  '';
+
   buildInputs = [
     glib
   ];
22:52:58
@artturin:matrix.orgArtturinTested and the cargo_env isn't needed22:53:21
@artturin:matrix.orgArtturin
diff --git a/pkgs/by-name/gn/gnome-user-share/package.nix b/pkgs/by-name/gn/gnome-user-share/package.nix
index 130c293073eb..ca1cb2079e8c 100644
--- a/pkgs/by-name/gn/gnome-user-share/package.nix
+++ b/pkgs/by-name/gn/gnome-user-share/package.nix
@@ -74,6 +74,12 @@ stdenv.mkDerivation (finalAttrs: {
     wrapGAppsNoGuiHook
   ];
 
+  postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace src/meson.build \
+      --replace-fail "cargo_options += [ '--target-dir', meson.project_build_root() / 'src' ]" "cargo_options += [ '--target-dir', meson.project_build_root() / 'src', '--target=${stdenv.hostPlatform.rust.rustcTarget}' ]" \
+      --replace-fail "'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@'," "'cp', 'src' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name(), '@OUTPUT@',"
+  '';
+
   buildInputs = [
     glib
   ];

22:54:36
@quadradical:federated.nexusQuadRadical (Ping)thank you22:55:17
@quadradical:federated.nexusQuadRadical (Ping)i really appreciate it22:55:19
@artturin:matrix.orgArtturinhttps://github.com/NixOS/nixpkgs/pull/43457923:06:15
@quadradical:federated.nexusQuadRadical (Ping) shouldnt this be fixed upstream in gnome? 23:22:45
@artturin:matrix.orgArtturinYeah23:29:42
@quadradical:federated.nexusQuadRadical (Ping)ah23:30:00
@artturin:matrix.orgArtturin I found that env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTarget; works instead of the first substitution 23:30:01
@quadradical:federated.nexusQuadRadical (Ping)ah nice23:30:10
@artturin:matrix.orgArtturinJust the path fix is needed23:30:14
@artturin:matrix.orgArtturinbut passing that to the meson build upstream :/23:30:28
@artturin:matrix.orgArtturin* but passing the target dir to the meson build upstream :/23:30:40
@quadradical:federated.nexusQuadRadical (Ping)mhm23:30:51
@artturin:matrix.orgArtturin https://github.com/Mu-L/naev/blob/6372ffdd2655337e389d5d3157e0cebed6393596/meson.build#L459 here they use a target_triplet meson option
https://github.com/Mu-L/naev/blob/6372ffdd2655337e389d5d3157e0cebed6393596/meson_options.txt#L6
23:33:17
@quadradical:federated.nexusQuadRadical (Ping) it might be worth you telling gnome about it in #GNOME 23:34:10
@quadradical:federated.nexusQuadRadical (Ping)i tried but i dont really know much about this23:34:17
@quadradical:federated.nexusQuadRadical (Ping) hmm
warning: Git tree '/home/quadradical/.config/nixos' is dirty
error: interrupted by the user
quadradical@quadraticpc ~/.c/nixos (main) [1]> nix build .#nixosConfigurations.quadphone.config.system.build.image --show-trace
warning: Git tree '/home/quadradical/.config/nixos' is dirty
[12/1/645 built, 0.0 MiB DL] building xcb-util-aarch64-unknown-linux-gnu-0.4.1 (configurePhase): checking if aarch64-unknown-linux-gnu
error: builder for '/nix/store/wvzrj1ic2vw48hdlhcv9lfgd2fh4g83a-fromYAML-aarch64-unknown-linux-gnu.drv' failed with exit code 126;
       last 2 log lines:
       > Running phase: buildPhase
       > /nix/store/sxsq73gxywsm7kahl43w109cx3j9dbnx-stdenv-linux/setup: line 1768: /nix/store/7c1dsac2g3r9h5lb0w5v726qda8p32k2-yaml2json-aarch64-unknown-linux-gnu-1.3.5/bin/yaml2json: cannot execute binary file: Exec format error
       For full logs, run 'nix log /nix/store/wvzrj1ic2vw48hdlhcv9lfgd2fh4g83a-fromYAML-aarch64-unknown-linux-gnu.drv'.
error: 1 dependencies of derivation '/nix/store/f5gp079z0v7wh4xkbw173589b43fhq70-base16-nix-parse-check-aarch64-unknown-linux-gnu.drv' failed to build
error: 1 dependencies of derivation '/nix/store/fr66xjjz423w19pbp3vqh1lq852kwm4g-base16-nord.fish-aarch64-unknown-linux-gnu.drv' failed to build
error: 1 dependencies of derivation '/nix/store/h4yp1xwp3gmrnf4c4ckvxcn1jgvg2sc3-etc-fish-config.fish.drv' failed to build
23:35:46
@quadradical:federated.nexusQuadRadical (Ping)looks like yaml2json borked23:36:02
@quadradical:federated.nexusQuadRadical (Ping)Redacted or Malformed Event23:36:43
@sandro:supersandro.deSandrobase16 usage of yaml2json is not cross friendly23:38:32

Show newer messages


Back to Room ListRoom Version: 6