about summary refs log tree commit diff
path: root/pkgs/development/libraries/gobject-introspection
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-09-04 18:35:00 +0300
committerArtturin <Artturin@artturin.com>2022-09-07 21:24:08 +0300
commit740ebffd5a07ff07c96f03bdd6531c6110fc65a0 (patch)
tree217e559dd0dfbdb10a8668a400d0ec7af0744ef5 /pkgs/development/libraries/gobject-introspection
parentab783bb492bc54f86fead66f990a68bedb538bfb (diff)
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)
Diffstat (limited to 'pkgs/development/libraries/gobject-introspection')
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix2
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrapper.nix2
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh2
3 files changed, 3 insertions, 3 deletions
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index bd2873a04070a..175a149e5c6ba 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -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}"
diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix
index 132104c1f6454..f887b7d18c77a 100644
--- a/pkgs/development/libraries/gobject-introspection/wrapper.nix
+++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix
@@ -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)}"
 
diff --git a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh
index 1bf9c3659dc5c..f9c2a29f14422 100644
--- a/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh
+++ b/pkgs/development/libraries/gobject-introspection/wrappers/g-ir-scanner-lddwrapper.sh
@@ -1,4 +1,4 @@
 #! @bash@/bin/bash
 # shellcheck shell=bash
 
-exec @buildobjdump@ -p "$@"
+exec @buildlddtree@ "$@"