From mboxrd@z Thu Jan 1 00:00:00 1970 From: HiPhish Subject: Bringing the Neovim package up to date Date: Wed, 05 Sep 2018 20:16:39 +0200 Message-ID: <33416237.peXBRamUYO@aleksandar-ixtreme-m5740> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53526) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxcML-0000Ak-0G for guix-devel@gnu.org; Wed, 05 Sep 2018 14:16:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxcMH-0006nh-1E for guix-devel@gnu.org; Wed, 05 Sep 2018 14:16:56 -0400 Received: from mout01.posteo.de ([185.67.36.65]:40442) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fxcMG-0006jr-M7 for guix-devel@gnu.org; Wed, 05 Sep 2018 14:16:52 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 19D0420ED2 for ; Wed, 5 Sep 2018 20:16:49 +0200 (CEST) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 425Bjp3Fqgz6tm8 for ; Wed, 5 Sep 2018 20:16:46 +0200 (CEST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Hello everyone, I have been using the Guix package manager on Kubuntu for a while now and I'm relatively familiar with it, so I wanted to try my hand on updating the Neovim package; Neovim is my package manager of choice and at the moment I'm using an apt PPA. I would like to get rid of the PPA and rely on Guix instead, using apt only for what is necessary for the system. Currently Neovim on Guix is at version 0.2.0, but the most recent release is 0.3.1; I want to update the package. I would be grateful is someone could assist me with guidance on this endeavour. The first thing I noticed is that the dependencies are wrong. It specifies Lua 5.2 as an input, and the corresponding Lua 5.2 libraries like lpeg. However, Neovim requires Lua 5.1, and Lua minor releases are not backwards-compatible. So this needs to be fixed, which also means that we need to define new packages. For lua5.1-lpeg and lua5.1-bitop this should be simple enough, just call the function that generates the package with lua-5.1 as the Lua version. The definition of lua5.1-libmpack would be a bit more involved, but still straight-forward. Another thing is that Neovim can be built both with Lua 5.1, or LuaJIT. Using LuaJIT would be preferable, is there a way to define the above libraries with lua-5.1 as input, but then swap it out for luajit in the definition of Neovim? On an unrelated note, the coding style always imports everything from a module. This makes it really hard for someone unfamiliar with Guix to know where the various procedures, variables and macros come from. Is there a reason you don't explicitly import identifiers with `#:select`? In my own code I always prefer that style because in a month I will have no idea where any of that stuff comes from.