aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Miguel Sánchez García <jmi2k@openmailbox.org>2016-12-07 17:53:22 +0100
committerMarius Bakke <mbakke@fastmail.com>2016-12-08 15:07:34 +0100
commita2c1dceadd2bf86ab17c70cd674bc98aec32a842 (patch)
treee6c1d7172cab0b8240e0fabebaceea5a30cdb80f
parenta14061aae602c69d5cb124dd523e132951feac20 (diff)
downloadpatches-a2c1dceadd2bf86ab17c70cd674bc98aec32a842.tar
patches-a2c1dceadd2bf86ab17c70cd674bc98aec32a842.tar.gz
gnu: Add vis.
* gnu/packages/text-editors.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/text-editors.scm77
2 files changed, 78 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index eec0e018b5..30a5c209fc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -359,6 +359,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/texinfo.scm \
%D%/packages/tex.scm \
%D%/packages/textutils.scm \
+ %D%/packages/text-editors.scm \
%D%/packages/time.scm \
%D%/packages/tls.scm \
%D%/packages/tmux.scm \
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
new file mode 100644
index 0000000000..4e2324dbea
--- /dev/null
+++ b/gnu/packages/text-editors.scm
@@ -0,0 +1,77 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages text-editors)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages terminals))
+
+(define-public vis
+ (package
+ (name "vis")
+ (version "0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/martanne/"
+ name "/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0bbmkblpndc53pvr8xcfywdn8g351yxfj8c46zp5d744c3bq2nry"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("CFLAGS=-pie")
+ #:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-binary
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lpeg (assoc-ref inputs "lua-lpeg"))
+ (lua-version ,(version-major+minor (package-version lua)))
+ (LUA_PATH (string-append lpeg "/share/lua/"
+ lua-version "/?.lua"))
+ (LUA_CPATH (string-append lpeg "/lib/lua/"
+ lua-version "/?.so")))
+ (wrap-program (string-append out "/bin/vis")
+ `("LUA_PATH" ":" prefix (,LUA_PATH))
+ `("LUA_CPATH" ":" prefix (,LUA_CPATH)))
+ #t))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VIS_PATH")
+ (files '("share/vis")))))
+ (inputs `(("lua", lua)
+ ("ncurses", ncurses)
+ ("libtermkey", libtermkey)
+ ("lua-lpeg", lua-lpeg)))
+ (synopsis "Vim-like text editor")
+ (description
+ "Vis aims to be a modern, legacy free, simple yet efficient vim-like text
+editor. It extends vim's modal editing with built-in support for multiple
+cursors/selections and combines it with sam's structural regular expression
+based command language.")
+ (home-page "https://github.com/martanne/vis")
+ (license (list license:isc ; Main distribution.
+ license:public-domain ; map.[ch]
+ license:expat)))) ; lexers and libutf.[ch]