Subject: [bug#45972] Julia importer?

From: Nicolò Balzarotti <[email-masked]>
Date: Sun, 31 Jan 2021 21:00:21 +0100

> I mean the correct way is to write a TOML parser, probably using PEG.
> As it is done with the other importers.
> It is a piece of work.  Not especially hard but it could take some time.

That wouldn't be too hard, but also it would not be enough.  As you can
see in [fn:1], there's just the list of dependencies, but no info on how
to get them, so parsing the Julia General Registry [fn:2] is still required.

> So instead, the question is, using a bit of Julia glue and Guile glue,
> is it possible to extract the necessary information to have a Guix
> package?
>
> Well, maybe these glue code is the same as writing a TOML parser. :-)

This might be feasible, but as I said above, unfortunately I don't think
that a TOML parser would be enough.  But asking "Pkg3" to resolve
dependencies for us, yes, this makes sense.

> One thing is how to deal with ’Manifest.toml’.  And pre-compiled
> substitutes do not make too much sense in the Julia world.  Well, I do
> not know how these Manifest.toml overlap with how Guix works.
WDYM? Julia uses .ji files (which are the analogoues of .go for guile
and .pyc for python), if this is what you are referring to.

I'm just ignoring Manifest.toml, which should be the same as venv in the
python world.

[fn:1] https://github.com/JuliaLang/TOML.jl/blob/master/Project.toml
[fn:2] https://github.com/JuliaRegistries/General