| 17 Aug 2025 |
Artturin | So I'm thinking the target isn't passed to rustc by meson | 22:17:38 |
Artturin | here https://gitlab.gnome.org/GNOME/gnome-user-share/-/blob/master/src/meson.build?ref_type=heads#L36 | 22:18:08 |
QuadRadical (Ping) | hmm interesting | 22:21:05 |
QuadRadical (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 | It happens in nixpkgs too | 22:51:41 |
Artturin | So yeah upstream gnome | 22:51:45 |
Artturin | 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 (Ping) | thank you!!! | 22:52:40 |
Artturin | * 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 | Tested and the cargo_env isn't needed | 22:53:21 |
Artturin | 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 (Ping) | thank you | 22:55:17 |
QuadRadical (Ping) | i really appreciate it | 22:55:19 |
Artturin | https://github.com/NixOS/nixpkgs/pull/434579 | 23:06:15 |
QuadRadical (Ping) | shouldnt this be fixed upstream in gnome? | 23:22:45 |
Artturin | Yeah | 23:29:42 |
QuadRadical (Ping) | ah | 23:30:00 |
Artturin | I found that env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTarget; works instead of the first substitution | 23:30:01 |
QuadRadical (Ping) | ah nice | 23:30:10 |
Artturin | Just the path fix is needed | 23:30:14 |
Artturin | but passing that to the meson build upstream :/ | 23:30:28 |
Artturin | * but passing the target dir to the meson build upstream :/ | 23:30:40 |
QuadRadical (Ping) | mhm | 23:30:51 |
Artturin | 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 (Ping) | it might be worth you telling gnome about it in #GNOME | 23:34:10 |
QuadRadical (Ping) | i tried but i dont really know much about this | 23:34:17 |
QuadRadical (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 (Ping) | looks like yaml2json borked | 23:36:02 |
QuadRadical (Ping) | Redacted or Malformed Event | 23:36:43 |
Sandro | base16 usage of yaml2json is not cross friendly | 23:38:32 |