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: 98d8d1e587 ("glib: enable introspection on cross")
This commit is contained in:
Alyssa Ross 2024-05-13 11:33:43 +02:00
parent f1010e0469
commit c375149dd1
No known key found for this signature in database
GPG Key ID: F9DBED4859B271C0

View File

@ -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;