guix-devel
[Top][All Lists]
Advanced

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

Accuracy of importers?


From: Ludovic Courtès
Subject: Accuracy of importers?
Date: Thu, 28 Oct 2021 09:02:27 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hello Guix!

As I’m preparing my PackagingCon talk and wondering how language package
managers could make our lives easier, I thought it’d be interesting to
know how well our importers are doing.

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?

   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?)

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

Among those, which importers provide source that differs from what you’d
get from upstream’s checkout or release tarballs?  My guess:

   pypi (see LastPyMile paper)
   elpa (gives hosted tarballs that can differ from upstream repo)
   gem (similar to PyPI)
   npm (ditto)

What about licensing info: which ones provide accurate licensing info?
My guess:

   gnu
   pypi
   cpan
   cran
   elpa
   go (?)
   cran
   crate (?)
   texlive
   opam (?)
   minetest (?)

TIA! :-)

Ludo’.



reply via email to

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