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-01 05:52:51 +0300
committerArtturin <Artturin@artturin.com>2022-09-01 19:46:57 +0300
commit8f40fcbb4cab70262f298070a68602288fcfc742 (patch)
treedb698f19425bb112dd5e5da4443e98119df8802f /pkgs/development/libraries/gobject-introspection
parent3d1f96e1b4aecea4ebca6edb0627c5ddbc91ed7c (diff)
gobject-introspection: propagate self/targetself to avoid having to add gobject-introspection to buildInputs
i should probably move to use the wrapper when host != build and do the
canExecute things inside the wrapper.nix

then i could use gobject-introspection-unwrapped in it even when
host == build

void also adds gobject-introspection to makeDepends when its gir build
helper is used
Diffstat (limited to 'pkgs/development/libraries/gobject-introspection')
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix8
-rw-r--r--pkgs/development/libraries/gobject-introspection/wrapper.nix1
2 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 8dae27e7ccaec..bd2873a04070a 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -138,6 +138,14 @@ stdenv.mkDerivation (finalAttrs: {
     rm $out/lib/libregress-1.0${stdenv.targetPlatform.extensions.sharedLibrary}
   '';
 
+  # add self to buildInputs to avoid needing to add gobject-introspection to buildInputs in addition to nativeBuildInputs
+  # builds use target-pkg-config to look for gobject-introspection instead of just looking for binaries in $PATH
+  # wrapper uses depsTargetTargetPropagated so ignore it
+  preFixup = lib.optionalString (!lib.hasSuffix "-wrapped" finalAttrs.pname) ''
+    mkdir -p $dev/nix-support
+    echo "$out" > $dev/nix-support/propagated-target-target-deps
+  '';
+
   setupHook = ./setup-hook.sh;
 
   passthru = {
diff --git a/pkgs/development/libraries/gobject-introspection/wrapper.nix b/pkgs/development/libraries/gobject-introspection/wrapper.nix
index 917debf98264d..132104c1f6454 100644
--- a/pkgs/development/libraries/gobject-introspection/wrapper.nix
+++ b/pkgs/development/libraries/gobject-introspection/wrapper.nix
@@ -18,6 +18,7 @@ in
 
 (gobject-introspection-unwrapped.override args).overrideAttrs (previousAttrs: {
   pname = "gobject-introspection-wrapped";
+  depsTargetTargetPropagated = [ gobject-introspection-unwrapped ];
   postFixup = (previousAttrs.postFixup or "") + ''
     mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
     mv $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped