unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add vim-full.
  2016-10-14 21:16 [PATCH]: " ng0
@ 2016-10-14 21:16 ` ng0
  2016-10-15 18:21   ` Efraim Flashner
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-14 21:16 UTC (permalink / raw)
  To: guix-devel

* 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/vim.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)

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/vim.scm b/gnu/packages/vim.scm
index b1ee527..58ea3e1 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,69 @@ 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-wrapper)
+       ("python" ,python-2)
+       ("ruby" ,ruby)
+       ("tcl" ,tcl)
+       ,@(package-inputs vim)))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-14 21:16 ` [PATCH] gnu: " ng0
@ 2016-10-15 18:21   ` Efraim Flashner
  2016-10-15 21:27     ` ng0
  0 siblings, 1 reply; 14+ messages in thread
From: Efraim Flashner @ 2016-10-15 18:21 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 5608 bytes --]

On Fri, Oct 14, 2016 at 09:16:15PM +0000, ng0 wrote:
> * 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/vim.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 85 insertions(+)
> 
> 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/vim.scm b/gnu/packages/vim.scm
> index b1ee527..58ea3e1 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,69 @@ 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"))))

vim-7.4 went to over 2000 patches. If we do start applying patches to
our vim package then we should apply them to both versions, and it would
probably be better to use the bash patch method.

> +    (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-wrapper)
> +       ("python" ,python-2)

python-2 gets dropped if both python2 and python3 are included as inputs

> +       ("ruby" ,ruby)
> +       ("tcl" ,tcl)
> +       ,@(package-inputs vim)))))
> -- 
> 2.10.1
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] Add vim-full (this time with the patches included)
@ 2016-10-15 20:38 ng0
  2016-10-15 20:38 ` [PATCH] gnu: Add vim-full ng0
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-15 20:38 UTC (permalink / raw)
  To: guix-devel

Forgot the patches last time. Here they are included.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] gnu: Add vim-full.
  2016-10-15 20:38 [PATCH] Add vim-full (this time with the patches included) ng0
@ 2016-10-15 20:38 ` ng0
  2016-10-17 16:32   ` vim-full v2 ng0
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-15 20:38 UTC (permalink / raw)
  To: guix-devel

* 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                    | 82 +++++++++++++++++++++++++++++++
 5 files changed, 277 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..58ea3e1 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,69 @@ 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-wrapper)
+       ("python" ,python-2)
+       ("ruby" ,ruby)
+       ("tcl" ,tcl)
+       ,@(package-inputs vim)))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-15 18:21   ` Efraim Flashner
@ 2016-10-15 21:27     ` ng0
  0 siblings, 0 replies; 14+ messages in thread
From: ng0 @ 2016-10-15 21:27 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> [ Unknown signature status ]
> On Fri, Oct 14, 2016 at 09:16:15PM +0000, ng0 wrote:
>> * 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/vim.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 85 insertions(+)
>> 
>> 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/vim.scm b/gnu/packages/vim.scm
>> index b1ee527..58ea3e1 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,69 @@ 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"))))
>
> vim-7.4 went to over 2000 patches. If we do start applying patches to
> our vim package then we should apply them to both versions, and it would
> probably be better to use the bash patch method.

I'vre just send in a new patch of this, I forgot the patches.
I only included the patches which are needed to make the testsuite to
succeed. This is not needed at all in the current vim we have.

I did what I can, I do not understand the bash method. Someone who does
can apply the method used in bash.scm, I won't.

>> +    (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-wrapper)
>> +       ("python" ,python-2)
>
> python-2 gets dropped if both python2 and python3 are included as inputs

My bad, I forgot to remove parts of that. I removed building python2
already.
I'll update this patch tomorrow, in the new thread.

>> +       ("ruby" ,ruby)
>> +       ("tcl" ,tcl)
>> +       ,@(package-inputs vim)))))
>> -- 
>> 2.10.1
>> 
>> 
>
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

-- 
♥Ⓐ  ng0

^ permalink raw reply	[flat|nested] 14+ messages in thread

