Nicolas Goaziou <m...@nicolasgoaziou.fr> writes:
> Hello, > > Simon Tournier <zimon.touto...@gmail.com> writes: > >> Other said, any objection to go from this pattern: >> >> --8<---------------cut here---------------start------------->8--- >> (define-public texlive-foo >> (package >> (name "texlive-foo") >> (version (number->string %texlive-revision)) >> (source (origin >> (method svn-multi-fetch) >> (uri (svn-multi-reference >> (url (string-append "svn://www.tug.org/texlive/tags/" >> %texlive-tag "/Master/texmf-dist")) >> (locations '("/metafont/" >> "/fonts/source/public/modes/")) >> (revision %texlive-revision))) >> (file-name (string-append name "-" version "-checkout")) >> (sha256 >> (base32 >> "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")))) >> (build-system gnu-build-system) >> (arguments >> `(#:tests? #f ; no test target >> #:phases >> [...] >> --8<---------------cut here---------------end--------------->8--- >> >> >> to this pattern: >> >> --8<---------------cut here---------------start------------->8--- >> (define-public texlive-foo >> (package >> (inherit (simple-texlive-package >> "texlive-foo" >> (list "/tex/generic/foo") >> (base32 >> "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") >> #:trivial? #t)) >> --8<---------------cut here---------------end--------------->8--- >> >> It is about ~35 packages, if I count correctly. >> >> WDYT? > > I think this is necessary but not sufficient. > > 1. "#:trivial? #t" means we're giving up generating ".sty" files from > source; Trivial should only ever be used for packages where there aren’t any sources to build from. > 2. Some affected packages are also missing propagated inputs (e.g., > texlive-latex-graphics for texlive-latex-fncychap); Correct. The old importer didn’t know about dependencies. The newer importer uses tlpdb to get a list of dependencies. > 3. Some affected package also need to be renamed > (texlive-latex-fncychap, texlive-latex-framed). > > AFAIU, this changes will probably ease time travelling, but the massive > rebuild it will entail will have to be repeated for the other steps. > > So maybe we could do every step above in one go? Using svn-multi-reference is the old way; we should be using simple-texlive-package for all packages wherever possible. Yes, we still have a lot of old package names. They all should be renamed to the new style. All packages must be checked for completeness. All new packages I’ve added have been checked. All old packages must be checked before renaming them. The way to check them is to build them and then check the outputs with something like this: --8<---------------cut here---------------start------------->8--- ,use (guix import texlive) ,pp (files-differ? "/gnu/store/…-texlive-amsfonts-fixed-59745/share/" "amsfonts") --8<---------------cut here---------------end--------------->8--- This compares outputs with tlpdb. Note that simple-texlive-package is far from perfect. We have many tex packages that require excessive workarounds to ensure that files end up in the correct location and that superfluous files are removed. simple-texlive-package should eventually take care of all of this, but I haven’t been able to make time to work on it. All this work should be done on a separate feature branch. -- Ricardo