unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ng0 <ng0@we.make.ritual.n0.is>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: Add vim-full.
Date: Mon, 17 Oct 2016 16:32:40 +0000	[thread overview]
Message-ID: <20161017163240.15227-2-ng0@we.make.ritual.n0.is> (raw)
In-Reply-To: <20161017163240.15227-1-ng0@we.make.ritual.n0.is>

* gnu/packages/vim.scm (vim-full): New variable.
* gnu/packages/patches/vim-8.0.0003.patch: New file.
* gnu/packages/patches/vim-8.0.0004.patch: New file.
* gnu/packages/patches/vim-8.0.0005.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patches.
---
 gnu/local.mk                            |  3 ++
 gnu/packages/patches/vim-8.0.0003.patch | 87 +++++++++++++++++++++++++++++++++
 gnu/packages/patches/vim-8.0.0004.patch | 60 +++++++++++++++++++++++
 gnu/packages/patches/vim-8.0.0005.patch | 45 +++++++++++++++++
 gnu/packages/vim.scm                    | 81 ++++++++++++++++++++++++++++++
 5 files changed, 276 insertions(+)
 create mode 100644 gnu/packages/patches/vim-8.0.0003.patch
 create mode 100644 gnu/packages/patches/vim-8.0.0004.patch
 create mode 100644 gnu/packages/patches/vim-8.0.0005.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 526756f..79c1326 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -874,6 +874,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/util-linux-tests.patch			\
   %D%/packages/patches/upower-builddir.patch			\
   %D%/packages/patches/valgrind-enable-arm.patch		\
+  %D%/packages/patches/vim-8.0.0003.patch                       \
+  %D%/packages/patches/vim-8.0.0004.patch                       \
+  %D%/packages/patches/vim-8.0.0005.patch                       \
   %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch		\
   %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch		\
   %D%/packages/patches/vorbis-tools-CVE-2015-6749.patch		\
