From patchwork Mon Oct 16 09:15:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Efraim Flashner X-Patchwork-Id: 54865 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C435A27BBE9; Mon, 16 Oct 2023 10:19:08 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id E1C8527BBE2 for ; Mon, 16 Oct 2023 10:19:04 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qsJkL-0005oR-Di; Mon, 16 Oct 2023 05:18:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qsJkH-0005hu-7O for guix-patches@gnu.org; Mon, 16 Oct 2023 05:18:42 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qsJkG-0006X5-LS for guix-patches@gnu.org; Mon, 16 Oct 2023 05:18:40 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qsJkd-0007AL-MU; Mon, 16 Oct 2023 05:19:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#60029] [PATCH v3 3/3] gnu: Have vim packages use vim-build-system. Resent-From: Efraim Flashner Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, glv@posteo.net, cox.katherine.e+guix@gmail.com, me@bonfacemunyoki.com, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Mon, 16 Oct 2023 09:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60029 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60029@debbugs.gnu.org Cc: paren@disroot.org, me@jonscoresby.com, Efraim Flashner , Efraim Flashner , Guillaume Le Vaillant , Katherine Cox-Buday , Munyoki Kilyungi , jgart X-Debbugs-Original-Xcc: Efraim Flashner , Guillaume Le Vaillant , Katherine Cox-Buday , Munyoki Kilyungi , jgart Received: via spool by 60029-submit@debbugs.gnu.org id=B60029.169744790327473 (code B ref 60029); Mon, 16 Oct 2023 09:19:03 +0000 Received: (at 60029) by debbugs.gnu.org; 16 Oct 2023 09:18:23 +0000 Received: from localhost ([127.0.0.1]:55238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsJjx-000792-R9 for submit@debbugs.gnu.org; Mon, 16 Oct 2023 05:18:23 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:55618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsJjo-00078G-Jj for 60029@debbugs.gnu.org; Mon, 16 Oct 2023 05:18:20 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-406650da82bso39387455e9.3 for <60029@debbugs.gnu.org>; Mon, 16 Oct 2023 02:17:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697447862; x=1698052662; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=HCWrpTbgNberJlppsBlhgohRSFXTtVQhXnXTLS4lFLk=; b=ej9j1AwFYEQTNRo0vPztHHMcLD8QtAuAbzSMkmG8nf9ytsoXrTAHeFa4SpYsEiIvBW R1RtFrYH6/FlWiBnQIf1/d35L6ZssraVSdfHDAuSYw9I7vDEgqDHtGa8spRC9VpUW2nC OIFEFBpmflgjgbbILgeo4aud8CMcOevIX4d9nVB8ULYy2a8VZseZchOlKnw2zIbVOS/l 0Iexr5keY/AUElYBa4Sdp025/sxe8vlviPXWegM12aSCWoFPAGwiTb9/u1VTTB09S5Nj eBQ1L+J76UXcZqP1+PgkxG3EKCoVbugVuKJFUV8tG7B3vXRWmoP5LCILWWg5Q3GWkvJB 306w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697447862; x=1698052662; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HCWrpTbgNberJlppsBlhgohRSFXTtVQhXnXTLS4lFLk=; b=fvADCu7Os0Cjh4BzrJl5QSyl3TzLmj8QawYBndknNTzQ++uQGudBGvUiKgf9gZ4PU1 7fri7GACoVYbIkyfW9Jipw77YBDQVynX+bvLdjC28cm8cuS7fNajf/ZsLfViKFRVbpbr McdZIX1hP6pRQcXgymA8ocui9eLHpmsAJfySqBkFzfSjQakqH7a5KJQ5lMz2s8WFfxTi jGAG7W674Kbpmp3wCGVi94p9IK0vu3PJuxymCJvI40TeXvVj4kHYUZa3uhgiilxnyDJB QBZ98XvMn32fXL9tMj9TbIDymvYhyQTnpJwRDOylNMVzKgT9jBPUpvGRjisRBYmBsql4 23LQ== X-Gm-Message-State: AOJu0YwUErsYTtNlSDGAglcgBD2M8JSen+5lYMnTtxAv1/6RnkiQJ/E0 FBPog0AAp0xLMyV2kOnleMbuWw3y3EixEg== X-Google-Smtp-Source: AGHT+IHQTpvyyfKJb3Ngs5ZHtCxwt8doU/1fSL2mPoA1zMUVOdL+i/+GMnuROQvJxcJQP6EXiZSDoQ== X-Received: by 2002:a05:6000:4e1:b0:31f:fdd8:7d56 with SMTP id cr1-20020a05600004e100b0031ffdd87d56mr26162400wrb.12.1697447861929; Mon, 16 Oct 2023 02:17:41 -0700 (PDT) Received: from localhost ([31.210.180.106]) by smtp.gmail.com with ESMTPSA id q14-20020adfcb8e000000b003296b488961sm26017551wrh.31.2023.10.16.02.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 02:17:41 -0700 (PDT) From: Efraim Flashner Date: Mon, 16 Oct 2023 12:15:13 +0300 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Jonathan Scoresby * gnu/packages/vim.scm (vim-neocomplete, vim-neocomplete-snippets, vim-neosnippet, vim-scheme, vim-luna, vim-fugitive, vim-airline, vim-airline-themes, vim-syntastic, neovim-syntastic, vim-solarized, vim-rainbow, editorconfig-vim, neovim-packer, vim-guix-vim, vim-asyncrun, vim-dispatch, vim-gemini-vim, vim-eunuch, vim-slime, vim-vlime, vim-paredit, vim-surround, vim-gnupg, vim-ctrlp, vim-mucomplete, vim-gitgutter, vim-characterize, vim-tagbar, vim-nerdtree, vim-nerdcommander): [build-system]: Switch to vim-build-system. [arguments]: Adjust accordingly. * gnu/packages/code.scm (global)[arguments]: Move vim files to their new location. * gnu/packages/lisp.scm (txr), * gnu/packages/mail.scm (msmtp), * gnu/packages/rust-apps.scm (skim), * gnu/packages/vim.scm (vifm), * gnu/packages/wm.scm (fluxbox): Same. Co-authored-by: Efraim Flashner Signed-off-by: Efraim Flashner --- gnu/packages/code.scm | 5 +- gnu/packages/lisp.scm | 5 +- gnu/packages/mail.scm | 3 +- gnu/packages/rust-apps.scm | 3 +- gnu/packages/vim.scm | 306 ++++++++++++++----------------------- gnu/packages/wm.scm | 3 +- 6 files changed, 124 insertions(+), 201 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 21a9f10a11..f53f7dc9e3 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -237,8 +237,9 @@ (define-public global ; a global variable (lambda _ ;; Install the plugin files in the right place. (let* ((data (string-append #$output "/share/gtags")) - (vim (string-append #$output - "/share/vim/vimfiles/plugin")) + (vim (string-append + #$output + "/share/vim/vimfiles/pack/guix/start/global/plugin")) (lisp (string-append #$output "/share/emacs/site-lisp/" #$(package-name this-package) "-" #$(package-version this-package)))) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index c54a9b4b3a..e421ccc092 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1061,8 +1061,9 @@ (define-public txr '("txr-manpage.html" "txr-manpage.pdf"))))) (add-after 'install 'install-vim-files (lambda _ - (let ((syntax (string-append #$output - "/share/vim/vimfiles/syntax"))) + (let ((syntax (string-append + #$output + "/share/vim/vimfiles/pack/guix/start/txr/syntax"))) (install-file "tl.vim" syntax) (install-file "txr.vim" syntax))))))) (native-inputs diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index be458a2d92..e736c07e63 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1865,7 +1865,8 @@ (define-public msmtp (doc (string-append out "/share/doc/msmtp")) (msmtpq "scripts/msmtpq") (msmtpqueue "scripts/msmtpqueue") - (vimfiles (string-append out "/share/vim/vimfiles/syntax"))) + (vimfiles (string-append + out "/share/vim/vimfiles/pack/start/msmtp/syntax"))) (install-file (string-append msmtpq "/msmtpq") bin) (install-file (string-append msmtpq "/msmtp-queue") bin) (install-file (string-append msmtpqueue "/msmtp-enqueue.sh") bin) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 2f41ca4849..68b2122406 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -2151,7 +2151,8 @@ (define-public skim (bin (string-append out "/bin")) (share (string-append out "/share")) (man (string-append out "/share/man")) - (vimfiles (string-append share "/vim/vimfiles/plugin")) + (vimfiles (string-append + share "/vim/vimfiles/pack/guix/start/skim/plugin")) (bash-completion (string-append share "/bash-completions/completions")) (zsh-site (string-append share "/zsh/site-functions")) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index d2ea9b7ae1..c8eb2522c6 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -31,17 +31,17 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages vim) - #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) - #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system pyproject) + #:use-module (guix build-system vim) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages admin) ; For GNU hostname @@ -299,12 +299,9 @@ (define-public vim-neocomplete (sha256 (base32 "1h6sci5mhdfg6sjsjpi8l5li02hg858zcayiwl60y9j2gqnd18lv")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "neocomplete")) (synopsis "Next generation completion framework for Vim") (description "@code{neocomplete}, an abbreviation of 'neo-completion with cache', @@ -332,10 +329,9 @@ (define-public vim-neosnippet-snippets (sha256 (base32 "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("neosnippets" "share/vim/vimfiles/")))) + (list #:plugin-name "neosnippet-snippets")) (synopsis "Snippets for neosnippet") (description "@code{neosnippet-snippets} provides standard snippets for the Vim plugin @@ -361,17 +357,9 @@ (define-public vim-neosnippet (sha256 (base32 "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("ftdetect" "share/vim/vimfiles/") - ("ftplugin" "share/vim/vimfiles/") - ("indent" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("rplugin" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "neosnippet")) (synopsis "Snippet support for Vim") (description "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim. @@ -400,12 +388,9 @@ (define-public vim-scheme (sha256 (base32 "04h946vr4f8wxap3wzqs69y2v8n50g2zbk22jsg2kxr4c01z5cbw")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("ftplugin" "share/vim/vimfiles/") - ("indent" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "vim-scheme")) (synopsis "Scheme syntax for Vim") (description "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).") @@ -428,10 +413,9 @@ (define-public vim-luna (sha256 (base32 "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("colors" "share/vim/vimfiles/")))) + (list #:plugin-name "luna")) (synopsis "Dark color theme for Vim") (description "@code{vim-luna} is a dark color theme for Vim.") @@ -455,11 +439,9 @@ (define-public vim-context-filetype (sha256 (base32 "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("doc" "share/vim/vimfiles/") - ("autoload" "share/vim/vimfiles/")))) + (list #:plugin-name "context_filetype")) (synopsis "Context filetype library for Vim") (description "@code{vim-context-filetype} is context filetype library for Vim script.") @@ -479,15 +461,9 @@ (define-public vim-fugitive (file-name (git-file-name name version)) (sha256 (base32 "138290g2aph1jjhaza6biky5qi4ka6435s01bwxivllgb53g3irc")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("ftdetect" "share/vim/vimfiles/") - ("ftplugin" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "fugitive")) (home-page "https://github.com/tpope/vim-fugitive") (synopsis "Vim plugin to work with Git") (description "Vim-fugitive is a wrapper for Vim that complements the @@ -509,12 +485,9 @@ (define-public vim-airline (sha256 (base32 "1aksmr73648pvyc75pfdz28k2d4ky52rn7xiwcv7lz87q3vqld7k")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "airline")) (synopsis "Statusline for Vim") (description "@code{vim-airline} is an extensible statusline for Vim. @@ -540,12 +513,9 @@ (define-public vim-airline-themes (sha256 (base32 "1sb7nb7j7bz0pv1c9bgdy0smhr0jk2b1vbdv9yzghg5lrknpsbr6")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "airline-themes")) (synopsis "Collection of themes for Vim-airline") (description "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.") @@ -565,13 +535,9 @@ (define-public vim-syntastic (file-name (git-file-name name version)) (sha256 (base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("syntax_checkers" "share/vim/vimfiles/")))) + (list #:plugin-name "syntastic")) (synopsis "Syntax checking plugin for Vim") (description "Vim-syntastic is a syntax checking plugin for Vim. It runs files through @@ -581,6 +547,17 @@ (define-public vim-syntastic (home-page "https://github.com/vim-syntastic/syntastic") (license license:wtfpl2))) +(define-public neovim-syntastic + (package + (inherit vim-syntastic) + (name "neovim-syntastic") + (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 vim-solarized (let ((commit "62f656a02f93c5190a8753159e34b385588d5ff3") (revision "1")) @@ -596,11 +573,15 @@ (define-public vim-solarized (file-name (git-file-name name version)) (sha256 (base32 "0001mz5v3a8zvi3gzmxhi3yrsb6hs7qf6i497arsngnvj2cwn61d")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("vim-colors-solarized/colors" "share/vim/vimfiles/") - ("vim-colors-solarized/doc" "share/vim/vimfiles/")))) + (list + #:plugin-name "solarized" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "vim-colors-solarized")))))) (home-page "https://github.com/altercation/vim-colors-solarized") (synopsis "Solarized color scheme for Vim") (description @@ -631,9 +612,15 @@ (define-public vim-rainbow (file-name (git-file-name name version)) (sha256 (base32 "1jya8wwlkmgs89hndrq6gsaskhk9g0fh62wdib8v9vz2x5g3738z")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan '(("opt" "share/vim/vimfiles/pack/rainbow/")))) + (list + #:plugin-name "rainbow" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "opt/rainbow")))))) (home-page "https://github.com/mason1920/rainbow") (synopsis "Rainbow Parentheses Improved") (description @@ -656,12 +643,11 @@ (define-public editorconfig-vim (sha256 (base32 "0mp80bi2m56bb93szw87vy6q5s85yk9g91sl4pr51316rgdv5kkv")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list + #:plugin-name "editorconfig" + #:vim? #t)) (home-page "https://editorconfig.org/") (synopsis "EditorConfig plugin for Vim") (description "EditorConfig makes it easy to maintain the correct coding @@ -686,11 +672,9 @@ (define-public neovim-packer (sha256 (base32 "1xn08z3a21mgfvp5i1nv57jnldwxwnl5nkryiff3zc99b1mizigp")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - (list #:install-plan - #~'(("lua" "share/nvim/site/pack/guix/start/packer.nvim/") - ("doc" "share/nvim/site/pack/guix/start/packer.nvim/")))) + (list #:plugin-name "packer.nvim")) (home-page "https://github.com/wbthomason/packer.nvim") (synopsis "Plugin manager for Neovim") (description @@ -699,23 +683,6 @@ (define-public neovim-packer is based on Vim's builtin plugin support.") (license license:expat)))) -(define-public neovim-syntastic - (package - (inherit vim-syntastic) - (name "neovim-syntastic") - (arguments - '(#:install-plan - '(("autoload" "share/nvim/site/") - ("doc" "share/nvim/site/") - ("plugin" "share/nvim/site/") - ("syntax_checkers" "share/nvim/site/")))) - (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") @@ -889,12 +856,12 @@ (define-public vifm (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (vifm (string-append out "/share/vifm")) - (vimfiles (string-append out "/share/vim/vimfiles"))) + (vimfiles (string-append + out "/share/vim/vimfiles/pack/guix/start/vifm"))) (copy-recursively (string-append vifm "/colors") (string-append vimfiles "/colors")) (copy-recursively (string-append vifm "/vim") vimfiles) - (delete-file-recursively (string-append vifm "/colors")) (delete-file-recursively (string-append vifm "/vim")))))))) (native-inputs (list groff)) ; for the documentation @@ -986,17 +953,9 @@ (define-public vim-guix-vim (sha256 (base32 "013yn2n2nsspk12bldkc9xn4z4kjx9rvracbllc8i1nngldckxd0")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("compiler" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("indent" "share/vim/vimfiles/") - ("ftdetect" "share/vim/vimfiles/") - ("ftplugin" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "guix")) (home-page "https://git.sr.ht/~efraim/guix.vim") (synopsis "Guix integration in Vim") (description "This package provides support for GNU Guix in Vim.") @@ -1015,11 +974,13 @@ (define-public vim-asyncrun (sha256 (base32 "11zcw0sll6qg6ha0rr6n1cw5v73azvf7ycwn9lgiwa5cj7rrqjf4")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("plugin" "share/vim/vimfiles/") - ("doc/" "share/vim/vimfiles/doc" #:include ("asyncrun.txt"))))) + (list + #:plugin-name "asyncrun" + #:install-plan + #~'(("plugin" "share/vim/vimfiles/") + ("doc/" "share/vim/vimfiles/doc" #:include ("asyncrun.txt"))))) (home-page "https://github.com/skywind3000/asyncrun.vim") (synopsis "Run Async Shell Commands in Vim") (description "This plugin takes the advantage of new APIs in Vim 8 (and @@ -1041,12 +1002,9 @@ (define-public vim-dispatch (sha256 (base32 "1m8b5mn2zqlphzs6xfwykwmghf6p0wabrhpjmh7vav35jgcxc4wl")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "dispatch")) (home-page "https://github.com/tpope/vim-dispatch") (synopsis "Asynchronous build and test dispatcher") (description "Leverage the power of Vim's compiler plugins without being @@ -1071,11 +1029,9 @@ (define-public vim-gemini-vim (file-name (git-file-name name version)) (sha256 (base32 "05ffhhfahjqwxyrqmsinsahrs15wknzl2qbj8mznyv319mn2civ2")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - `(#:install-plan - '(("ftdetect" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "gemini")) (home-page "https://git.sr.ht/~torresjrjr/gemini.vim") (synopsis "Vim syntax highlighting plugin for Gemini") (description "This Vim plugin provides a Vim syntax highlighting plugin @@ -1099,11 +1055,9 @@ (define-public vim-eunuch (sha256 (base32 "1xadb22kd40swmww0qxmmkcpcq6viy8l167pjck5q32hfngll5d3")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "eunuch")) (home-page "https://github.com/tpope/vim-eunuch") (synopsis "Vim sugar for the UNIX shell commands") (description "Vim sugar for the UNIX shell commands that need it the most. @@ -1127,13 +1081,9 @@ (define-public vim-slime (file-name (git-file-name name version)) (sha256 (base32 "0k4b629jn6xlxyjxdl3cgm06v9dmx967rqnslv5m82c9kscwpyh4")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - `(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("ftplugin" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "vim-slime")) (home-page "https://technotales.wordpress.com/2007/10/03/like-slime-for-vim/") (synopsis "Vim plugin to give you some slime") (description "SLIME is an Emacs plugin to turn Emacs into a Lisp IDE. You @@ -1159,28 +1109,29 @@ (define-public vim-vlime (sha256 (base32 "1dfc1wyjsgkckrklkzvk4whaz3ahaka59rvm7rc724mabmk83pmp")) (file-name (git-file-name name version)))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("vim/autoload" "share/vim/vimfiles/") - ("vim/doc" "share/vim/vimfiles/") - ("vim/ftplugin" "share/vim/vimfiles/") - ("vim/syntax" "share/vim/vimfiles/") - ("vim/test" "share/vim/vimfiles/") - ;; This is so the Vimscript part of Vlime can find the lisp files. - ("lisp" "share/vim/") - ;; This is so lisp can load Vlime without the Vim part. - ("lisp" "share/common-lisp/source/vlime")) + '(#:plugin-name "vlime" #:phases (modify-phases %standard-phases - ;; Create a symbolic link to the .asd file so that - ;; (asdf:load-system "vlime") finds the system. - (add-after 'install 'link-asd + (add-after 'symlink-files 'install-lisp-files (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/share/common-lisp/systems/")) - (symlink (string-append out "/share/common-lisp/source/vlime/vlime.asd") - (string-append out "/share/common-lisp/systems/vlime.asd")))))))) + (let* ((out (assoc-ref outputs "out")) + (common-lisp (string-append out "/share/common-lisp"))) + ;; Create a symbolic link to the .asd file so that + ;; (asdf:load-system "vlime") finds the system. + (copy-recursively "lisp" (string-append common-lisp "/source/vlime")) + (mkdir-p (string-append common-lisp "/systems/")) + (symlink (string-append common-lisp "/source/vlime/vlime.asd") + (string-append common-lisp "/systems/vlime.asd"))))) + (add-after 'install 'symlink-files + (lambda* (#:key outputs plugin-name #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") + "/share/vim/vimfiles/pack/guix/start/" plugin-name) + (for-each (lambda (dir) + (symlink (string-append "./vim/" dir) dir)) + (list "after" "autoload" "doc" "ftplugin" "syntax")))))))) (propagated-inputs (list cl-alexandria cl-slime-swank @@ -1211,11 +1162,9 @@ (define-public vim-paredit (file-name (git-file-name name version)) (sha256 (base32 "07d5s20r0ssd7rir45vy0fqlci44gha1a81rcilgar227f3nw328")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "paredit")) (home-page "https://github.com/kovisoft/paredit") (synopsis "Vim plugin for structured editing of Lisp S-expressions") (description @@ -1237,11 +1186,9 @@ (define-public vim-surround (file-name (git-file-name name version)) (sha256 (base32 "1b0bd5m5lv1p4d299mrwjfs2gk0zqwyaqdaid9hs9yqlxnr8s5nf")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "surround")) (home-page "https://github.com/tpope/vim-surround") (synopsis "Vim plugin for easy quoting and parenthesizing") (description @@ -1262,12 +1209,9 @@ (define-public vim-gnupg "/vim-gnupg-v" version ".tar.gz")) (sha256 (base32 "02w8lgyyh7wgxysvmmcf9ja5c06vrbyh3alzvv97x8cfhrp0skn7")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "vim-gnupg")) (home-page "https://www.vim.org/scripts/script.php?script_id=3645") (synopsis "Vim plugin for transparent editing of gpg encrypted files") (description @@ -1293,12 +1237,9 @@ (define-public vim-ctrlp (file-name (git-file-name name version)) (sha256 (base32 "0n68hg59h4rjn0ziqbsh5pr03l3kr98zk54659ny6vq107af1w96")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "ctrlp.vim")) (home-page "https://ctrlpvim.github.io/ctrlp.vim/") (synopsis "Fuzzy file, buffer, mru, tag, etc. finder for Vim") (description @@ -1330,12 +1271,9 @@ (define-public vim-mucomplete (file-name (git-file-name name version)) (sha256 (base32 "054g80n09mmxxlh8xaic29bn8bgn3clvv732rymljdyvbj1mlhwd")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "MUcomplete")) (home-page "https://github.com/lifepillar/vim-mucomplete") (synopsis "MUcomplete is a minimalist autocompletion plugin for Vim") (description @@ -1359,12 +1297,9 @@ (define-public vim-gitgutter (file-name (git-file-name name version)) (sha256 (base32 "0zpa7cs59a8sq0k3frlf9flpf30jcn239yrpmv40r7nqvxzglbpl")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "gitgutter")) (synopsis "Vim plugin which shows a git diff in the sign column") (description "A Vim plugin which shows a git diff in the sign column. It shows which @@ -1388,12 +1323,9 @@ (define-public vim-characterize (file-name (git-file-name name version)) (sha256 (base32 "0ppsbsd696ih40d9f76mdl9sd9y7p2pvm65qmvq4b2zhkv4xbpxz")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "characterize")) (home-page "https://github.com/tpope/vim-characterize") (synopsis "Vim plugin for showing Unicode character metadata") (description @@ -1422,13 +1354,9 @@ (define-public vim-tagbar (file-name (git-file-name name version)) (sha256 (base32 "1fqfs8msmr6d4kpvxqp14sdjvp5fj52q5w5kz71myzcd4kqzmirp")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")) + '(#:plugin-name "tagbar" #:phases (modify-phases %standard-phases (add-after 'unpack 'link-universal-ctags @@ -1463,15 +1391,9 @@ (define-public vim-nerdtree (file-name (git-file-name name version)) (sha256 (base32 "1si8qla86ng8cffbmfrk9gss0i3912yw0f1ph4bsiq0kk837lccp")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - '(#:install-plan - '(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("lib" "share/vim/vimfiles/") - ("nerdtree_plugin" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("syntax" "share/vim/vimfiles/")))) + (list #:plugin-name "nerdtree")) (home-page "https://github.com/preservim/nerdtree") (synopsis "Tree explorer plugin for Vim") (description @@ -1493,13 +1415,9 @@ (define-public vim-nerdcommenter (file-name (git-file-name name version)) (sha256 (base32 "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd")))) - (build-system copy-build-system) + (build-system vim-build-system) (arguments - (list - #:install-plan - #~`(("autoload" "share/vim/vimfiles/") - ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/")))) + (list #:plugin-name "nerdcommenter")) (home-page "https://github.com/preservim/nerdcommenter") (synopsis "Vim plugin for easy commenting of code") (description diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 8576d0297d..f3ad1a5635 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1083,7 +1083,8 @@ (define-public fluxbox (add-after 'install 'install-vim-files (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (syntax (string-append out "/share/vim/vimfiles/syntax"))) + (syntax (string-append + out "/share/vim/vimfiles/pack/guix/start/fluxbox/syntax"))) (copy-recursively "3rd/vim/vim/syntax" syntax) #t))) (add-after 'install 'install-xsession