From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id aMH3ONJujmAlmQAAgWs5BA (envelope-from ) for ; Sun, 02 May 2021 11:20:18 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id aPCfNNJujmAAXQAA1q6Kng (envelope-from ) for ; Sun, 02 May 2021 09:20:18 +0000 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 5DFD82AD2A for ; Sun, 2 May 2021 11:20:18 +0200 (CEST) Received: from localhost ([::1]:53550 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ld8Gv-0004Te-Ir for larch@yhetil.org; Sun, 02 May 2021 05:20:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39684) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ld8Gc-0004S8-JX for guix-devel@gnu.org; Sun, 02 May 2021 05:19:58 -0400 Received: from flashner.co.il ([178.62.234.194]:33446) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ld8GY-0004YK-Te for guix-devel@gnu.org; Sun, 02 May 2021 05:19:58 -0400 Received: from localhost (unknown [31.210.177.125]) by flashner.co.il (Postfix) with ESMTPSA id E44C040413; Sun, 2 May 2021 09:19:51 +0000 (UTC) Date: Sun, 2 May 2021 12:19:25 +0300 From: Efraim Flashner To: Jack Hill Subject: Re: Neovim plugin/addon packaging Message-ID: Mail-Followup-To: Jack Hill , guix-devel@gnu.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="7mcWISMqeVb2Dudp" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Received-SPF: pass client-ip=178.62.234.194; envelope-from=efraim@flashner.co.il; helo=flashner.co.il X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1619947218; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=H4tYekU3hwV1ph/zoKyzWYZ+YTXkCHrWMc5JtOLmAk8=; b=hfOFArQK10+GomeLyVj92/8g3TeE5xbRO/x00D2p6ub/KVPSr9GZQyStrf+W6afpPg6v7f 8c/MKdmsnmDMjZ5YUlwpMnJeMDjNJiM+TileMHvXabIu1hqahauVSXmys5YeHP+4kLrIvH pe/NxuOKqhPUqhRYo+NUXd7dXF10UuQKEnbHsohVw0Li9z9SDOiko26lc13VSJ63/Kno/B /5800mAUdBWqEz1f2mVxMk1OWK9Bc5Q0MCLXF3vP47RcemBUYgHvRX/Ej8zjdShUlBpOnx QFqCRq1QLuf2+oSOWiUaK36R4iqV/M1iDOAA38rQL4P72xHILmb/hMqlKTEBLQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1619947218; a=rsa-sha256; cv=none; b=udbCSrQ8jOwU960X2AYWHcsp8BoBFoahbE5fruN1hdRWM+wHWNaw1472ORfBZcZ+tVybDu VsV6T6uYYhQEwuEiRMPv/CvexFmkTpKp1RfJDqFaC728xaOd5ynJdB2QQUuYDe5JWbHpjc asZRoA+0dOecCofH8ev3/9CSlxYh8gGbtcJGTGCQkQslu6Vet8QfRPrSerFXZVFXiZLtGt OAb3UeaA4T1QY9Xbd9g/cPW2coEHl+lgyp/l0LYo6eDw0e5wCyJ9QijDFGI3qaoLtijBY3 6fbtHUJDpZ12A7wqtptFi2umSFy0ZZkGFjezaUHmgEMD90ClUhsnJ14Z6tU+ww== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -4.06 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 5DFD82AD2A X-Spam-Score: -4.06 X-Migadu-Scanner: scn0.migadu.com X-TUID: Td/QXPb1L0j/ --7mcWISMqeVb2Dudp Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, May 01, 2021 at 04:25:18PM -0400, Jack Hill wrote: > Thanks for your reply. >=20 > On Fri, 30 Apr 2021, Efraim Flashner wrote: >=20 > > On Fri, Apr 30, 2021 at 01:03:23AM -0400, Jack Hill wrote: > > > Greetings Guix, > > >=20 > > > I'd like to improve the experience of installing Neovim plugins/add-o= ns with > > > Guix. I've submitted #48112 [0] which adds an XDG_DATA_DIRS search pa= th so > > > nvim (the Neovim executable name) will be able to find plugins instal= led by > > > guix at =E2=80=A6/share/nvim/site. > >=20 > > I guess my first question is does it work? I think I first tried > > something similar for vim with 'share/vim/vimfiles' but it didn't > > actually work for vim. >=20 > Yes, it does work! I tested it with neovim-syntastic and a local > neovim-fugitive package both with a guix environment and manually > manipulated environment variables. >=20 > A difference between Neovim and Vim is that Neovim supports XDG_DATA_DIRS > (and XDG_CONFIG_DIRS) as real search paths while the environment variables > for Vim are single directories (compare `:help runtimepath` in the two > editors). >=20 > > > Currently, we only have one such package, neovim-syntastic. I'd like = to add > > > more. Many plugins are compatible with both vim and nvim. However, th= ey > > > search for plugins at different paths. Therefore, the vim-syntastic a= nd > > > neovim-syntastic packages, which use the copy-build-system, differ on= ly in > > > the destination directories of the install-plan (and changing "Vim" to > > > "Neovim" in the description). > > >=20 > > > My initial inclination is to remove the duplication of maintaining two > > > install-plans (and other arguments) by creating a procedure that woul= d take > > > as input a Vim package that uses copy-build-system and output a Neovim > > > package with the install-plan re-written. > > >=20 > > > Perhaps that solution would be overwrought. How would you recommend h= andling > > > this situation? > >=20 > > My first idea would be to have the one package install the files into > > both directories and combine them, but I feel like it falls apart when > > it comes to searching for vim/neovim plugins and naming. One package > > with two names? Call it vim-neovim-syntastic? > >=20 > > If vim/neovim move more apart and actually need separate plugins in the > > future then I guess it would make more sense to have two actual packages > > that can be installed by name (vim-foo and neovim-foo). >=20 > A combined package is an interesting suggestion. However, I share the > concern about searching for packages. Having packages that are compatible > with both editors use one naming scheme and ones that are compatible with > only one use a different naming scheme seems like a implementation detail > that would be better not to expose to me. >=20 > I drew inspiration for creating the Neovim package variants with a proced= ure > from the package-for-python2 and sbcl-package->ecl-package. Of course tho= se > procedures have build system support and aren't depending on a common usa= ge > pattern of copy-build-system. >=20 > Is it time a a vim-build-system? Perhaps not, but I'm still not sure what > the right way forward is. ng0/nikita thought about it a few years ago but I think the copy-build-system works well enough. I know for vim we need a vim profile hook to create the documentation, does neovim need something like that too? --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --7mcWISMqeVb2Dudp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmCObpoACgkQQarn3Mo9 g1FlWw/9FRqrNe9ayA1cdQNfIt5yTp1OpOodtR6AVnNlfd9MbzbybOG1SxSDnwna dhCutmRVVY3prV1QoWj6PkUdGhhVtpD9zqqhG84+fgbOXUPjCOHvTBhNwLozxG6S AikUbtQ2/yDfWiLiOEdgi1C5d6OW/Rxrj3xfwKiR7Kiat/KxwQcZZ7UQg2ajUpnn aaYXmgAPmJqRySIIPXFOAsMtHtU45eBy5im/RcX/h0M0//I1fPusQU/pQLEibawJ VDBPRTXfUecv7m+LNZ4k5yOE0XV0ZGV1N2A4KDeWURoNvHXm3ka1Bm9C/XALJZl8 UMug8gIlV0fBaClMbfdsi83yahGsxiNlyBHT+Zd/WVtSrLXJyskrBmveuhyu3uJR 4F+Xb7m55h7eRl9VTou7AqW9xm4/pjzPSTnUzyeV8En+vw+95htgHkW150WSeAvc YgMODFVj+ebWOmmhzp3ZXXibksh+IvELVuy13B942pfYOQXborB/qTCKwue96V80 qocr3ab9s8hsLxFRrTsaPiglrOF2fSC3KvOUNVsBCSjwn03hSwm8ltmwKQqbUAaU zBRDrnCCWprVKsMM9yZuE4//DnlBph4c2neEJYMDyJq0SE1DANHfOisOE6X+hkXe /nSR3jNzeAlS5A0jvFetHTvw7cSeyfa8HOAWMhkujgLnUid3h5g= =iGuS -----END PGP SIGNATURE----- --7mcWISMqeVb2Dudp--