From 38190ea5efa33ff91f6764149591b8939be0b932 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Mar 2017 06:57:09 +0100 Subject: gnu: vim: Update to 8.0.0494. * gnu/packages/patches/vim-CVE-2017-5953.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/vim.scm (vim, vim-full): Update to 8.0.0494. [source]: Remove patch. (vim-full)[arguments]: Add two phases to drop tests and start xorg. [native-inputs]: Add XORG-SERVER. --- gnu/local.mk | 1 - gnu/packages/patches/vim-CVE-2017-5953.patch | 32 ---------------------------- gnu/packages/vim.scm | 29 ++++++++++++++++++++----- 3 files changed, 24 insertions(+), 38 deletions(-) delete mode 100644 gnu/packages/patches/vim-CVE-2017-5953.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index c05edc87a4..97ca3eb720 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -964,7 +964,6 @@ dist_patch_DATA = \ %D%/packages/patches/util-linux-CVE-2017-2616.patch \ %D%/packages/patches/upower-builddir.patch \ %D%/packages/patches/valgrind-enable-arm.patch \ - %D%/packages/patches/vim-CVE-2017-5953.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ diff --git a/gnu/packages/patches/vim-CVE-2017-5953.patch b/gnu/packages/patches/vim-CVE-2017-5953.patch deleted file mode 100644 index 070f98c2cb..0000000000 --- a/gnu/packages/patches/vim-CVE-2017-5953.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix CVE-2017-5953: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953 -https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY - -This change is adapted from the upstream source repository: - -https://github.com/vim/vim/commit/6d3c8586fc81b022e9f06c611b9926108fb878c7 - -diff --git a/src/spellfile.c b/src/spellfile.c -index c7d87c6..00ef019 100644 ---- a/src/spellfile.c -+++ b/src/spellfile.c -@@ -1585,7 +1585,7 @@ spell_read_tree( - int prefixtree, /* TRUE for the prefix tree */ - int prefixcnt) /* when "prefixtree" is TRUE: prefix count */ - { -- int len; -+ long len; - int idx; - char_u *bp; - idx_T *ip; -@@ -1595,6 +1595,9 @@ spell_read_tree( - len = get4c(fd); - if (len < 0) - return SP_TRUNCERROR; -+ if (len >= LONG_MAX / (long)sizeof(int)) -+ /* Invalid length, multiply with sizeof(int) would overflow. */ -+ return SP_FORMERROR; - if (len > 0) - { - /* Allocate the byte array. */ diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 82403feb1d..3dbd6d952b 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ (define-module (gnu packages vim) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) @@ -58,16 +60,15 @@ (define-public vim (package (name "vim") - (version "8.0.0300") + (version "8.0.0494") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) - (patches (search-patches "vim-CVE-2017-5953.patch")) (sha256 (base32 - "04samk2bakyixbxyc3p0g6ypls45105sikibg0wc6lmak9bqjs85")))) + "08kzimdyla35ndrbn68jf8pmzm7nd2qrydnvk57j089m6ajic62r")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -128,9 +129,27 @@ configuration files.") "--enable-xim" "--disable-selinux" "--enable-gui") - ,@(package-arguments vim))) + ,@(substitute-keyword-arguments (package-arguments vim) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'build 'drop-failing-tests + (lambda _ + ;; These tests fail mysteriously with GUI enabled. + ;; https://github.com/vim/vim/issues/1460 + (substitute* "src/testdir/test_cmdline.vim" + (("call assert_equal\\(.+getcmd.+\\(\\)\\)") "")) + #t)) + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + ;; Some tests require an X server, but does not start one. + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &"))))))))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (inputs `(("acl" ,acl) ("atk" ,atk) -- cgit 1.4.1