Hi, On Thu, 28 Oct 2021 at 09:02, Ludovic Courtès <ludovic.cour...@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