Toggle diff (149 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 3997797201..d5d8b412f7 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -89,68 +89,69 @@ (define-public vim
"1jppzgmngcdd7jfb5rnkkvf5d47svnjbn7qj4mvjacd9az3c7s9r"))))
(build-system gnu-build-system)
(arguments
- `(#:test-target "test"
- #:parallel-tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-absolute-paths
- (lambda _
- (substitute* "runtime/tools/mve.awk"
- (("/usr/bin/nawk") (which "gawk")))
- (substitute* '("src/testdir/Makefile"
- "src/testdir/test_normal.vim"
- "src/testdir/test_popupwin.vim"
- "src/testdir/test_shell.vim"
- "src/testdir/test_system.vim"
- "src/testdir/test_terminal.vim"
- "src/testdir/test_terminal2.vim")
- (("/bin/sh") (which "sh")))
- (substitute* "src/testdir/test_autocmd.vim"
- (("/bin/kill") (which "kill")))))
- (add-before 'check 'set-environment-variables
- (lambda* (#:key inputs #:allow-other-keys)
- ;; One of the tests tests timezone-dependent functions.
- (setenv "TZDIR"
- (search-input-directory inputs "share/zoneinfo"))
+ (list
+ #:test-target "test"
+ #:parallel-tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'configure 'patch-absolute-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "runtime/tools/mve.awk"
+ (("/usr/bin/nawk") (search-input-file inputs "bin/gawk")))
+ (substitute* '("src/testdir/Makefile"
+ "src/testdir/test_normal.vim"
+ "src/testdir/test_popupwin.vim"
+ "src/testdir/test_shell.vim"
+ "src/testdir/test_system.vim"
+ "src/testdir/test_terminal.vim"
+ "src/testdir/test_terminal2.vim")
+ (("/bin/sh") (search-input-file inputs "bin/sh")))
+ (substitute* "src/testdir/test_autocmd.vim"
+ (("/bin/kill") (search-input-file inputs "bin/kill")))))
+ (add-before 'check 'set-environment-variables
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; One of the tests tests timezone-dependent functions.
+ (setenv "TZDIR"
+ (search-input-directory inputs "share/zoneinfo"))
- ;; Make sure the TERM environment variable is set for the tests
- (setenv "TERM" "xterm")))
- (add-before 'check 'skip-or-fix-failing-tests
- (lambda _
- ;; This test assumes that PID 1 is run as root and that the user
- ;; running the test suite does not have permission to kill(1, 0)
- ;; it. This is not true in the build container, where both PID 1
- ;; and the test suite are run as the same user. Skip the test.
- ;; An alternative fix would be to patch the PID used to a random
- ;; 32-bit value and hope it never shows up in the test environment.
- (substitute* "src/testdir/test_swap.vim"
- (("if !IsRoot\\(\\)") "if 0"))
+ ;; Make sure the TERM environment variable is set for the tests
+ (setenv "TERM" "xterm")))
+ (add-before 'check 'skip-or-fix-failing-tests
+ (lambda _
+ ;; This test assumes that PID 1 is run as root and that the user
+ ;; running the test suite does not have permission to kill(1, 0)
+ ;; it. This is not true in the build container, where both PID 1
+ ;; and the test suite are run as the same user. Skip the test.
+ ;; An alternative fix would be to patch the PID used to a random
+ ;; 32-bit value and hope it never shows up in the test environment.
+ (substitute* "src/testdir/test_swap.vim"
+ (("if !IsRoot\\(\\)") "if 0"))
- ;; These tests check how the terminal looks after executing some
- ;; actions. The path of the bash binary is shown, which results in
- ;; a difference being detected. Patching the expected result is
- ;; non-trivial due to the special format used, so skip the test.
- (substitute* "src/testdir/test_terminal.vim"
- ((".*Test_open_term_from_cmd.*" line)
- (string-append line "return\n"))
- ((".*Test_terminal_postponed_scrollback.*" line)
- (string-append line "return\n"))
- ((".*Test_combining_double_width.*" line)
- (string-append line "return\n")))
- (substitute* "src/testdir/test_popupwin.vim"
- ((".*Test_popup_drag_termwin.*" line)
- (string-append line "return\n")))))
- (add-before 'install 'fix-installman.sh
- (lambda _
- (substitute* "src/installman.sh"
- (("/bin/sh")
- (which "sh")))))
- (add-after 'install 'install-guix.vim
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((vimdir (string-append (assoc-ref outputs "out") "/share/vim")))
- (mkdir-p vimdir)
- (copy-file (assoc-ref inputs "guix.vim")
- (string-append vimdir "/vimrc"))))))))
+ ;; These tests check how the terminal looks after executing some
+ ;; actions. The path of the bash binary is shown, which results in
+ ;; a difference being detected. Patching the expected result is
+ ;; non-trivial due to the special format used, so skip the test.
+ (substitute* "src/testdir/test_terminal.vim"
+ ((".*Test_open_term_from_cmd.*" line)
+ (string-append line "return\n"))
+ ((".*Test_terminal_postponed_scrollback.*" line)
+ (string-append line "return\n"))
+ ((".*Test_combining_double_width.*" line)
+ (string-append line "return\n")))
+ (substitute* "src/testdir/test_popupwin.vim"
+ ((".*Test_popup_drag_termwin.*" line)
+ (string-append line "return\n")))))
+ (add-before 'install 'fix-installman.sh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/installman.sh"
+ (("/bin/sh")
+ (search-input-file inputs "bin/sh")))))
+ (add-after 'install 'install-guix.vim
+ (lambda _
+ (let ((vimdir (string-append #$output "/share/vim"))
+ (vimrc #$(local-file (search-auxiliary-file "guix.vim"))))
+ (mkdir-p vimdir)
+ (copy-file vimrc (string-append vimdir "/vimrc"))))))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_VIMRUNTIME")
@@ -159,11 +160,7 @@ (define-public vim
(inputs
(list gawk ncurses perl tcsh)) ; For runtime/tools/vim32
(native-inputs
- `(("libtool" ,libtool)
- ("guix.vim" ,(search-auxiliary-file "guix.vim"))
-
- ;; For tests.
- ("tzdata" ,tzdata-for-tests)))
+ (list libtool tzdata-for-tests))
(home-page "https://www.vim.org/")
(synopsis "Text editor based on vi")
;; The description shares language with the vim-full package. When making
--
2.34.0