[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add vim-full.
From: |
Kei Kebreau |
Subject: |
Re: [PATCH] gnu: Add vim-full. |
Date: |
Mon, 17 Oct 2016 14:37:47 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
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.
signature.asc
Description: PGP signature
- [PATCH] Add vim-full (this time with the patches included), ng0, 2016/10/15
- [PATCH] gnu: Add vim-full., ng0, 2016/10/15
- vim-full v2, ng0, 2016/10/17
- [PATCH] gnu: Add vim-full., ng0, 2016/10/17
- Re: [PATCH] gnu: Add vim-full., Marius Bakke, 2016/10/17
- Re: [PATCH] gnu: Add vim-full., ng0, 2016/10/17
- Re: [PATCH] gnu: Add vim-full., Marius Bakke, 2016/10/17
- Re: [PATCH] gnu: Add vim-full., ng0, 2016/10/17
- Re: [PATCH] gnu: Add vim-full., Marius Bakke, 2016/10/18
- Re: [PATCH] gnu: Add vim-full.,
Kei Kebreau <=
- Re: [PATCH] gnu: Add vim-full., ng0, 2016/10/17