Subject: Add vim-syntastic + neovim-syntastic

From: ng0 <[email-masked]>
Date: Sat, 6 May 2017 12:16:29 +0000

This adds vim-syntastic, it builds and if memory serves me right
I have tested it on vim and neovim. Given the recent vim failure
and switching back to emacs, someone should give both plugins a
try before it is applied.
-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/
From 4e2a50ab1bbda5fe5c4a9cbc264d3cd7de11ccbb Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 15 Apr 2017 17:46:42 +0000
Subject: [PATCH 1/2] gnu: Add vim-syntastic.

* gnu/packages/vim.scm (vim-syntastic): New variable.
---
 gnu/packages/vim.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 5ceb7c831..bb2bf3efb 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -512,6 +512,48 @@ and powerline symbols, etc.")
       (home-page "https://github.com/vim-airline/vim-airline-themes")
       (license license:expat))))
 
+(define-public vim-syntastic
+  (package
+    (name "vim-syntastic")
+    (version "3.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/vim-syntastic/syntastic/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wsnd9bsp5x6yiw96h1bnd1vyxdkh130hb82kyyxydgsplx92ima"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (vimfiles (string-append out "/share/vim/vimfiles"))
+                    (doc (string-append vimfiles "/doc"))
+                    (plugin (string-append vimfiles "/plugin"))
+                    (autoload (string-append vimfiles "/autoload"))
+                    (syntax-checkers (string-append vimfiles "/syntax_checkers")))
+               (copy-recursively "doc" doc)
+               (copy-recursively "autoload" autoload)
+               (copy-recursively "plugin" plugin)
+               (copy-recursively "syntax_checkers" syntax-checkers)
+               #t))))))
+    (synopsis "Syntax checking plugin for Vim")
+    (description
+     "Vim-syntastic is a syntax checking plugin for Vim.  It runs files through
+external syntax checkers and displays any resulting errors to the user.  This
+can be done on demand, or automatically as files are saved.  If syntax errors
+are detected, the user is notified.")
+    (home-page "https://github.com/vim-syntastic/syntastic")
+    (license license:wtfpl2)))
+
 (define-public neovim
   (package
     (name "neovim")
-- 
2.12.2

From 5b878c1144a20e1663bc7fabf88ddbf4eaa44722 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 15 Apr 2017 17:46:43 +0000
Subject: [PATCH 2/2] gnu: Add neovim-syntastic.

* gnu/packages/vim.scm (neovim-syntastic): New variable.
---
 gnu/packages/vim.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index bb2bf3efb..697c7dedc 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -554,6 +554,36 @@ are detected, the user is notified.")
     (home-page "https://github.com/vim-syntastic/syntastic")
     (license license:wtfpl2)))
 
+(define-public neovim-syntastic
+  (package
+    (inherit vim-syntastic)
+    (name "neovim-syntastic")
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (vimfiles (string-append out "/share/nvim/site"))
+                    (doc (string-append vimfiles "/doc"))
+                    (plugin (string-append vimfiles "/plugin"))
+                    (autoload (string-append vimfiles "/autoload"))
+                    (syntax-checkers (string-append vimfiles "/syntax_checkers")))
+               (copy-recursively "doc" doc)
+               (copy-recursively "autoload" autoload)
+               (copy-recursively "plugin" plugin)
+               (copy-recursively "syntax_checkers" syntax-checkers)
+               #t))))))
+    (synopsis "Syntax checking plugin for Neovim")
+    (description
+     "Vim-syntastic is a syntax checking plugin for Neovim.  It runs files through
+external syntax checkers and displays any resulting errors to the user.  This
+can be done on demand, or automatically as files are saved.  If syntax errors
+are detected, the user is notified.")))
+
 (define-public neovim
   (package
     (name "neovim")
-- 
2.12.2