From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id gHJgNFKNmGMgVQEAbAwnHQ (envelope-from ) for ; Tue, 13 Dec 2022 15:33:54 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id ADl0NFKNmGN6MwEAauVa8A (envelope-from ) for ; Tue, 13 Dec 2022 15:33:54 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 867F12FFF for ; Tue, 13 Dec 2022 15:33:54 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p56Lo-0008IS-4L; Tue, 13 Dec 2022 09:33:44 -0500 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 1p50Fj-0006Pv-1M for guix-patches@gnu.org; Tue, 13 Dec 2022 03:03:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p50Fi-0000cP-Ob for guix-patches@gnu.org; Tue, 13 Dec 2022 03:03:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p50Fi-0001MH-Hm for guix-patches@gnu.org; Tue, 13 Dec 2022 03:03:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60029] [PATCH core-updates 0/4] vim-build-system Resent-From: Jonathan Scoresby Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 13 Dec 2022 08:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 60029 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60029@debbugs.gnu.org Cc: Jonathan Scoresby X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16709185765171 (code B ref -1); Tue, 13 Dec 2022 08:03:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Dec 2022 08:02:56 +0000 Received: from localhost ([127.0.0.1]:58772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p50Fb-0001LK-3B for submit@debbugs.gnu.org; Tue, 13 Dec 2022 03:02:55 -0500 Received: from lists.gnu.org ([209.51.188.17]:48250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p4tJz-0000jJ-FF for submit@debbugs.gnu.org; Mon, 12 Dec 2022 19:39:00 -0500 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 1p4tJz-0005rm-69 for guix-patches@gnu.org; Mon, 12 Dec 2022 19:38:59 -0500 Received: from mout-p-103.mailbox.org ([80.241.56.161]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1p4tJw-0006kE-35 for guix-patches@gnu.org; Mon, 12 Dec 2022 19:38:58 -0500 Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4NWKP21PCKz9sRv; Tue, 13 Dec 2022 01:38:46 +0100 (CET) From: Jonathan Scoresby Date: Mon, 12 Dec 2022 17:38:26 -0700 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4NWKP21PCKz9sRv Received-SPF: pass client-ip=80.241.56.161; envelope-from=me@jonscoresby.com; helo=mout-p-103.mailbox.org X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 13 Dec 2022 03:02:53 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Tue, 13 Dec 2022 09:33:37 -0500 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1670942034; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Vh2+jpyVyks5bdUKDQd9uJn8ocquhaXnF64U4FYitJg=; b=TTkcFn1yF8jJ4c4LE7AY36F55O+doTGgvOGtk7T5C9lsg7XsPBwTkkiW8gWhFXrDC0kVzu 53WNK9jB1R2mxxrL6Y+2wGyD3+WLsp1eWosQKrSpItJyeVMvf3jUJus6vOXRUWWaq8oyoH CxbKrJxOt08wZBrlQDYMwaTC/+eB5H10OeEfNIEKOOQgYGmp+kbl1PGbJxU/qMIdKS9Rz+ PrA6sIwxP19E0nJwhb6FIMUVRtXWmpJmDmBuko5swiiu54iM5Cn29e/PbiGUPT4OpvIXU8 QmaqeCEfsuAu9PlqHKqe9OKHy8rkhSd+vdXSX1lpF7W54NSL4g4XVDzHxZ19EQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1670942034; a=rsa-sha256; cv=none; b=ANlC3WqR93AVSKr1LPITGO4wWFhZSyN8qERgSRb+80rjpGhZtyIo7bJnWXtsPq6MkVHENL QzVYHjJIN3e7UdtCdRSpehQbs1IsP60vvpJ6oOnDk1Yw2PDnbMzujxJ1THqauG39tspDog yBJpPiB7O6FVx2G7XWDqm4zQsZzGVvfbaM0LaJexXzTI79KClsDgV+KturBfg3QHcyMT4R PR3LDuNunrWjBgUsDyaRTTXP3n4jhJk3WwlNTFxpGByf/VLaFQbOsbx9f4fc8d0xywOebG QTNXx6nfYFbVOu6tFFN7SQ2ETUFA2FHmlzg5g4jm98Ax8H3M2hbB9fNcGbUYzA== X-Migadu-Spam-Score: 0.13 X-Spam-Score: 0.13 X-Migadu-Queue-Id: 867F12FFF X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none X-TUID: R12z1o9H3cNp Hey guix! I know there have been attempts to do this in the past, and I know that emacs is the thing to use in the guix world, but I made a build system for vim plugins. I had a few goals in this attempt: 1. Better understand Guile Scheme and Guix, as I am new to both 2. Make help tags available on vim plugins installed with guix (see issues 51540 30385) 3. Take advantage of vim's built-in package manager 4. Make installing plugins for vim and neovim as easy as possible There are a lot of plugin managers for vim, but I figured that if guix is such a great package manager, you shouldn't need third party solutions. I thought of a lot of ways to separate vim and neovim plugins. It's not neccesarily a trivial problem because: 1. neovim can use vim plugins, but not usually vice-versa. 2. I wanted to use vim to generate helptags for vim plugins and neovim to generate helptags for neovim plugins as the implemenations are slightly different and I wanted avoid any possible errors, but I also didn't want to have to include neovim as an input when unneccesary. 3. I wanted there to be as much code reuse as possible. For these reasons, I decided that for plugins that are compatible with both, a package would specify a neovim output. For both vim and neovim, all plugins are installed to the "pack" folder where neovim and vim both look for packages automatically. By default, plugins are installed to the "start" folder, but that can be changed for a specific package using the "mode" keyword. I based this off of 'core-updates' just because I made a slight change to the copy-build-system so that files could potentially be installed to an output other than "out." I believe this causes a lot of packages to rebuild even though it doesn't have any actuall effects. If this doesn't belong in core-updates, let me know. Jonathan Scoresby (4): guix: copy-build-system: allow install plan directives to specify output gnu: vim: add relevant locations to 'package-path' instead of 'runtime-path' guix: add vim-build-system gnu: have vim packages use vim-build-system gnu/packages/aux-files/guix.vim | 10 +- gnu/packages/vim.scm | 234 +++++-------------------------- guix/build-system/vim.scm | 160 +++++++++++++++++++++ guix/build/copy-build-system.scm | 12 +- guix/build/vim-build-system.scm | 137 ++++++++++++++++++ 5 files changed, 345 insertions(+), 208 deletions(-) create mode 100644 guix/build-system/vim.scm create mode 100644 guix/build/vim-build-system.scm base-commit: 6454208222d6e7760daa964b590f35ea75ffe0e5 -- 2.38.1