diff --git a/gnu/packages/patches/vim-8.0.0003.patch b/gnu/packages/patches/vim-8.0.0003.patch
new file mode 100644
index 0000000..11e9c91
--- /dev/null
+++ b/gnu/packages/patches/vim-8.0.0003.patch
@@ -0,0 +1,87 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.0.0003
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.0.0003
+Problem:    getwinvar() returns wrong Value of boolean and number options,
+            especially non big endian systems. (James McCoy)
+Solution:   Cast the pointer to long or int. (closes #1060)
+Files:      src/option.c, src/testdir/test_bufwintabinfo.vim
+
+
+*** vim80/src/option.c	2016-09-02 19:26:03.000000000 +0200
+--- vim80/src/option.c	2016-09-12 19:20:38.051099762 +0200
+***************
+*** 12363,12370 ****
+  	    {
+  		if (opt->flags & P_STRING)
+  		    dict_add_nr_str(d, opt->fullname, 0L, *(char_u **)varp);
+  		else
+! 		    dict_add_nr_str(d, opt->fullname, *varp, NULL);
+  	    }
+  	}
+      }
+--- 12363,12372 ----
+  	    {
+  		if (opt->flags & P_STRING)
+  		    dict_add_nr_str(d, opt->fullname, 0L, *(char_u **)varp);
++ 		else if (opt->flags & P_NUM)
++ 		    dict_add_nr_str(d, opt->fullname, *(long *)varp, NULL);
+  		else
+! 		    dict_add_nr_str(d, opt->fullname, *(int *)varp, NULL);
+  	    }
+  	}
+      }
+*** vim80/src/testdir/test_bufwintabinfo.vim	2016-08-27 21:14:58.000000000 +0200
+--- vim80/src/testdir/test_bufwintabinfo.vim	2016-09-12 19:31:06.346360420 +0200
+***************
+*** 87,95 ****
+--- 87,103 ----
+  endfunc
+  
+  function Test_get_win_options()
++   if has('folding')
++     set foldlevel=999
++   endif
++   set list
+    let opts = getwinvar(1, '&')
+    call assert_equal(v:t_dict, type(opts))
+    call assert_equal(0, opts.linebreak)
++   call assert_equal(1, opts.list)
++   if has('folding')
++     call assert_equal(999, opts.foldlevel)
++   endif
+    if has('signs')
+      call assert_equal('auto', opts.signcolumn)
+    endif
+***************
+*** 97,103 ****
+--- 105,116 ----
+    let opts = gettabwinvar(1, 1, '&')
+    call assert_equal(v:t_dict, type(opts))
+    call assert_equal(0, opts.linebreak)
++   call assert_equal(1, opts.list)
+    if has('signs')
+      call assert_equal('auto', opts.signcolumn)
+    endif
++   set list&
++   if has('folding')
++     set foldlevel=0
++   endif
+  endfunc
+*** vim80/src/version.c	2016-09-12 16:30:42.348454179 +0200
+--- vim80/src/version.c	2016-09-12 19:24:10.184148642 +0200
+***************
+*** 766,767 ****
+--- 766,769 ----
+  {   /* Add new patch number below this line */
++ /**/
++     3,
+  /**/
+
+-- 
diff --git a/gnu/packages/patches/vim-8.0.0004.patch b/gnu/packages/patches/vim-8.0.0004.patch
new file mode 100644
index 0000000..5d4071b
--- /dev/null
+++ b/gnu/packages/patches/vim-8.0.0004.patch
@@ -0,0 +1,60 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.0.0004
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.0.0004
+Problem:    A string argument for function() that is not a function name
+            results in an error message with NULL. (Christian Brabandt)
+Solution:   Use the argument for the error message.
+Files:      src/evalfunc.c, src/testdir/test_expr.vim
+
+
+*** vim80/src/evalfunc.c	2016-09-10 13:39:30.000000000 +0200
+--- vim80/src/evalfunc.c	2016-09-13 23:04:02.917786784 +0200
+***************
+*** 3612,3618 ****
+  
+      if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s))
+  					 || (is_funcref && trans_name == NULL))
+! 	EMSG2(_(e_invarg2), s);
+      /* Don't check an autoload name for existence here. */
+      else if (trans_name != NULL && (is_funcref
+  				? find_func(trans_name) == NULL
+--- 3612,3618 ----
+  
+      if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s))
+  					 || (is_funcref && trans_name == NULL))
+! 	EMSG2(_(e_invarg2), use_string ? get_tv_string(&argvars[0]) : s);
+      /* Don't check an autoload name for existence here. */
+      else if (trans_name != NULL && (is_funcref
+  				? find_func(trans_name) == NULL
+*** vim80/src/testdir/test_expr.vim	2016-09-04 21:41:26.000000000 +0200
+--- vim80/src/testdir/test_expr.vim	2016-09-13 23:03:20.426385157 +0200
+***************
+*** 439,444 ****
+--- 439,447 ----
+    let s:fref = function(s:f)
+    call assert_equal(v:t_string, s:fref('x'))
+    call assert_fails("call function('s:f')", 'E700:')
++ 
++   call assert_fails("call function('foo()')", 'E475:')
++   call assert_fails("call function('foo()')", 'foo()')
+  endfunc
+  
+  func Test_funcref()
+*** vim80/src/version.c	2016-09-12 19:51:07.689659657 +0200
+--- vim80/src/version.c	2016-09-14 22:06:19.364036465 +0200
+***************
+*** 766,767 ****
+--- 766,769 ----
+  {   /* Add new patch number below this line */
++ /**/
++     4,
+  /**/
+
+-- 
diff --git a/gnu/packages/patches/vim-8.0.0005.patch b/gnu/packages/patches/vim-8.0.0005.patch
new file mode 100644
index 0000000..ee2b831
--- /dev/null
+++ b/gnu/packages/patches/vim-8.0.0005.patch
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.0.0005
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.0.0005
+Problem:    Netbeans test fails with Python 3. (Jonathonf)
+Solution:   Encode the string before sending it. (closes #1070)
+Files:      src/testdir/test_netbeans.py
+
+
+*** vim80/src/testdir/test_netbeans.py	2016-09-09 15:27:58.000000000 +0200
+--- vim80/src/testdir/test_netbeans.py	2016-09-14 22:22:03.574860055 +0200
+***************
+*** 52,58 ****
+                  return
+  
+              if len(response) > 0:
+!                 self.request.sendall(response)
+                  # Write the respoinse into the file, so that the test can knows
+                  # the command was sent.
+                  with open("Xnetbeans", "a") as myfile:
+--- 52,58 ----
+                  return
+  
+              if len(response) > 0:
+!                 self.request.sendall(response.encode('utf-8'))
+                  # Write the respoinse into the file, so that the test can knows
+                  # the command was sent.
+                  with open("Xnetbeans", "a") as myfile:
+*** vim80/src/version.c	2016-09-14 22:16:09.863803610 +0200
+--- vim80/src/version.c	2016-09-14 22:22:39.922351477 +0200
+***************
+*** 766,767 ****
+--- 766,769 ----
+  {   /* Add new patch number below this line */
++ /**/
++     5,
+  /**/
+
+-- 
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index b1ee527..1b1fe60 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -1,6 +1,7 @@
 ;;; 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.
 ;;;
@@ -26,6 +27,21 @@
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages acl)
+  #:use-module (gnu packages attr)
+  #:use-module (gnu packages fontutils)
+  #: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 pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tcl)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages admin) ; For GNU hostname
   #:use-module (gnu packages shells))
 
@@ -79,3 +95,68 @@ 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")
+    (version (package-version vim))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "ftp://ftp.vim.org/pub/vim/unix/vim-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "1s34rf8089klsbdx5l0iw7vjymir0kzfrx8wb30s31wygnq29axc"))
+       ;; Patches need to be applied sequentially. 8.0 is the release of
+       ;; vim version 8.0.0002 so we start at 8.0.0003
+       (patches (search-patches "vim-8.0.0003.patch"
+                                "vim-8.0.0004.patch"
+                                "vim-8.0.0005.patch"))))
+    (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" ,python)
+       ("ruby" ,ruby)
+       ("tcl" ,tcl)
+       ,@(package-inputs vim)))))
-- 
2.10.1

  reply	other threads:[~2016-10-17 16:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-15 20:38 [PATCH] Add vim-full (this time with the patches included) ng0
2016-10-15 20:38 ` [PATCH] gnu: Add vim-full ng0
2016-10-17 16:32   ` vim-full v2 ng0
2016-10-17 16:32     ` ng0 [this message]
2016-10-17 18:15       ` [PATCH] gnu: Add vim-full Marius Bakke
2016-10-17 21:07         ` ng0
2016-10-17 22:10           ` Marius Bakke
2016-10-17 22:46             ` ng0
2016-10-18 11:47               ` Marius Bakke
2016-10-17 18:37       ` Kei Kebreau
2016-10-17 21:09         ` ng0
  -- strict thread matches above, loose matches on Subject: below --
2016-10-14 21:16 [PATCH]: " ng0
2016-10-14 21:16 ` [PATCH] gnu: " ng0
2016-10-15 18:21   ` Efraim Flashner
2016-10-15 21:27     ` ng0

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161017163240.15227-2-ng0@we.make.ritual.n0.is \
    --to=ng0@we.make.ritual.n0.is \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).