about summary refs log tree commit diff
path: root/pkgs/development/libraries/glib
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-05-13 11:33:43 +0200
committerAlyssa Ross <hi@alyssa.is>2024-05-13 11:36:43 +0200
commitc375149dd1f50507457e922f8a101c597efb284b (patch)
treeaa7555f3e3b4cdb4e9e4ece3f00fb8efb72a1e70 /pkgs/development/libraries/glib
parentf1010e0469db743d14519a1efd37e23f8513d714 (diff)
glib: disable introspection for cross-endian
/nix/store/xxgjhia4jhnx9910vb7iw1cm9l6qwfd4-qemu-8.2.3/bin/qemu-ppc64: error while loading shared libraries: /build/glib-2.80.0/build/glib/libglib-2.0.so.0: ELF file data encoding not little-endian
Command '['/nix/store/054wr9piy48ww123yn2pcbkcsnvlx3fg-gobject-introspection-wrapped-1.80.1-dev/bin/g-ir-scanner-qemuwrapper', '/build/glib-2.80.0/build/tmp-introspectiyhf5flt/GLib-2.0', '--introspect-dump=/build/glib-2.80.0/build/tmp-introspectiyhf5flt/functions.txt,/build/glib-2.80.0/build/tmp-introspectiyhf5flt/dump.xml']' returned non-zero exit status 127.

I don't have a suitable environment for testing whether it's broken
big→little, but it seems likely.

Link: https://github.com/NixOS/nixpkgs/pull/309309#issuecomment-2100785761
Fixes: 98d8d1e58762 ("glib: enable introspection on cross")
Diffstat (limited to 'pkgs/development/libraries/glib')
-rw-r--r--pkgs/development/libraries/glib/default.nix5
1 files changed, 4 insertions, 1 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index d5202e113764a..70d24842a86e3 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -23,7 +23,10 @@
 , testers
 , gobject-introspection
 , mesonEmulatorHook
-, withIntrospection ? stdenv.hostPlatform.emulatorAvailable buildPackages && lib.meta.availableOn stdenv.hostPlatform gobject-introspection
+, withIntrospection ?
+  stdenv.hostPlatform.emulatorAvailable buildPackages &&
+  lib.meta.availableOn stdenv.hostPlatform gobject-introspection &&
+  stdenv.hostPlatform.isLittleEndian == stdenv.buildPlatform.isLittleEndian
 }:
 
 assert stdenv.isLinux -> util-linuxMinimal != null;