* vim-full v2
  2016-10-15 20:38 ` [PATCH] gnu: Add vim-full ng0
@ 2016-10-17 16:32   ` ng0
  2016-10-17 16:32     ` [PATCH] gnu: Add vim-full ng0
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-17 16:32 UTC (permalink / raw)
  To: guix-devel


v2

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] gnu: Add vim-full.
  2016-10-17 16:32   ` vim-full v2 ng0
@ 2016-10-17 16:32     ` ng0
  2016-10-17 18:15       ` Marius Bakke
  2016-10-17 18:37       ` Kei Kebreau
  0 siblings, 2 replies; 14+ messages in thread
From: ng0 @ 2016-10-17 16:32 UTC (permalink / raw)
  To: guix-devel

* 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

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 16:32     ` [PATCH] gnu: Add vim-full ng0
@ 2016-10-17 18:15       ` Marius Bakke
  2016-10-17 21:07         ` ng0
  2016-10-17 18:37       ` Kei Kebreau
  1 sibling, 1 reply; 14+ messages in thread
From: Marius Bakke @ 2016-10-17 18:15 UTC (permalink / raw)
  To: ng0, guix-devel

ng0 <ng0@we.make.ritual.n0.is> writes:

> * 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

[...]

> +
> +(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"))))

Shouldn't these patches be applied on the base vim package? Then
"vim-full" can just inherit the source from there. I also think
"version" should be adjusted to match the patch level.

Other than that this package works for me. Perhaps the description could
be updated to mention that this also includes the graphical "gvim" if
anyone is searching for that.

Could you separate this out to two patches, one that updates "vim" and
one that adds "vim-full"?

Thanks!

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 16:32     ` [PATCH] gnu: Add vim-full ng0
  2016-10-17 18:15       ` Marius Bakke
@ 2016-10-17 18:37       ` Kei Kebreau
  2016-10-17 21:09         ` ng0
  1 sibling, 1 reply; 14+ messages in thread
From: Kei Kebreau @ 2016-10-17 18:37 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 12927 bytes --]

ng0 <ng0@we.make.ritual.n0.is> writes:

> * 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)))))

"guix lint" complains about the patches not starting with the package
name ("vim-full" in this case), but otherwise everything looks good.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 18:15       ` Marius Bakke
@ 2016-10-17 21:07         ` ng0
  2016-10-17 22:10           ` Marius Bakke
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-17 21:07 UTC (permalink / raw)
  To: Marius Bakke, guix-devel

Hi,

thanks for reviewing.

Marius Bakke <mbakke@fastmail.com> writes:

> ng0 <ng0@we.make.ritual.n0.is> writes:
>
>> * 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
>
> [...]
>
>> +
>> +(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"))))
>
> Shouldn't these patches be applied on the base vim package? Then
> "vim-full" can just inherit the source from there. I also think
> "version" should be adjusted to match the patch level.

No (for explanation see the other emails I've sent in the earlier
thread).
I agree on the version, I will update that.

> Other than that this package works for me. Perhaps the description could
> be updated to mention that this also includes the graphical "gvim" if
> anyone is searching for that.

Okay, I will include that.

> Could you separate this out to two patches, one that updates "vim" and
> one that adds "vim-full"?

See above. But I think hardly anyone will search for it, so here's the
reason: The patches are only needed for what vim-full does and for that
only to make the tests succeed. I don't see any rational point in
including patches which will make a testsuite succeed which is not run
by the package you suggest I apply them to.
If this is extended in the future (say vim fixes some serious bug where
we need to sequentially apply the patches up to that), feel free to
change it to vim. I just need to make the testsuite succeed, which the
patches even comment afaik.
If it would extend any functionality our standard (minimal) vim has, I
would apply them, but as far as I see it this is not the case.
Correct me if I'm wrong.

> Thanks!
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 18:37       ` Kei Kebreau
@ 2016-10-17 21:09         ` ng0
  0 siblings, 0 replies; 14+ messages in thread
From: ng0 @ 2016-10-17 21:09 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: guix-devel

Kei Kebreau <kei@openmailbox.org> writes:

> [ Unknown signature status ]
> ng0 <ng0@we.make.ritual.n0.is> writes:
>
>> * 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)))))
>
> "guix lint" complains about the patches not starting with the package
> name ("vim-full" in this case), but otherwise everything looks good.

