gnu: Add neovim.
* gnu/packages/vim.scm (neovim): New variable.
This commit is contained in:
parent
d9ed1779b8
commit
9b11eee955
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,18 +23,23 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages admin) ; For GNU hostname
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages ncurses)
|
||||
|
@ -41,8 +47,10 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
|
@ -149,6 +157,78 @@ configuration files.")
|
|||
("tcl" ,tcl)
|
||||
,@(package-inputs vim)))))
|
||||
|
||||
(define-public neovim
|
||||
(package
|
||||
(name "neovim")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/neovim/neovim/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zjbpc4rhv5bcr353xqnbrc36zjvn7qvh8xf6s7n1bdi3788by6q"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-26)
|
||||
(guix build cmake-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-lua-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((lua-version "5.2")
|
||||
(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 %build-inputs <>)
|
||||
'("lua"
|
||||
"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))))))
|
||||
(inputs
|
||||
`(("libuv" ,libuv)
|
||||
("msgpack" ,msgpack)
|
||||
("libtermkey" ,libtermkey)
|
||||
("libvterm" ,libvterm)
|
||||
("unibilium" ,unibilium)
|
||||
("jemalloc" ,jemalloc)
|
||||
("libiconv" ,libiconv)
|
||||
("lua" ,lua-5.2)
|
||||
("lua-lpeg" ,lua5.2-lpeg)
|
||||
("lua-bitop" ,lua5.2-bitop)
|
||||
("lua-libmpack" ,lua5.2-libmpack)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
("gperf" ,gperf)))
|
||||
(home-page "http://neovim.io")
|
||||
(synopsis "Fork of vim focused on extensibility and agility")
|
||||
(description "Neovim is a project that seeks to aggressively
|
||||
refactor Vim in order to:
|
||||
|
||||
@itemize
|
||||
@item Simplify maintenance and encourage contributions
|
||||
@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")
|
||||
;; 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))))
|
||||
|
||||
(define-public vifm
|
||||
(package
|
||||
(name "vifm")
|
||||
|
|
Loading…
Reference in New Issue