gobject-introspection: use lddtree instead of objdump as ldd wrapper

the wrong path was used in gir files because the format of objdump is
different from ldd so the regex in gobject-introspection doesn't work

https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/main/giscanner/shlibs.py#L42-57

  <namespace name="GLib"
             shared-library="/nix/store/pak6rr8wdnbwa1iq2ldvg8pa8zahl3r1-gobject-introspection-aarch64-unknown-linux-gnu-1.72.0/lib/libgobject-2.0.so.0,/nix/store/pak6rr8wdnbwa1iq2ldvg8pa8zahl3r1-gobject-introspection-aarch64-unknown-linux-gnu-1.72.0/lib/libglib-2.0.so.0"

objdump
gobject-introspection>   NEEDED               libgmodule-2.0.so.0
gobject-introspection>   NEEDED               libglib-2.0.so.0

ldd
gobject-introspection>  libgmodule-2.0.so.0 => /nix/store/ngm1wbwms13c2crsvrah2ypfj0b2yii5-glib-2.73.2/lib/libgmodule-2.0.so.0 (0x00007ffff7d6e000)
gobject-introspection>  libglib-2.0.so.0 => /nix/store/ngm1wbwms13c2crsvrah2ypfj0b2yii5-glib-2.73.2/lib/libglib-2.0.so.0 (0x00007ffff7c32000)
This commit is contained in:
Artturin 2022-09-04 18:35:00 +03:00
parent ab783bb492
commit 740ebffd5a
3 changed files with 3 additions and 3 deletions

View file

@ -103,7 +103,7 @@ stdenv.mkDerivation (finalAttrs: {
isExecutable = true;
src = ./wrappers/g-ir-scanner-lddwrapper.sh;
inherit (buildPackages) bash;
buildobjdump = "${buildPackages.stdenv.cc.bintools}/bin/objdump";
buildlddtree = "${buildPackages.pax-utils}/bin/lddtree";
}}"
"-Dgi_cross_use_prebuilt_gi=true"
"-Dgi_cross_binary_wrapper=${stdenv.hostPlatform.emulator buildPackages}"

View file

@ -27,7 +27,7 @@ in
export bash="${buildPackages.bash}"
export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
export emulatorwrapper="$dev/bin/g-ir-scanner-qemuwrapper"
export buildobjdump="${buildPackages.stdenv.cc.bintools}/bin/objdump"
export buildlddtree="${buildPackages.pax-utils}/bin/lddtree"
export targetgir="${lib.getDev (targetPackages.gobject-introspection-unwrapped.override argsForTarget)}"

View file

@ -1,4 +1,4 @@
#! @bash@/bin/bash
# shellcheck shell=bash
exec @buildobjdump@ -p "$@"
exec @buildlddtree@ "$@"