Okay, I will rename them.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 21:07         ` ng0
@ 2016-10-17 22:10           ` Marius Bakke
  2016-10-17 22:46             ` ng0
  0 siblings, 1 reply; 14+ messages in thread
From: Marius Bakke @ 2016-10-17 22:10 UTC (permalink / raw)
  To: ng0, guix-devel

ng0 <ng0@we.make.ritual.n0.is> writes:

> Hi,
>
> thanks for reviewing.
>
> Marius Bakke <mbakke@fastmail.com> writes:
>
>> ng0 <ng0@we.make.ritual.n0.is> writes:
>>
>>> * 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
>>
>> [...]
>>
>>> +
>>> +(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"))))
>>
>> Shouldn't these patches be applied on the base vim package? Then
>> "vim-full" can just inherit the source from there. I also think
>> "version" should be adjusted to match the patch level.
>
> No (for explanation see the other emails I've sent in the earlier
> thread).
> I agree on the version, I will update that.

Upstream recommends using the Github releases [0] for 8.0 which are at
8.0.0042 already. Do you think it makes sense to switch to that source
for both packages? Then we might avoid carrying the patches entirely.

0: https://github.com/vim/vim/releases

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 22:10           ` Marius Bakke
@ 2016-10-17 22:46             ` ng0
  2016-10-18 11:47               ` Marius Bakke
  0 siblings, 1 reply; 14+ messages in thread
From: ng0 @ 2016-10-17 22:46 UTC (permalink / raw)
  To: Marius Bakke, guix-devel

Marius Bakke <mbakke@fastmail.com> writes:

> ng0 <ng0@we.make.ritual.n0.is> writes:
>
>> Hi,
>>
>> thanks for reviewing.
>>
>> Marius Bakke <mbakke@fastmail.com> writes:
>>
>>> ng0 <ng0@we.make.ritual.n0.is> writes:
>>>
>>>> * 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
>>>
>>> [...]
>>>
>>>> +
>>>> +(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"))))
>>>
>>> Shouldn't these patches be applied on the base vim package? Then
>>> "vim-full" can just inherit the source from there. I also think
>>> "version" should be adjusted to match the patch level.
>>
>> No (for explanation see the other emails I've sent in the earlier
>> thread).
>> I agree on the version, I will update that.
>
> Upstream recommends using the Github releases [0]

Where? Do you have any link for that quote so I can link it?

for 8.0 which are at
> 8.0.0042 already. Do you think it makes sense to switch to that source
> for both packages? Then we might avoid carrying the patches entirely.
>
> 0: https://github.com/vim/vim/releases
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gnu: Add vim-full.
  2016-10-17 22:46             ` ng0
@ 2016-10-18 11:47               ` Marius Bakke
  0 siblings, 0 replies; 14+ messages in thread
From: Marius Bakke @ 2016-10-18 11:47 UTC (permalink / raw)
  To: ng0, guix-devel

ng0 <ng0@we.make.ritual.n0.is> writes:

> Marius Bakke <mbakke@fastmail.com> writes:
>
>> ng0 <ng0@we.make.ritual.n0.is> writes:
>>
>>> Hi,
>>>
>>> thanks for reviewing.
>>>
>>> Marius Bakke <mbakke@fastmail.com> writes:
>>>
>>>> ng0 <ng0@we.make.ritual.n0.is> writes:
>>>>
>>>>> * 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
>>>>
>>>> [...]
>>>>
>>>>> +
>>>>> +(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"))))
>>>>
>>>> Shouldn't these patches be applied on the base vim package? Then
>>>> "vim-full" can just inherit the source from there. I also think
>>>> "version" should be adjusted to match the patch level.
>>>
>>> No (for explanation see the other emails I've sent in the earlier
>>> thread).
>>> I agree on the version, I will update that.
>>
>> Upstream recommends using the Github releases [0]
>
> Where? Do you have any link for that quote so I can link it?

On the download page [0], there is a GitHub link that says "obtain
sources with a git client (recommended)". And further down that this
version includes all patches.

It goes on to describe how to clone it, but it does suggest to me that
the GitHub repo is a trusted source. What do you think?

0: http://www.vim.org/download.php

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-10-18 11:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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     ` [PATCH] gnu: Add vim-full ng0
2016-10-17 18:15       ` 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

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).