Patchwork gnu: Add vim-full.

login
register
mail settings
Submitter non such
Date Oct. 14, 2016, 9:16 p.m.
Message ID <20161014211615.5371-2-ng0@we.make.ritual.n0.is>
Download mbox | patch
Permalink /patch/16518/
State New
Headers show

Comments

non such - Oct. 14, 2016, 9:16 p.m.
* 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(+)
Efraim Flashner - Oct. 15, 2016, 6:21 p.m.
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
> 
>
non such - Oct. 15, 2016, 9:27 p.m.
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

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