mbox series

[bug#62202,0/21] Juliahub import script.

Message ID 871qlq89kz.fsf@ngraves.fr
Headers show
Series Juliahub import script. | expand

Message

Nicolas Graves March 15, 2023, 12:47 p.m. UTC
Hi guix!

 Took me quite more time than I would've liked, but I have a usable
 juliahub scheme import script!

 It seems there's still one edge case that isn't covered and revolves
 around when Julia packagers don't properly tag their git repos (I've
 only seen the case with SnoopPrecompile). There's the possibility to
 rely on tree commit hashes from the General repository (since this is a
 valid way to identify/store a git repo), but that needs some major
 changes in the way latest-repository-commit works. Otherwise, it needs
 to be done by hand. It might also not work for subpackages in
 directories that are up-to-date on juliahub but not yet on github, I
 haven't met this case yet.

 I'm sending a patch series in the coming minutes.

It's detailed since I haven't swauased all commits, for readability, but
I can squash it further if necessary.

Comments

Simon Tournier April 7, 2023, 4:14 p.m. UTC | #1
Hi Nicolas,

Sorry for the delay. (I was in holidays \o/ :-))

I am not able to apply the series.  Could you rebase it or provide here
by email the commit against which the series apply.  Thanks in advance.


On mer., 15 mars 2023 at 13:47, Nicolas Graves via Guix-patches via <guix-patches@gnu.org> wrote:

>  Took me quite more time than I would've liked, but I have a usable
>  juliahub scheme import script!

Really cool!  Thank you!


>  It seems there's still one edge case that isn't covered and revolves
>  around when Julia packagers don't properly tag their git repos (I've
>  only seen the case with SnoopPrecompile). There's the possibility to
>  rely on tree commit hashes from the General repository (since this is a
>  valid way to identify/store a git repo), but that needs some major
>  changes in the way latest-repository-commit works. Otherwise, it needs
>  to be done by hand. It might also not work for subpackages in
>  directories that are up-to-date on juliahub but not yet on github, I
>  haven't met this case yet.
>
>  I'm sending a patch series in the coming minutes.

Well, I have not read all series. :-)

Cheers,
simon
Ludovic Courtès April 8, 2023, 10:07 p.m. UTC | #2
Hi!

Nicolas Graves <ngraves@ngraves.fr> skribis:

>  Took me quite more time than I would've liked, but I have a usable
>  juliahub scheme import script!
>
>  It seems there's still one edge case that isn't covered and revolves
>  around when Julia packagers don't properly tag their git repos (I've
>  only seen the case with SnoopPrecompile). There's the possibility to
>  rely on tree commit hashes from the General repository (since this is a
>  valid way to identify/store a git repo), but that needs some major
>  changes in the way latest-repository-commit works. Otherwise, it needs
>  to be done by hand. It might also not work for subpackages in
>  directories that are up-to-date on juliahub but not yet on github, I
>  haven't met this case yet.
>
>  I'm sending a patch series in the coming minutes.
>
> It's detailed since I haven't swauased all commits, for readability, but
> I can squash it further if necessary.

I’ll let Simon comment on the actual code since I’m not a Julia person.
:-)

Some more general comments:

  • Please make sure to document it in ‘doc/guix.texi’ under “Invoking
    guix import”, following the same template as the others there.

  • Please write ‘tests/juliahub.scm’.  I recommend the same strategy as
    ‘tests/cpan.scm’, which is to mock the upstream HTTP server.

  • Prefer (srfi srfi-41) over (ice-9 streams) (see rationale at
    <https://srfi.schemers.org/srfi-41/srfi-41.html>).

  • Prefer (srfi srfi-71) over (srfi srfi-11) for multiple-value
    bindings.

Thanks,
Ludo’.