Subject: [bug#55045] [PATCH v2 4/4] gnu: neovim: Use new style.

From: Luis Henrique Gomes Higino <[email-masked]>
Date: Tue, 17 May 2022 20:16:47 -0300

* gnu/packages/vim.scm (neovim): Use new style.
[source]: Rewrite using gexps.
[arguments]: Rewrite using gexps.
[inputs and native-inputs]: Remove input labels.
[description]: Run `guix style`.
---
 gnu/packages/vim.scm | 153 ++++++++++++++++++++++---------------------
 1 file changed, 78 insertions(+), 75 deletions(-)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 21a22570ad..0dfaa45813 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -659,84 +659,86 @@ (define-public neovim
   (package
     (name "neovim")
     (version "0.7.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/neovim/neovim")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/neovim/neovim")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:modules ((srfi srfi-26)
-                  (guix build cmake-build-system)
-                  (guix build utils))
-       #:configure-flags
-       (list ,@(if (member (if (%current-target-system)
-                               (gnu-triplet->nix-system (%current-target-system))
-                               (%current-system))
-                           (package-supported-systems luajit))
-                   '()
-                   '("-DPREFER_LUA:BOOL=YES")))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-lua-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((lua-version "5.1")
-                    (lua-cpath-spec
-                     (lambda (prefix)
-                       (let ((path (string-append prefix "/lib/lua/" lua-version)))
-                         (string-append path "/?.so;" path "/?/?.so"))))
-                    (lua-path-spec
-                     (lambda (prefix)
-                       (let ((path (string-append prefix "/share/lua/" lua-version)))
-                         (string-append path "/?.lua;" path "/?/?.lua"))))
-                    (lua-inputs (map (cute assoc-ref inputs <>)
-                                     '("lua"
-                                       "lua-luv"
-                                       "lua-lpeg"
-                                       "lua-bitop"
-                                       "lua-libmpack"))))
-               (setenv "LUA_PATH"
-                       (string-join (map lua-path-spec lua-inputs) ";"))
-               (setenv "LUA_CPATH"
-                       (string-join (map lua-cpath-spec lua-inputs) ";"))
-               #t)))
-         (add-after 'unpack 'prevent-embedding-gcc-store-path
-           (lambda _
-             ;; nvim remembers its build options, including the compiler with
-             ;; its complete path.  This adds gcc to the closure of nvim, which
-             ;; doubles its size.  We remove the refirence here.
-             (substitute* "cmake/GetCompileFlags.cmake"
-               (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
-             #t)))))
-    (inputs
-     `(("libuv" ,libuv-for-luv)
-       ("msgpack" ,msgpack)
-       ("libtermkey" ,libtermkey)
-       ("libvterm" ,libvterm)
-       ("unibilium" ,unibilium)
-       ("jemalloc" ,jemalloc)
-       ("lua" ,(if (member (if (%current-target-system)
-                               (gnu-triplet->nix-system (%current-target-system))
-                               (%current-system))
-                           (package-supported-systems luajit))
-                   luajit
-                   lua-5.1))
-       ("lua-luv" ,lua5.1-luv)
-       ("lua-lpeg" ,lua5.1-lpeg)
-       ("lua-bitop" ,lua5.1-bitop)
-       ("lua-libmpack" ,lua5.1-libmpack)
-       ("tree-sitter" ,tree-sitter)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-       ("gperf" ,gperf)))
+     (list #:modules
+           '((srfi srfi-26) (guix build cmake-build-system)
+             (guix build utils))
+           #:configure-flags
+           #~(list #$@(if (member (if (%current-target-system)
+                                      (gnu-triplet->nix-system (%current-target-system))
+                                      (%current-system))
+                                  (package-supported-systems luajit))
+                          '()
+                          '("-DPREFER_LUA:BOOL=YES")))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'set-lua-paths
+                 (lambda* _
+                   (let* ((lua-version "5.1")
+                          (lua-cpath-spec (lambda (prefix)
+                                            (let ((path (string-append
+                                                         prefix
+                                                         "/lib/lua/"
+                                                         lua-version)))
+                                              (string-append
+                                               path
+                                               "/?.so;"
+                                               path
+                                               "/?/?.so"))))
+                          (lua-path-spec (lambda (prefix)
+                                           (let ((path (string-append prefix
+                                                        "/share/lua/"
+                                                        lua-version)))
+                                             (string-append path "/?.lua;"
+                                                            path "/?/?.lua"))))
+                          (lua-inputs (list (or #$(this-package-input "lua")
+                                                #$(this-package-input "luajit"))
+                                            #$lua5.1-luv
+                                            #$lua5.1-lpeg
+                                            #$lua5.1-bitop
+                                            #$lua5.1-libmpack)))
+                     (setenv "LUA_PATH"
+                             (string-join (map lua-path-spec lua-inputs) ";"))
+                     (setenv "LUA_CPATH"
+                             (string-join (map lua-cpath-spec lua-inputs) ";"))
+                     #t)))
+               (add-after 'unpack 'prevent-embedding-gcc-store-path
+                 (lambda _
+                   (substitute* "cmake/GetCompileFlags.cmake"
+                     (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
+                   #t)))))
+    (inputs (list libuv-for-luv
+                  msgpack
+                  libtermkey
+                  libvterm
+                  unibilium
+                  jemalloc
+                  (if (member (if (%current-target-system)
+                                  (gnu-triplet->nix-system (%current-target-system))
+                                  (%current-system))
+                              (package-supported-systems luajit))
+                      luajit
+                      lua-5.1)
+                  lua5.1-luv
+                  lua5.1-lpeg
+                  lua5.1-bitop
+                  lua5.1-libmpack
+                  tree-sitter))
+    (native-inputs (list pkg-config gettext-minimal gperf))
     (home-page "https://neovim.io")
     (synopsis "Fork of vim focused on extensibility and agility")
-    (description "Neovim is a project that seeks to aggressively
+    (description
+     "Neovim is a project that seeks to aggressively
 refactor Vim in order to:
 
 @itemize
@@ -744,7 +746,8 @@ (define-public neovim
 @item Split the work between multiple developers
 @item Enable advanced external UIs without modifications to the core
 @item Improve extensibility with a new plugin architecture
-@end itemize\n")
+@end itemize
+")
     ;; Neovim is licensed under the terms of the Apache 2.0 license,
     ;; except for parts that were contributed under the Vim license.
     (license (list license:asl2.0 license:vim))))
-- 
2.36.0