~ruther/guix-local

03eec7034fa856b77ec5d6c23bb6240efcb23922 — Andrew Wong 1 year, 6 months ago 7b19f8d
gnu: trash-cli: Install shell completions.

* gnu/packages/shellutils.scm (trash-cli) [arguments] <#:phases>: Add
'install-completions.

Change-Id: I0b165155d1da8069837bd9b93990dfaf0ff7de52
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
1 files changed, 33 insertions(+), 1 deletions(-)

M gnu/packages/shellutils.scm
M gnu/packages/shellutils.scm => gnu/packages/shellutils.scm +33 -1
@@ 660,6 660,9 @@ between various shells or commands.")
    (build-system python-build-system)
    (arguments
     (list
      #:modules `((guix build python-build-system)
                  (guix build utils)
                  (ice-9 match))
      #:phases #~(modify-phases %standard-phases
                   (add-before 'build 'fix-setup.py
                     (lambda* (#:key outputs #:allow-other-keys)


@@ 674,7 677,36 @@ between various shells or commands.")
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       (when tests?
                         (invoke "pytest")))))))
                         (invoke "pytest"))))
                   (add-before 'wrap 'install-completions
                     (lambda _
                       (for-each
                        (lambda (binary)
                          (for-each
                           (match-lambda
                             ((shell . path)
                              (mkdir-p (dirname path))
                              (with-output-to-file path
                                (lambda _
                                  (invoke
                                   (string-append #$output "/bin/" binary)
                                   "--print-completion" shell)))))
                           `(("bash" .
                              ,(format ;format string must be literal
                                #f "~a/share/bash-completion/completions/~a"
                                #$output binary))
                             ("zsh" .
                              ,(format #f "~a/share/zsh/site-functions/_~a"
                                       #$output binary))
                             ("tcsh" .
                              ,(format #f "~a/etc/profile.d/~a.completion.csh"
                                       #$output binary)))))
                        (list "trash"
                              "trash-empty"
                              "trash-list"
                              "trash-put"
                              "trash-restore"
                              "trash-rm")))))))
    (native-inputs (list python-flexmock
                         python-mock
                         python-parameterized