gnu: neovim: Use new style.
* 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`. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
parent
e49a2d03bb
commit
182b25fbf5
|
@ -659,84 +659,89 @@ are detected, the user is notified.")))
|
|||
(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 _
|
||||
;; 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 (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 +749,8 @@ refactor Vim in order to:
|
|||
@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))))
|
||||
|
|
Reference in New Issue