Message ID | 20200127172032.25825-1-efraim@flashner.co.il |
---|---|
State | Accepted |
Headers | show |
Series | [bug#39311] gnu: Add guix-vim. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hi Efraim, > * gnu/packages/vim.scm (guix-vim): New variable. > --- > gnu/packages/vim.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm > index b5952e3e21..a2d715dc1c 100644 > --- a/gnu/packages/vim.scm > +++ b/gnu/packages/vim.scm > @@ -938,3 +938,45 @@ through its msgpack-rpc API.") > > (define-public python2-pynvim > (package-with-python2 python-pynvim)) > + > +(define-public guix-vim Looks like we usually prefix vim extensions with “vim-”, so should this be “vim-guix” instead…? > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out")) > + (vimfiles (string-append out "/share/vim/vimfiles")) > + (compiler (string-append vimfiles "/compiler")) > + (doc (string-append vimfiles "/doc")) > + (indent (string-append vimfiles "/indent")) > + (ftdetect (string-append vimfiles "/ftdetect")) > + (ftplugin (string-append vimfiles "/ftplugin")) > + (syntax (string-append vimfiles "/syntax"))) > + (copy-recursively "compiler" compiler) > + (copy-recursively "doc" doc) > + (copy-recursively "indent" indent) > + (copy-recursively "ftdetect" ftdetect) > + (copy-recursively "ftplugin" ftplugin) > + (copy-recursively "syntax" syntax) > + #t)))))) The repetition here tickles me a little. How about this instead…? (for-each (lambda (dir) (copy-recursively dir (string-append vimfiles "/" dir))) '("compiler" "doc" "indent" "ftdetect" "ftplugin" "syntax"))
On Mon, Jan 27, 2020 at 11:28:20PM +0100, Ricardo Wurmus wrote: > > Hi Efraim, > > > * gnu/packages/vim.scm (guix-vim): New variable. > > --- > > gnu/packages/vim.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 42 insertions(+) > > > > diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm > > index b5952e3e21..a2d715dc1c 100644 > > --- a/gnu/packages/vim.scm > > +++ b/gnu/packages/vim.scm > > @@ -938,3 +938,45 @@ through its msgpack-rpc API.") > > > > (define-public python2-pynvim > > (package-with-python2 python-pynvim)) > > + > > +(define-public guix-vim > > Looks like we usually prefix vim extensions with “vim-”, so should this > be “vim-guix” instead…? Good call > > > + (replace 'install > > + (lambda* (#:key outputs #:allow-other-keys) > > + (let* ((out (assoc-ref outputs "out")) > > + (vimfiles (string-append out "/share/vim/vimfiles")) > > + (compiler (string-append vimfiles "/compiler")) > > + (doc (string-append vimfiles "/doc")) > > + (indent (string-append vimfiles "/indent")) > > + (ftdetect (string-append vimfiles "/ftdetect")) > > + (ftplugin (string-append vimfiles "/ftplugin")) > > + (syntax (string-append vimfiles "/syntax"))) > > + (copy-recursively "compiler" compiler) > > + (copy-recursively "doc" doc) > > + (copy-recursively "indent" indent) > > + (copy-recursively "ftdetect" ftdetect) > > + (copy-recursively "ftplugin" ftplugin) > > + (copy-recursively "syntax" syntax) > > + #t)))))) > > The repetition here tickles me a little. How about this instead…? > > (for-each (lambda (dir) > (copy-recursively dir (string-append vimfiles "/" dir))) > '("compiler" "doc" "indent" "ftdetect" "ftplugin" "syntax")) This will also be good if we ever get around to making a vim-build-system.
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index b5952e3e21..a2d715dc1c 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -938,3 +938,45 @@ through its msgpack-rpc API.") (define-public python2-pynvim (package-with-python2 python-pynvim)) + +(define-public guix-vim + (package + (name "guix-vim") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Efraim/guix.vim") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f8h8m96fqh3f9hy87spgh9kdqzyxl11n9s3rywvyq5xhn489bnk")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vimfiles (string-append out "/share/vim/vimfiles")) + (compiler (string-append vimfiles "/compiler")) + (doc (string-append vimfiles "/doc")) + (indent (string-append vimfiles "/indent")) + (ftdetect (string-append vimfiles "/ftdetect")) + (ftplugin (string-append vimfiles "/ftplugin")) + (syntax (string-append vimfiles "/syntax"))) + (copy-recursively "compiler" compiler) + (copy-recursively "doc" doc) + (copy-recursively "indent" indent) + (copy-recursively "ftdetect" ftdetect) + (copy-recursively "ftplugin" ftplugin) + (copy-recursively "syntax" syntax) + #t)))))) + (home-page "https://gitlab.com/Efraim/guix.vim") + (synopsis "Guix integration in Vim") + (description "This package provides support for GNU Guix in Vim.") + (license license:vim)))