about summary refs log tree commit diff
path: root/pkgs/development/libraries/glib
diff options
context:
space:
mode:
authorMichal Sojka <michal.sojka@cvut.cz>2022-07-18 08:55:55 +0200
committerMichal Sojka <michal.sojka@cvut.cz>2022-08-01 15:02:25 +0200
commit0cbedad03fd3bb506158e1e4b7c93eb49a21c119 (patch)
tree30086c4851eeeb0273679cae7005b759194ca7ea /pkgs/development/libraries/glib
parentecc304df445bae378c503d9c870683e4fdd45039 (diff)
glib: move bash completions to right outputs
Previously, bash completion scripts were installed in the "out"
output, which didn't contain any binaries. With this change, the
completion scripts are installed in the outputs containing the
corresponding binaries. Namely, gapplication, gdbus, gio, and
gsettings completion scripts go to $bin, and gresource to $dev. The
result is that the completions work out of the box, when the binaries
are available to the user.
Diffstat (limited to 'pkgs/development/libraries/glib')
-rw-r--r--pkgs/development/libraries/glib/default.nix6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 7d7df5c312c21..0316deee7bcc0 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -169,6 +169,12 @@ stdenv.mkDerivation rec {
     # This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
     sed '1i#line 1 "${pname}-${version}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \
       -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
+    for i in $bin/bin/*; do
+      moveToOutput "share/bash-completion/completions/''${i##*/}" "$bin"
+    done
+    for i in $dev/bin/*; do
+      moveToOutput "share/bash-completion/completions/''${i##*/}" "$dev"
+    done
   '' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     cp -r ${buildPackages.glib.devdoc} $devdoc
   '';