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 © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
|
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -22,18 +23,23 @@
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages acl)
|
#:use-module (gnu packages acl)
|
||||||
#:use-module (gnu packages admin) ; For GNU hostname
|
#:use-module (gnu packages admin) ; For GNU hostname
|
||||||
#:use-module (gnu packages attr)
|
#:use-module (gnu packages attr)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages gawk)
|
#:use-module (gnu packages gawk)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
#:use-module (gnu packages gperf)
|
||||||
#:use-module (gnu packages groff)
|
#:use-module (gnu packages groff)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages jemalloc)
|
||||||
|
#:use-module (gnu packages libevent)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages lua)
|
#:use-module (gnu packages lua)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
|
@ -41,8 +47,10 @@
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages ruby)
|
#:use-module (gnu packages ruby)
|
||||||
|
#:use-module (gnu packages serialization)
|
||||||
#:use-module (gnu packages shells)
|
#:use-module (gnu packages shells)
|
||||||
#:use-module (gnu packages tcl)
|
#:use-module (gnu packages tcl)
|
||||||
|
#:use-module (gnu packages terminals)
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages xorg))
|
#:use-module (gnu packages xorg))
|
||||||
|
|
||||||
|
@ -149,6 +157,78 @@ configuration files.")
|
||||||
("tcl" ,tcl)
|
("tcl" ,tcl)
|
||||||
,@(package-inputs vim)))))
|
,@(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
|
(define-public vifm
|
||||||
(package
|
(package
|
||||||
(name "vifm")
|
(name "vifm")
|
||||||
|
|
Loading…
Reference in New Issue