unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: HiPhish <hiphish@posteo.de>
To: guix-devel@gnu.org
Subject: Bringing the Neovim package up to date
Date: Wed, 05 Sep 2018 20:16:39 +0200	[thread overview]
Message-ID: <33416237.peXBRamUYO@aleksandar-ixtreme-m5740> (raw)

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	other threads:[~2018-09-05 18:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-05 18:16 HiPhish [this message]
2018-09-10 12:27 ` Bringing the Neovim package up to date Ludovic Courtès
2018-09-11 11:12   ` HiPhish
2018-09-12 17:23     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=33416237.peXBRamUYO@aleksandar-ixtreme-m5740 \
    --to=hiphish@posteo.de \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).