guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bringing the Neovim package up to date


From: HiPhish
Subject: Bringing the Neovim package up to date
Date: Wed, 05 Sep 2018 20:16:39 +0200

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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]