guix-devel
[Top][All Lists]
Advanced

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

Re: Accuracy of importers?


From: zimoun
Subject: Re: Accuracy of importers?
Date: Thu, 28 Oct 2021 11:06:35 +0200

Hi,

On Thu, 28 Oct 2021 at 09:02, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

> My understanding is that most of them require manual intervention—i.e.,
> one has to tweak what ‘guix import’ produces, even if we ignore
> synopsis/description/license, to set the right inputs, etc.  If we were
> to estimate the fraction of imported packages for which manual changes
> are needed, what would it look like?

Manual intervention depends on how it is packaged upstream, i.e., the
availability of metadata.  Therefore, it depends on the upstream
archive.  PyPI is messier than CRAN for instance but I find hard to back
this claim with numbers – just intuition. :-)


>    importer     fraction of imported packages needing changes
>
>    gnu          90% (doesn’t know about dependencies)
>    pypi         50% (some miss source distro, “sdist”; some have
>                      non-Python deps)
>    cpan         ?
>    hackage      ?
>    stackage     (Lars?)
>    egg          (Xinglu?)
>    elpa         (Nicolas?)
>    gem          ?
>    go           (Sarah? Leo? Raghav?)
>    cran         5% (Ricardo? Simon? seems to almost always work?)
>    crate        10% (Efraim?)
>    texlive      (Ricardo? Thiago? Marius?)
>    opam         (Julien?)
>    minetest     (Maxime? Vivien?)
>    julia (WIP)  (Simon?)
>    npm (WIP)    (Jelle? Timothy?)

For the ones I use “cran” and “cran -a bioconductor“, and from the
feedback I get from users in my lab, one regular complaint is the
missing prefix ’license:’ – if that’s the issue, it means the importer
works pretty well. :-)

About Julia, it is often not clear how to extract “dependencies”, which
means the run-time ones vs the test-time other ones.


> (Lower is better.)  What would be your estimate?

For all cases, to have a good estimation, I would examine how many
packages already in Guix have a non-default ’argument’ and modified
phases.  It means that these packages require manual fix.

Missing or incorrect dependencies happen.  But they are impossible to
evaluate.  However, special ’argument’ are something eval-able and for
now, none importer tweaks that, IIUC, thus it would sketch the picture
«how well our importers are doing».

For instance, filtered on build-system.  For sure, all
python-build-system packages do not come from PyPI, r-build-system from
CRAM/Bioconductor, etc. but, IMHO, such stats would provide a good
estimation for how upstream archives ELPA, PyPI, CRAN/Bioconducor,
Hackage/Stackage, TexLive, etc. are ready for Guix without manual
intervention.


Cheers,
simon



reply via email to

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