commit:     8b565d4b9e871dbde172da1a2a356a25684a4f68
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 16 18:10:55 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Aug 16 18:10:55 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b565d4b

app-crypt/nitrokey-app: Fix installing bash auto-completion

Closes: https://bugs.gentoo.org/736956
Package-Manager: Portage-3.0.2, Repoman-2.3.23
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 ...Make-BASH_COMPLETION_DIR-user-overridable.patch | 46 ++++++++++++++++++++++
 ...y-app-1.4.ebuild => nitrokey-app-1.4-r1.ebuild} |  4 ++
 2 files changed, 50 insertions(+)

diff --git 
a/app-crypt/nitrokey-app/files/nitrokey-app-1.4-Make-BASH_COMPLETION_DIR-user-overridable.patch
 
b/app-crypt/nitrokey-app/files/nitrokey-app-1.4-Make-BASH_COMPLETION_DIR-user-overridable.patch
new file mode 100644
index 00000000000..4acfe55abd0
--- /dev/null
+++ 
b/app-crypt/nitrokey-app/files/nitrokey-app-1.4-Make-BASH_COMPLETION_DIR-user-overridable.patch
@@ -0,0 +1,46 @@
+From e5036fab19c11a09ab350761ec03f54aa5fcb70c Mon Sep 17 00:00:00 2001
+From: David Seifert <[email protected]>
+Date: Sun, 16 Aug 2020 19:54:18 +0200
+Subject: [PATCH] Make BASH_COMPLETION_DIR user overridable
+
+---
+ CMakeLists.txt | 22 +++++++++++++++-------
+ 1 file changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5feb2c0..1ab3f1a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -163,14 +163,22 @@ IF(NOT WIN32)
+   # Removed - should be provided by libnitrokey
+ 
+   # Install autocompletion scripts
+-  set(PKG_GET_BASH_COMPLETION ${PKG_CONFIG_EXECUTABLE} 
--variable=completionsdir bash-completion)
+-  execute_process(COMMAND ${PKG_GET_BASH_COMPLETION} RESULT_VARIABLE ERR 
OUTPUT_VARIABLE BASH_COMPLETION_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  IF(${ERR})
+-    set(BASH_COMPLETION_DIR "etc/bash_completion.d")
++  set(BASH_COMPLETION_PATH "" CACHE STRING "Directory for installing bash 
autocompletion files. The default (empty) means we will try to autodetect it")
++
++  IF(BASH_COMPLETION_PATH STREQUAL "")
++    message(STATUS "Trying to autodetect bash autocompletion directory")
++    set(PKG_GET_BASH_COMPLETION ${PKG_CONFIG_EXECUTABLE} 
--variable=completionsdir bash-completion)
++    execute_process(COMMAND ${PKG_GET_BASH_COMPLETION} RESULT_VARIABLE ERR 
OUTPUT_VARIABLE BASH_COMPLETION_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
++    IF(${ERR})
++      set(BASH_COMPLETION_DIR "etc/bash_completion.d")
++    ENDIF()
++    string(REGEX REPLACE "^/" "" BASH_COMPLETION_DIR "${BASH_COMPLETION_DIR}")
++    string(REGEX REPLACE "^usr/" "" BASH_COMPLETION_DIR 
"${BASH_COMPLETION_DIR}") # usual prefix is usr/local
++    message(STATUS "Setting bash-completion dir to ${BASH_COMPLETION_DIR}")
++  ELSE()
++    message(STATUS "User-provided bash autocompletion directory: 
${BASH_COMPLETION_PATH}")
++    set(BASH_COMPLETION_DIR ${BASH_COMPLETION_PATH})
+   ENDIF()
+-  string(REGEX REPLACE "^/" "" BASH_COMPLETION_DIR "${BASH_COMPLETION_DIR}")
+-  string(REGEX REPLACE "^usr/" "" BASH_COMPLETION_DIR 
"${BASH_COMPLETION_DIR}") # usual prefix is usr/local
+-  message(STATUS "Setting bash-completion dir to ${BASH_COMPLETION_DIR}")
+ 
+   install(FILES
+    ${CMAKE_SOURCE_DIR}/data/bash-autocomplete/nitrokey-app
+-- 
+2.28.0
+

diff --git a/app-crypt/nitrokey-app/nitrokey-app-1.4.ebuild 
b/app-crypt/nitrokey-app/nitrokey-app-1.4-r1.ebuild
similarity index 85%
rename from app-crypt/nitrokey-app/nitrokey-app-1.4.ebuild
rename to app-crypt/nitrokey-app/nitrokey-app-1.4-r1.ebuild
index 959c79c3378..faf50aa87f4 100644
--- a/app-crypt/nitrokey-app/nitrokey-app-1.4.ebuild
+++ b/app-crypt/nitrokey-app/nitrokey-app-1.4-r1.ebuild
@@ -36,6 +36,10 @@ BDEPEND="
        dev-qt/linguist-tools:5
        virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}"/${P}-Make-BASH_COMPLETION_DIR-user-overridable.patch )
+
+mycmakeargs=( -DBASH_COMPLETION_PATH=share/bash-completion/completions )
+
 pkg_postinst() {
        xdg_icon_cache_update
 }

Reply via email to