guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add vim-full.


From: ng0
Subject: Re: [PATCH] gnu: Add vim-full.
Date: Mon, 17 Oct 2016 21:09:37 +0000

Kei Kebreau <address@hidden> writes:

> [ Unknown signature status ]
> ng0 <address@hidden> 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: address@hidden
>> +Subject: Patch 8.0.0003
>> +Fcc: outbox
>> +From: Bram Moolenaar <address@hidden>
>> +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: address@hidden
>> +Subject: Patch 8.0.0004
>> +Fcc: outbox
>> +From: Bram Moolenaar <address@hidden>
>> +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: address@hidden
>> +Subject: Patch 8.0.0005
>> +Fcc: outbox
>> +From: Bram Moolenaar <address@hidden>
>> +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 <address@hidden>
>>  ;;; Copyright © 2016 Efraim Flashner <address@hidden>
>> +;;; Copyright © 2016 ng0 <address@hidden>
>>  ;;;
>>  ;;; 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]