2013-02-13 17:20:11 -05:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
|
|
|
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
2016-09-12 14:52:17 -04:00
|
|
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
2016-10-15 16:38:41 -04:00
|
|
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
2013-02-13 17:20:11 -05:00
|
|
|
;;;
|
|
|
|
;;; 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 #:prefix instead of #:renamer with 'symbol-prefix-proc'.
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
gnu/packages/boost.scm, gnu/packages/compression.scm,
gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
gnu/packages/indent.scm, gnu/packages/inkscape.scm,
gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
gnu/packages/yasm.scm, gnu/packages/zip.scm,
guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
#:renamer and 'symbol-prefix-proc' with #:prefix.
2014-09-23 16:44:22 -04:00
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2013-02-13 17:20:11 -05:00
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix build-system gnu)
|
|
|
|
#:use-module (gnu packages)
|
2016-10-15 16:38:41 -04:00
|
|
|
#:use-module (gnu packages acl)
|
|
|
|
#:use-module (gnu packages admin) ; For GNU hostname
|
|
|
|
#:use-module (gnu packages attr)
|
|
|
|
#:use-module (gnu packages fontutils)
|
2013-02-13 17:20:11 -05:00
|
|
|
#:use-module (gnu packages gawk)
|
2016-10-15 16:38:41 -04:00
|
|
|
#:use-module (gnu packages gettext)
|
|
|
|
#:use-module (gnu packages glib)
|
2016-11-09 06:49:07 -05:00
|
|
|
#:use-module (gnu packages groff)
|
2016-10-15 16:38:41 -04:00
|
|
|
#:use-module (gnu packages gtk)
|
|
|
|
#:use-module (gnu packages image)
|
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
#:use-module (gnu packages lua)
|
2013-02-13 17:20:11 -05:00
|
|
|
#:use-module (gnu packages ncurses)
|
|
|
|
#:use-module (gnu packages perl)
|
2016-10-15 16:38:41 -04:00
|
|
|
#: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))
|
2013-02-13 17:20:11 -05:00
|
|
|
|
|
|
|
(define-public vim
|
|
|
|
(package
|
|
|
|
(name "vim")
|
2017-01-06 18:16:06 -05:00
|
|
|
(version "8.0.0147")
|
2013-02-13 17:20:11 -05:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2016-10-27 09:14:40 -04:00
|
|
|
(uri (string-append "https://github.com/vim/vim/archive/v"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
2013-02-13 17:20:11 -05:00
|
|
|
(sha256
|
|
|
|
(base32
|
2017-01-06 18:16:06 -05:00
|
|
|
"0rjq77n2gj3bb22dhawmbwkknii14gy7akplrplgxl1l789isfpq"))))
|
2013-02-13 17:20:11 -05:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(arguments
|
|
|
|
`(#:test-target "test"
|
|
|
|
#:parallel-tests? #f
|
|
|
|
#:phases
|
2016-03-09 04:09:06 -05:00
|
|
|
(modify-phases %standard-phases
|
2016-09-12 14:52:17 -04:00
|
|
|
(add-after 'unpack 'make-bit-reproducable
|
|
|
|
(lambda _
|
|
|
|
(substitute* "src/version.c"
|
|
|
|
((" VIM_VERSION_LONG_DATE") " VIM_VERSION_LONG")
|
|
|
|
((" __DATE__") "")
|
|
|
|
((" __TIME__") ""))
|
|
|
|
#t))
|
2016-03-09 04:09:06 -05:00
|
|
|
(add-after 'configure 'patch-config-files
|
|
|
|
(lambda _
|
|
|
|
(substitute* "runtime/tools/mve.awk"
|
|
|
|
(("/usr/bin/nawk") (which "gawk")))
|
2016-09-12 13:55:21 -04:00
|
|
|
(substitute* '("src/testdir/Makefile"
|
|
|
|
"src/testdir/test_normal.vim")
|
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
#t)))))
|
2013-02-13 17:20:11 -05:00
|
|
|
(inputs
|
gnu: Fix misplaced commas (unquote).
Fix many occurrences of comma (unquote) being placed immediately after the
previous list item, e.g. ("ncurses", ncurses) in the inputs.
* gnu/packages/base.scm (patch, gnu-make),
gnu/packages/bioinformatics.scm (hmmer),
gnu/packages/bittorrent.scm (aria2),
gnu/packages/compression.scm (pbzip2),
gnu/packages/databases.scm (recutils),
gnu/packages/fonts.scm (font-terminus),
gnu/packages/freedesktop.scm (xdg-utils, elogind),
gnu/packages/games.scm (gnujump),
gnu/packages/gnome.scm (libidl, gnumeric, eog, gedit),
gnu/packages/gnunet.scm (gnunet),
gnu/packages/gnuzilla.scm (mozjs, nspr),
gnu/packages/gtk.scm (gtksourceview, gdk-pixbuf),
gnu/packages/lua.scm (lua),
gnu/packages/openstack.scm (python-swiftclient),
gnu/packages/perl.scm (perl-json-any),
gnu/packages/polkit.scm (polkit-qt),
gnu/packages/python.scm (wrap-python3, python-oauthlib)
(python-mccabe-0.2.1, python-contextlib2, python2-rauth),
gnu/packages/qt.scm (qtkeychain),
gnu/packages/ruby.scm (ruby-nokogiri),
gnu/packages/screen.scm (screen),
gnu/packages/ssh.scm (libssh),
gnu/packages/video.scm (ffmpeg, mplayer),
gnu/packages/vim.scm (vim),
gnu/packages/xdisorg.scm (redshift),
gnu/packages/xfce.scm (xfce4-panel, xfce4-settings),
gnu/packages/xnee.scm (xnee),
gnu/packages/xorg.scm (font-adobe100dpi, font-adobe75dpi),
gnu/packages/zsh.scm (zsh): Fix misplaced commas (unquote).
2016-02-27 08:37:28 -05:00
|
|
|
`(("gawk" ,gawk)
|
|
|
|
("inetutils" ,inetutils)
|
|
|
|
("ncurses" ,ncurses)
|
|
|
|
("perl" ,perl)
|
2013-02-13 17:20:11 -05:00
|
|
|
("tcsh" ,tcsh))) ; For runtime/tools/vim32
|
|
|
|
(home-page "http://www.vim.org/")
|
2014-03-30 19:09:10 -04:00
|
|
|
(synopsis "Text editor based on vi")
|
2013-02-13 17:20:11 -05:00
|
|
|
(description
|
|
|
|
"Vim is a highly configurable text editor built to enable efficient text
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
editing. It is an improved version of the vi editor distributed with most UNIX
|
2013-02-13 17:20:11 -05:00
|
|
|
systems.
|
|
|
|
|
|
|
|
Vim is often called a \"programmer's editor,\" and so useful for programming
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
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
|
2014-03-30 19:09:10 -04:00
|
|
|
configuration files.")
|
2013-02-13 17:20:11 -05:00
|
|
|
(license license:vim)))
|
2016-10-15 16:38:41 -04:00
|
|
|
|
|
|
|
(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)
|
2016-11-18 12:26:08 -05:00
|
|
|
("gettext" ,gettext-minimal)
|
2016-10-15 16:38:41 -04:00
|
|
|
("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)))))
|
2016-11-09 06:49:07 -05:00
|
|
|
|
|
|
|
(define-public vifm
|
|
|
|
(package
|
|
|
|
(name "vifm")
|
|
|
|
(version "0.8.2")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://sourceforge/vifm/vifm/vifm-"
|
|
|
|
version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"07r15kq7kjl3a41sd11ncpsii866xxps4f90zh3lv8jqcrv6silb"))))
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
(arguments
|
|
|
|
'(#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'patch-source-shebangs 'patch-test-shebangs
|
|
|
|
(lambda _
|
|
|
|
(substitute* (find-files "tests" "\\.c$")
|
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
#t)))))
|
|
|
|
(native-inputs
|
|
|
|
`(("groff" ,groff) ; for the documentation
|
|
|
|
("perl" ,perl)))
|
|
|
|
(inputs
|
|
|
|
`(("libx11" ,libx11)
|
|
|
|
("ncurses" ,ncurses)))
|
|
|
|
(home-page "http://vifm.info/")
|
|
|
|
(synopsis "Flexible vi-like file manager using ncurses")
|
|
|
|
(description "Vifm is a file manager providing a @command{vi}-like usage
|
|
|
|
experience. It has similar keybindings and modes (e.g. normal, command line,
|
|
|
|
visual). The interface uses ncurses, thus vifm can be used in text-only
|
|
|
|
environments. It supports a wide range of features, some of which are known
|
|
|
|
from the @command{vi}-editor:
|
|
|
|
@enumerate
|
|
|
|
@item utf8 support
|
|
|
|
@item user mappings (almost like in @code{vi})
|
|
|
|
@item ranges in command
|
|
|
|
@item line commands
|
|
|
|
@item user defined commands (with support for ranges)
|
|
|
|
@item registers
|
|
|
|
@item operation undoing/redoing
|
|
|
|
@item fuse file systems support
|
|
|
|
@item trash
|
|
|
|
@item multiple files renaming
|
|
|
|
@item support of filename modifiers
|
|
|
|
@item colorschemes support
|
|
|
|
@item file name color according to file type
|
|
|
|
@item path specific colorscheme customization
|
|
|
|
@item bookmarks
|
|
|
|
@item operation backgrounding
|
|
|
|
@item customizable file viewers
|
|
|
|
@item handy @code{less}-like preview mode
|
|
|
|
@item filtering out and searching for files using regular expressions
|
|
|
|
@item one or two panes view
|
|
|
|
@end enumerate
|
|
|
|
With the package comes a plugin to use vifm as a vim file selector.")
|
|
|
|
(license license:gpl2+)))
|