From bf46e4de707f364082570f4818846f2944b0ccfa Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Tue, 21 Jan 2020 21:39:00 -0500 Subject: [PATCH] Fix installation of bash/fish completions using pkg-config Both shells provide pkg-config files which declare their designated completionsdir. Use this as the primary source of truth. --- data/meson.build | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/data/meson.build b/data/meson.build index c1e9231..557b630 100644 --- a/data/meson.build +++ b/data/meson.build @@ -70,6 +70,20 @@ fish_completion = configure_file( configuration: conf_data ) -install_data(bash_completion, install_dir: join_paths(datadir, 'bash-completion', 'completions')) +bash_comp = dependency('bash-completion', required: false) +if bash_comp.found() + bash_compdir = bash_comp.get_pkgconfig_variable('completionsdir') +else + bash_compdir = join_paths(datadir, 'bash-completion', 'completions') +endif + +fish_comp = dependency('fish', required: false) +if fish_comp.found() + fish_compdir = fish_comp.get_pkgconfig_variable('completionsdir') +else + fish_compdir = join_paths(datadir, 'fish', 'completions') +endif + +install_data(bash_completion, install_dir: bash_compdir) install_data(zsh_completion, install_dir: join_paths(datadir, 'zsh', 'site-functions')) -install_data(fish_completion, install_dir: join_paths(datadir, 'fish', 'completions')) +install_data(fish_completion, install_dir: fish_compdir)