unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Nicolas Graves via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org>
To: guix-devel@gnu.org
Cc: zimoun <zimon.toutoune@gmail.com>,
	"Jean-Baptiste Volatier" <jbv@pm.me>,
	"Nicolò Balzarotti" <anothersms@gmail.com>,
	"Ludovic Courtès" <ludo@gnu.org>
Subject: Follow-up on julia import script
Date: Fri, 24 Feb 2023 17:35:00 +0100	[thread overview]
Message-ID: <87a61358ej.fsf@ngraves.fr> (raw)


Hi all,

I asked a few questions today on the IRC channel about a julia import
script.

Just to summarize and be able to follow the subject later:
- I was looking for a way to write a julia import script base on
information in julia general package repository, which can be quite
simple if we have a functional guile toml/ini parser included (I
couldn't get my parser to work properly, but that might be fixable).

- jvb shared his julia importer code here : https://gitlab.com/vjb/guix.jl

- Apparently Nicolo also has a similer code.

- jvb and zimoun defended that the Julia ecosystem evolves so quickly
  that writing a manual functional julia import script might be
  difficult to maintain, in particular because Julia uses an advanced
  resolver for its compatibilities.

- My approach was a bit different but indeed didn't have the ambition to
  resolve compatibilities between packages (I need to check that but the
  check or the build phase should fail it packages are incompatible,
  thus when trying to build the imported package, we should now which
  packages should be updated if necessary). If we only restrain imports
  to the general package repository, then the task becomes much more
  simple :
  - from the package name, you can generate the uri of the following
  files
  - parse Project.toml to get source information
  - parse Versions.toml to get source hash information
  - parse Deps.toml to get information about dependencies
  Well there is no package description or such, but I think it makes a
  decent start for writing package information. These are all unnested
  toml/ini files, so if we manage to parse them with a simple function,
  I guess we could have such a small / limited importer.
  I do have the very beginning of a script here, but couldn't finish the
  parser :
  https://paste.sr.ht/~ngraves/bbeb74a720e717319344ee3c3e6ea477b378068f/manage

- Maybe we could combine both by
  - using this limited importer if julia is not in the PATH
  - using a proper guix.jl importer if julia and the importer are present in the PATH
  or something like that ?

I do not have a strong opinion about which option is more suitable, but
would greatly profit from having a functional and supported julia import
script. Sorry for inaccuracies if there are some, I do this from memory
mostly.

-- 
Best regards,
Nicolas Graves


             reply	other threads:[~2023-02-24 16:35 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-24 16:35 Nicolas Graves via Development of GNU Guix and the GNU System distribution. [this message]
2023-02-24 18:21 ` Follow-up on julia import script Simon Tournier
2023-02-25 10:11   ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.
2023-02-25 12:19     ` Simon Tournier
2023-02-25 18:23       ` Ludovic Courtès
2023-02-27 10:14         ` Simon Tournier
2023-02-27 11:37           ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.
2023-02-27 13:46             ` Simon Tournier
2023-02-27 18:01               ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.
2023-02-28  9:25                 ` Simon Tournier
2023-03-06 11:23             ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.
2023-03-07 11:52               ` Simon Tournier
2023-03-15 12:43 ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.
2023-03-18 11:17   ` Nicolas Graves via Development of GNU Guix and the GNU System distribution.

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=87a61358ej.fsf@ngraves.fr \
    --to=guix-devel@gnu.org \
    --cc=anothersms@gmail.com \
    --cc=jbv@pm.me \
    --cc=ludo@gnu.org \
    --cc=ngraves@ngraves.fr \
    --cc=zimon.toutoune@gmail.com \
    /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).