149 lines
5.0 KiB
Scheme
149 lines
5.0 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
|
;;;
|
|
;;; 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 vim)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#: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 fontutils)
|
|
#:use-module (gnu packages gawk)
|
|
#:use-module (gnu packages gettext)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages lua)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages ruby)
|
|
#:use-module (gnu packages shells)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (gnu packages xdisorg)
|
|
#:use-module (gnu packages xorg))
|
|
|
|
(define-public vim
|
|
(package
|
|
(name "vim")
|
|
(version "8.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "ftp://ftp.vim.org/pub/vim/unix/vim-"
|
|
version ".tar.bz2"))
|
|
(sha256
|
|
(base32
|
|
"1s34rf8089klsbdx5l0iw7vjymir0kzfrx8wb30s31wygnq29axc"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
`(#:test-target "test"
|
|
#:parallel-tests? #f
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'make-bit-reproducable
|
|
(lambda _
|
|
(substitute* "src/version.c"
|
|
((" VIM_VERSION_LONG_DATE") " VIM_VERSION_LONG")
|
|
((" __DATE__") "")
|
|
((" __TIME__") ""))
|
|
#t))
|
|
(add-after 'configure 'patch-config-files
|
|
(lambda _
|
|
(substitute* "runtime/tools/mve.awk"
|
|
(("/usr/bin/nawk") (which "gawk")))
|
|
(substitute* '("src/testdir/Makefile"
|
|
"src/testdir/test_normal.vim")
|
|
(("/bin/sh") (which "sh")))
|
|
#t)))))
|
|
(inputs
|
|
`(("gawk" ,gawk)
|
|
("inetutils" ,inetutils)
|
|
("ncurses" ,ncurses)
|
|
("perl" ,perl)
|
|
("tcsh" ,tcsh))) ; For runtime/tools/vim32
|
|
(home-page "http://www.vim.org/")
|
|
(synopsis "Text editor based on vi")
|
|
(description
|
|
"Vim is a highly configurable text editor built to enable efficient text
|
|
editing. It is an improved version of the vi editor distributed with most UNIX
|
|
systems.
|
|
|
|
Vim is often called a \"programmer's editor,\" and so useful for programming
|
|
that many consider it an entire IDE. It's not just for programmers, though.
|
|
Vim is perfect for all kinds of text editing, from composing email to editing
|
|
configuration files.")
|
|
(license license:vim)))
|
|
|
|
(define-public vim-full
|
|
(package
|
|
(inherit vim)
|
|
(name "vim-full")
|
|
(arguments
|
|
`(#:configure-flags
|
|
(list (string-append "--with-lua-prefix="
|
|
(assoc-ref %build-inputs "lua"))
|
|
"--with-features=huge"
|
|
"--enable-python3interp=yes"
|
|
"--enable-perlinterp=yes"
|
|
"--enable-rubyinterp=yes"
|
|
"--enable-tclinterp=yes"
|
|
"--enable-luainterp=yes"
|
|
"--enable-cscope"
|
|
"--enable-sniff"
|
|
"--enable-multibyte"
|
|
"--enable-xim"
|
|
"--disable-selinux"
|
|
"--enable-gui")
|
|
,@(package-arguments vim)))
|
|
(native-inputs
|
|
`(("pkg-config" ,pkg-config)))
|
|
(inputs
|
|
`(("acl" ,acl)
|
|
("atk" ,atk)
|
|
("attr" ,attr)
|
|
("cairo" ,cairo)
|
|
("fontconfig" ,fontconfig)
|
|
("freetype" ,freetype)
|
|
("gdk-pixbuf" ,gdk-pixbuf)
|
|
("gettext" ,gnu-gettext)
|
|
("glib" ,glib)
|
|
("gpm" ,gpm)
|
|
("gtk" ,gtk+-2)
|
|
("harfbuzz" ,harfbuzz)
|
|
("libice" ,libice)
|
|
("libpng" ,libpng)
|
|
("libsm" ,libsm)
|
|
("libx11" ,libx11)
|
|
("libxdmcp" ,libxdmcp)
|
|
("libxt" ,libxt)
|
|
("libxpm" ,libxpm)
|
|
("lua" ,lua)
|
|
("pango" ,pango)
|
|
("pixman" ,pixman)
|
|
("python-3" ,python)
|
|
("ruby" ,ruby)
|
|
("tcl" ,tcl)
|
|
,@(package-inputs vim)))))
|