From 0cbedad03fd3bb506158e1e4b7c93eb49a21c119 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Mon, 18 Jul 2022 08:55:55 +0200 Subject: [PATCH] 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. --- pkgs/development/libraries/glib/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 7d7df5c312c2..0316deee7bcc 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 '';