[glib: 1/2] Check the completiondir from bash-completion package config file.




commit 525bbb7712ae47354e5e8bebc1d752853f95f623
Author: Frederic Martinsons <frederic martinsons sigfox com>
Date:   Sun Jan 24 15:54:18 2021 +0100

    Check the completiondir from bash-completion package config file.
    
    With bash completion version lesser than 2.10, only prefix is defined
    while for greater version it is datadir.
    
    Closes #1054
    
    Signed-off-by: Frederic Martinsons <frederic martinsons sigfox com>

 gio/meson.build | 13 ++++++++++++-
 meson.build     |  1 +
 2 files changed, 13 insertions(+), 1 deletion(-)
---
diff --git a/gio/meson.build b/gio/meson.build
index 8e039b68c..adb4b8f79 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -769,6 +769,17 @@ if host_system == 'windows'
 endif
 
 if have_bash
+  bash_comp_inst_dir = ''
+  if bash_comp_dep.found()
+    bash_comp_dir_override = bash_comp_dep.version().version_compare('>= 2.10') ? ['datadir', 
get_option('datadir')] : ['prefix', get_option('prefix')]
+    bash_comp_inst_dir = bash_comp_dep.get_pkgconfig_variable('completionsdir', define_variable: 
bash_comp_dir_override)
+  endif
+
+  if bash_comp_inst_dir == ''
+    message('Found bash-completion but the .pc file did not set \'completionsdir\', fallback to a predefined 
path')
+    bash_comp_inst_dir = join_paths(get_option('datadir'), 'bash-completion/completions')
+  endif
+
   install_data([
     'completion/gapplication',
     'completion/gdbus',
@@ -776,7 +787,7 @@ if have_bash
     'completion/gsettings',
     'completion/gresource'
   ],
-  install_dir: join_paths(get_option('datadir'), 'bash-completion/completions'))
+  install_dir: bash_comp_inst_dir)
 endif
 
 if enable_dtrace
diff --git a/meson.build b/meson.build
index d7d64118d..219236c26 100644
--- a/meson.build
+++ b/meson.build
@@ -2219,6 +2219,7 @@ endif
 
 # Determine which user environment-dependent files that we want to install
 have_bash = find_program('bash', required : false).found() # For completion scripts
+bash_comp_dep = dependency('bash-completion', version: '>=2.0', required: false)
 have_sh = find_program('sh', required : false).found() # For glib-gettextize
 
 # Some installed tests require a custom environment


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]