GNU bug report logs - #27217
texlive is too big

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Sat, 3 Jun 2017 19:05:02 UTC

Severity: important

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27217 in the body.
You can then email your comments to 27217 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sat, 03 Jun 2017 19:05:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 03 Jun 2017 19:05:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: bug-guix <at> gnu.org
Subject: texlive is too big
Date: Sat, 03 Jun 2017 21:03:49 +0200
Currently, we offer the complete texlive distribution in a single
package that weighs several gigabytes.  This causes several problems:

* it’s much too heavy a dependency for packages
* it takes a long time to download
* it takes a long time to compress the substitute
* a user who only wants to compile a simple PDF needs to put up with
  installing the complete texlive distribution.

The purpose of this bug report is to keep track of the remaining issues
in splitting up texlive.

This is the current status (in my local branch):

* we have a texlive importer that fetches description and version info
  from CTAN but downloads from the texlive SVN.  This is because CTAN
  does not store versioned tarballs.

* we have a new texlive-build-system that can compile TeX packages in
  “.ins” + “.dtx” format

* the build system works fine for creating individual packages for the
  LaTeX required package set.

* these packages are sufficient to build the documentation of the
  package “fastcap” in DVI and PDF format

What’s missing?

Currently, one needs to set a lot of environment variables to use these
separate packages.  For “fastcap” I needed to set “DVIPSHEADERS” (to
find “tex.pro”), “TFMFONTS” (for compiled metafont files), “TEXFORMATS”
(for the compiled “latex.fmt”), and “TEXINPUTS” (for all directories
containing tex source files).  Setting these variables manually is
really tedious.

How can we set them automatically?  A simple idea is to provide a
procedure “texlive-union” that takes texlive packages and produces a
wrapped variant of the tools in “texlive-bin” that run inside an
environment where these variables are set.

It is also not clear how users should install texlive from countless
separate packages.  We should provide different sets of packages for
variants like texlive-minimal up to texlive-most.  We may also want to
support installation of individual packages by providing a profile hook
(e.g. when a user only wants texlive-minimal with the gbrief package).

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Severity set to 'important' from 'normal' Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Thu, 20 Jul 2017 15:53:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 23 Nov 2017 20:52:02 GMT) Full text and rfc822 format available.

Message #10 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Matt Wette <matt.wette <at> gmail.com>
To: 27217 <at> debbugs.gnu.org
Subject: break up TeXlive for guix
Date: Thu, 23 Nov 2017 12:51:17 -0800
[Message part 1 (text/plain, inline)]
Here is a link from macports.  It may be of use.  They have broken down to 50ish packages.  (I didn't count.)   

https://trac.macports.org/wiki/TeXLivePackages <https://trac.macports.org/wiki/TeXLivePackages>


[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Tue, 23 Jan 2018 13:22:01 GMT) Full text and rfc822 format available.

Message #13 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Lirzin <mthl <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Tue, 23 Jan 2018 14:20:54 +0100
Ricardo Wurmus <rekado <at> elephly.net> writes:

> What’s missing?
>
> Currently, one needs to set a lot of environment variables to use these
> separate packages.  For “fastcap” I needed to set “DVIPSHEADERS” (to
> find “tex.pro”), “TFMFONTS” (for compiled metafont files), “TEXFORMATS”
> (for the compiled “latex.fmt”), and “TEXINPUTS” (for all directories
> containing tex source files).  Setting these variables manually is
> really tedious.
>
> How can we set them automatically?  A simple idea is to provide a
> procedure “texlive-union” that takes texlive packages and produces a
> wrapped variant of the tools in “texlive-bin” that run inside an
> environment where these variables are set.

After reading, it is not clear to me why having all the environment
variables set in “~/.guix-profile/etc/profile” is not good enough, or
not possible?

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 28 May 2018 11:08:01 GMT) Full text and rfc822 format available.

Message #16 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Peter Neidhardt <pe.neidhardt <at> googlemail.com>
To: 27217 <at> debbugs.gnu.org
Subject: bug#27217: texlive is too big
Date: Mon, 28 May 2018 13:07:24 +0200
[Message part 1 (text/plain, inline)]
What's the current status on this?

I've tried processing an Org letter
(http://orgmode.org/worg/exporters/koma-letter-export.html) and I get
the following error:

--8<---------------cut here---------------start------------->8---
(/gnu/store/m6ff2qqh0s1s8dy2ip5d757lmf5ai31x-texlive-tiny-44591/share/texmf-dis
t/tex/latex/graphics-def/pdftex.def)))

! LaTeX Error: File `grffile.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.8 \usepackage
               {longtable}^^M
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on .//koma-letter-new-example.log.
--8<---------------cut here---------------end--------------->8---

I have installed some packages, among which

- texlive-bin
- Some texlive-latex-*
- texlive-latex-oberdiek (which contains grffile.sty)
- texlive-tiny

I noticed that texlive-latex-oberdiek is not in ~(texlive-union)~ (which is
used to generate texlive-tiny), so I suppose this is the root of the
issue.

Without texlive-tiny, pdflatex does not even start, failing on some
missing Perl module.

What's the intended TeXlive installation process then?
Would Guix provide a 1-to-1 map of the CTAN packages and it would be up
to the user to define their own texlive collection which calls
~(texlive-union ...)~ over a custom set of packages?

If so, I assume that koma-script does not have its own package yet.
Correct?

Let me know if I there is anything I can help with.

-- 
Pierre Neidhardt
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 28 May 2018 11:59:01 GMT) Full text and rfc822 format available.

Message #19 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Peter Neidhardt <pe.neidhardt <at> googlemail.com>
Cc: 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Mon, 28 May 2018 13:58:21 +0200
Peter Neidhardt <pe.neidhardt <at> googlemail.com> writes:

> What's the current status on this?

No progress yet.  I’ve been meaning to work on this, but it’s pretty
tedious and demands concentration, which is a quality I haven’t been
able to maintain.

For most *packages* needing a subset of TeX live we can use
“texlive-union” as an input instead.  For user profiles, “texlive-union”
is not the right tool.

> What's the intended TeXlive installation process then?

Currently, the recommended way to get TeX live is to install the
huge “texlive” package.  “texlive-union” was only meant to be used as an
input in packages that require a subset of TeX live.  It cannot yet be
used in a profile.

> Let me know if I there is anything I can help with.

We need a profile hook that builds the configuration file and sets
environment variables whenever a texlive-* package is contained in a
profile.  The behaviour would be similar to “texlive-union”.

--
Ricardo






Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 28 May 2018 12:04:02 GMT) Full text and rfc822 format available.

Message #22 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Mathieu Lirzin <mthl <at> gnu.org>
Cc: 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Mon, 28 May 2018 14:02:54 +0200
Mathieu Lirzin <mthl <at> gnu.org> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> What’s missing?
>>
>> Currently, one needs to set a lot of environment variables to use these
>> separate packages.  For “fastcap” I needed to set “DVIPSHEADERS” (to
>> find “tex.pro”), “TFMFONTS” (for compiled metafont files), “TEXFORMATS”
>> (for the compiled “latex.fmt”), and “TEXINPUTS” (for all directories
>> containing tex source files).  Setting these variables manually is
>> really tedious.
>>
>> How can we set them automatically?  A simple idea is to provide a
>> procedure “texlive-union” that takes texlive packages and produces a
>> wrapped variant of the tools in “texlive-bin” that run inside an
>> environment where these variables are set.
>
> After reading, it is not clear to me why having all the environment
> variables set in “~/.guix-profile/etc/profile” is not good enough, or
> not possible?

IIRC the format of these variables is somewhat peculiar and does not
correspond to the way environment variables are commonly specified, so
we probably cannot use the search-path mechanism that Guix provides.
(For example, there is syntax for indicating that a directory is
supposed to be searched recursively.)

Instead we would generate a configuration file that contains all of the
environment variables and then only set the variables that are required
to look up this configuration file.  That’s roughly what “texlive-union”
does.  (It also builds a union directory, but we do this anyway when
building profiles, so that’s nothing special.)

--
Ricardo






Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 28 May 2018 12:54:01 GMT) Full text and rfc822 format available.

Message #25 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Peter Neidhardt <pe.neidhardt <at> googlemail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Mon, 28 May 2018 14:53:21 +0200
[Message part 1 (text/plain, inline)]
Also it seems that the texlive importer is broken:

--8<---------------cut here---------------start------------->8---
> guix import texlive fontspec
following redirection to `https://ctan.org/xml/1.2/pkg/fontspec'...
Backtrace:
          10 (apply-smob/1 #<catch-closure 246c040>)
In ice-9/boot-9.scm:
    705:2  9 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
    619:8  8 (_ #(#(#<directory (guile-user) 250a140>)))
In guix/ui.scm:
  1535:12  7 (run-guix-command _ . _)
In guix/scripts/import.scm:
   114:11  6 (guix-import . _)
In guix/scripts/import/texlive.scm:
    91:19  5 (guix-import-texlive . _)
In guix/memoization.scm:
     98:0  4 (_ #<hash-table 2a29620 0/31> ("fontspec" "latex") _)
In unknown file:
           3 (_ #<procedure 2695d00 at guix/memoization.scm:179:32 ()> #<procedure list _> #)
In guix/import/texlive.scm:
   157:25  2 (sxml->package (*TOP* (entry (@ (id "fontspec")) (name "fontspec") (# #) …)) _)
In guix/serialization.scm:
   270:25  1 (write-file #f #<output: string 27e0700> #:select? _)
In unknown file:
           0 (lstat #f)

ERROR: In procedure lstat:
Wrong type (expecting string): #
--8<---------------cut here---------------end--------------->8---

-- 
Peter Neidhardt

"How to make a million dollars:  First, get a million dollars."
-- Steve Martin
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sat, 15 Dec 2018 14:12:01 GMT) Full text and rfc822 format available.

Message #28 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Sat, 15 Dec 2018 15:11:12 +0100
[Message part 1 (text/plain, inline)]
I've dug into this a little deeper (sadly not too much, I don't think I'll have
time to work on this before a while).

Let me summarize the issue: packages can be fetched from two main resources: 

- the TeXlive subversion repository (what we are doing now) which bundles
  everything into a single massive folder.
  
- CTAN which distributes everything as separate packages.

The problem with CTAN is that it's not versioned and there is no "stable" URL
for the packages.

To paraphrase
https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/typesetting/tex/texlive/default.nix:

--8<---------------cut here---------------start------------->8---
      # Upstream refuses to distribute stable tarballs,
      # so we host snapshots on IPFS or on our own servers.
      # Common packages should get served from the binary cache anyway.
      # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
      urlPrefixes = args.urlPrefixes or [
        # A snapshot temporarily hosted by @xeji.
        # TODO: remove when there is a reliable long-term solution
        https://cat3.de/texlive-2018/tlnet/archive

        # TODO: Add second, faster and more reliable snapshot mirror,
        # maybe on one of our project's servers

        # IPFS seeded by the mirror above - this may be quite slow
        https://ipfs.io/ipfs/QmT4Z67wXin1Z9DhvqwSSkSZSuu8hT6LgDyMu6CBm9Tb7t/tlnet/archive

        # The canonical source moves quickly and will be broken almost immediately
        http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/archive

        # Should be stable for historic, archived releases
        # http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2018/tlnet-final/archive
        # TODO: use this later when 2018 is archived

      ];
--8<---------------cut here---------------end--------------->8---

The core question for us is: "Can we reconstruct a TeXlive package from the
subversion repository?"

Corollary: Was NixOS right to discard the repository as a source for packages?

If we can't reconstruct packages from the subversion repository, then our
current texlive-build-system is not very useful when centered around
texlive-ref.

Nix auto-generates all packages from this file:
http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz.
This could be our redeemer :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 09:29:01 GMT) Full text and rfc822 format available.

Message #31 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Peter Neidhardt <pe.neidhardt <at> googlemail.com>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 10:27:59 +0100
[Message part 1 (text/plain, inline)]
Hello!

I was also looking at the remaining dependencies on ‘texlive’.  For
‘teximpatient’, it looks like we’d need
<https://ctan.org/pkg/mflogo-font> but:

--8<---------------cut here---------------start------------->8---
$ guix import texlive mflogo-font
ni sekvas la redirektigon al 'https://ctan.org/xml/1.2/pkg/mflogo-font'...
Backtrace:
          10 (primitive-load "/home/ludo/.config/guix/current/bin/guix")
In guix/ui.scm:
  1644:12  9 (run-guix-command _ . _)
In guix/scripts/import.scm:
   115:11  8 (guix-import . _)
In guix/scripts/import/texlive.scm:
    91:19  7 (guix-import-texlive . _)
In guix/memoization.scm:
     98:0  6 (_ #<hash-table 20cd220 0/31> ("mflogo-font" "latex") _)
In unknown file:
           5 (_ #<procedure 20e66e0 at guix/memoization.scm:179:32 ()> #<procedure list _> #<undefined>)
In guix/import/texlive.scm:
   146:23  4 (sxml->package (*TOP* (entry (@ (id "mflogo-font")) (name "mflogo-font") (caption "Metafont…") …)) _)
In guix/utils.scm:
    632:8  3 (call-with-temporary-directory #<procedure 2291180 at guix/svn-download.scm:92:3 (temp)>)
In guix/svn-download.scm:
    95:14  2 (_ "/tmp/guix-directory.lVf6gO")
In guix/build/svn.scm:
     38:2  1 (svn-fetch "svn://www.tug.org/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/mflogo-fo…" …)
In guix/build/utils.scm:
    616:6  0 (invoke _ . _)

guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "svn" arguments: ("checkout" "--non-interactive" "--trust-server-cert" "-r" "44591" "svn://www.tug.org/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/mflogo-font" "/tmp/guix-directory.lVf6gO") exit-status: 1 term-signal: #f stop-signal: #f] 2219000>)'.
ludo <at> ribbon ~/src/guix$ guix describe
Generacio 51	Jan 08 2019 10:45:12	(nuna)
  guix b509381
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b50938108947d47c9e3d37608df83a11020a4d8d
--8<---------------cut here---------------end--------------->8---

WIP patch:

[Message part 2 (text/x-patch, inline)]
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4399,9 +4399,16 @@ develop documents with LaTeX, in a single application.")
                                (assoc-ref inputs "automake")
                                "^install-sh$"))
                              srcdir)
-               (chdir srcdir)))))))
+               (chdir srcdir))))
+         (add-after 'unpack 'set-home
+           (lambda _
+             ;; XXX: Currently tex wants to generate fonts in
+             ;; ~/.texlive2018/texmf-var/fonts, hence this hack.
+             (setenv "HOME" (getcwd))
+             #t)))))
     (native-inputs
-     `(("texlive" ,texlive)
+     `(("texlive" ,(texlive-union (list texlive-fonts-amsfonts
+                                        texlive-fonts-ec)))
        ("automake" ,automake)))
     (home-page "https://www.gnu.org/software/teximpatient/")
     (synopsis "Book on TeX, plain TeX and Eplain")
[Message part 3 (text/plain, inline)]
Ludo’.

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 09:50:02 GMT) Full text and rfc822 format available.

Message #34 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 10:49:12 +0100
I was also stuck with the mflogo.  Some file is missing, but it's hard to
understand which one.

I think I know what's happening: some packages are missing files because they
were not properly packaged.  With our current build system, this is almost
impossible to fix.

I've never been able to use the importer.  Anyways, as my previous email
pointed out, I think it's quite useless as it is.

I'm more and more convinced that rewriting the texlive-build-system centered
around texlive.tlpdb would work and is the right approach.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 11:29:01 GMT) Full text and rfc822 format available.

Message #37 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Peter Neidhardt <pe.neidhardt <at> googlemail.com>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 12:27:59 +0100
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello!
>
> I was also looking at the remaining dependencies on ‘texlive’.  For
> ‘teximpatient’, it looks like we’d need
> <https://ctan.org/pkg/mflogo-font> but:
>
> --8<---------------cut here---------------start------------->8---
> $ guix import texlive mflogo-font
> ni sekvas la redirektigon al 'https://ctan.org/xml/1.2/pkg/mflogo-font'...
> Backtrace:
>           10 (primitive-load "/home/ludo/.config/guix/current/bin/guix")
> In guix/ui.scm:
>   1644:12  9 (run-guix-command _ . _)
> In guix/scripts/import.scm:
>    115:11  8 (guix-import . _)
> In guix/scripts/import/texlive.scm:
>     91:19  7 (guix-import-texlive . _)
> In guix/memoization.scm:
>      98:0  6 (_ #<hash-table 20cd220 0/31> ("mflogo-font" "latex") _)
> In unknown file:
>            5 (_ #<procedure 20e66e0 at guix/memoization.scm:179:32 ()> #<procedure list _> #<undefined>)
> In guix/import/texlive.scm:
>    146:23  4 (sxml->package (*TOP* (entry (@ (id "mflogo-font")) (name "mflogo-font") (caption "Metafont…") …)) _)
> In guix/utils.scm:
>     632:8  3 (call-with-temporary-directory #<procedure 2291180 at guix/svn-download.scm:92:3 (temp)>)
> In guix/svn-download.scm:
>     95:14  2 (_ "/tmp/guix-directory.lVf6gO")
> In guix/build/svn.scm:
>      38:2  1 (svn-fetch "svn://www.tug.org/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/mflogo-fo…" …)
> In guix/build/utils.scm:
>     616:6  0 (invoke _ . _)
>
> guix/build/utils.scm:616:6: In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "svn" arguments: ("checkout" "--non-interactive" "--trust-server-cert" "-r" "44591" "svn://mwww.tug.org/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/mflogo-font" "/tmp/guix-directory.lVf6gO") exit-status: 1 term-signal: #f stop-signal: #f] 2219000>)'.

So it fetches the description from ctan.org just fine, but then cannot
download the directory from the SVN repository.

That’s because there is no such directory in the SVN repository; see:

  https://www.tug.org/svn/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/

There’s “mflogo”, but no “mflogo-font”.

That said, this kind of common error should be caught by the importer.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 12:16:01 GMT) Full text and rfc822 format available.

Message #40 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Peter Neidhardt <pe.neidhardt <at> googlemail.com>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 13:15:18 +0100
Ricardo Wurmus <rekado <at> elephly.net> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello!
>>
>> I was also looking at the remaining dependencies on ‘texlive’.  For
>> ‘teximpatient’, it looks like we’d need
>> <https://ctan.org/pkg/mflogo-font> but:

[...]

>> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "svn" arguments: ("checkout" "--non-interactive" "--trust-server-cert" "-r" "44591" "svn://mwww.tug.org/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/mflogo-font" "/tmp/guix-directory.lVf6gO") exit-status: 1 term-signal: #f stop-signal: #f] 2219000>)'.
>
> So it fetches the description from ctan.org just fine, but then cannot
> download the directory from the SVN repository.
>
> That’s because there is no such directory in the SVN repository; see:
>
>   https://www.tug.org/svn/texlive/tags/texlive-2017.1/Master/texmf-dist/source/latex/
>
> There’s “mflogo”, but no “mflogo-font”.

“mflogo” appears to be a different thing though, it doesn’t contain the
font.  I found the ‘logo’ font in ‘texlive-fonts-knuth-lib’ though!

Now I can’t find the ‘pplr’ font (actually Adobe’s Palatino).

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 12:31:01 GMT) Full text and rfc822 format available.

Message #43 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 13:30:27 +0100
Hi Pierre,

> I think I know what's happening: some packages are missing files because they
> were not properly packaged.  With our current build system, this is almost
> impossible to fix.
>
> I've never been able to use the importer.  Anyways, as my previous email
> pointed out, I think it's quite useless as it is.

I wouldn’t say it’s useless.  Although I’m certainly prone to writing
useless code, this importer serves a need and allowed me to successfully
create the many texlive-* packages we have now.

I’ll admit, though, that it’s the one importer that I like the least :)

> I'm more and more convinced that rewriting the texlive-build-system centered
> around texlive.tlpdb would work and is the right approach.

Could you please outline what this would mean?

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 12:52:02 GMT) Full text and rfc822 format available.

Message #46 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 13:51:20 +0100
> “mflogo” appears to be a different thing though, it doesn’t contain the
> font.  I found the ‘logo’ font in ‘texlive-fonts-knuth-lib’ though!
> 
> Now I can’t find the ‘pplr’ font (actually Adobe’s Palatino).

Ran into the same confusion.  All this is specified in the tlpdb, but even there
the difference between mflogo and mflogo-font is confusing: they are two
different packages, but they are just one package... (?)

> I wouldn’t say it’s useless.  Although I’m certainly prone to writing
> useless code, this importer serves a need and allowed me to successfully
> create the many texlive-* packages we have now.
> 
> I’ll admit, though, that it’s the one importer that I like the least :)

I'm so sorry for the poor wording, Ricardo, it was uncalled for.  (Wrote in a
haste.)  What I meant is that it does not solve the current issue of "what file
belongs to what package."

It's not just the importer but our current approach to TeXlive that we've got to
work out.

Again, sorry for the offensive statement, I hope you didn't take offense, none
was intended.

> : I'm more and more convinced that rewriting the texlive-build-system centered
> : around texlive.tlpdb would work and is the right approach.
> 
> Could you please outline what this would mean?

Sure: if you look at the file, you'll see it's a textual database of all
packages with their respective file.  A possible solution that we could
implement either as a build-system or an importer: lookup the package in the tlpdb
(e.g. mflogo) and package all the corresponding file from the svn repo.  Sounds
simple enough.  What do you think?




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 15:36:02 GMT) Full text and rfc822 format available.

Message #49 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 16:34:25 +0100
Hey Pierre,

> I'm so sorry for the poor wording, Ricardo, it was uncalled for.  (Wrote in a
> haste.)  What I meant is that it does not solve the current issue of "what file
> belongs to what package."

No worries :)

> It's not just the importer but our current approach to TeXlive that we've got to
> work out.

I agree.  It’s always been messy and currently it’s pretty frustrating
to package or update TeXlive packages.

What I find most troubling is that sources are littered across the SVN
repository.  Sometimes we’ve got simple .ins and .dtx files, but very
often we have a stray .sty or .tex file in some seemingly arbitary
directory and one needs to manually take care of adding these extra
source files to the native-inputs.  This could be improved even before a
full overhaul of our TeXlive handling: add a convenience procedure that
takes a list of file names in the repository and collects them via SVN
as the source tree.  Beats having to add extra build phases and the
like.

>> : I'm more and more convinced that rewriting the texlive-build-system centered
>> : around texlive.tlpdb would work and is the right approach.
>>
>> Could you please outline what this would mean?
>
> Sure: if you look at the file, you'll see it's a textual database of all
> packages with their respective file.  A possible solution that we could
> implement either as a build-system or an importer: lookup the package in the tlpdb
> (e.g. mflogo) and package all the corresponding file from the svn repo.  Sounds
> simple enough.  What do you think?

I don’t see this file in the texlive SVN repository.  Where is it
hosted?

So, it’s a map of packages to file names?  That would probably simplify
the importer.  I don’t think it would help with the build system.  Am I
missing something?

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 16:02:01 GMT) Full text and rfc822 format available.

Message #52 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 17:01:48 +0100
> What I find most troubling is that sources are littered across the SVN
> repository.  Sometimes we’ve got simple .ins and .dtx files, but very
> often we have a stray .sty or .tex file in some seemingly arbitary
> directory and one needs to manually take care of adding these extra
> source files to the native-inputs.

I was puzzled like you, but last time I investigated it became a bit clearer:
there is simply no general recipe for building TeXlive packages.

TeXlive packages are provided "ready to use", they are not meant to be built.
The .ins/.dtx are only here for potential package contributors or as a source of
documentation, but when it comes to TeXlive, they are not used to build the
resulting package.  The .sty is (I think) always parachuted into the SVN
repository as well.

(Actually, sometimes there is no .ins/.dtx, just a .sty.)

More worrisome: some fonts don't provide their source.  In fact, some of them
have confusing licenses, and since the source is missing, I wouldn't call that
"free software".  But TeXlive is.  That's not very consistent and a lot of FOSS
TeXlive packages effectively depend on closed-source fonts.

What shall do then?

> I don’t see this file in the texlive SVN repository.  Where is it
> hosted?

It's in Master/tlpkg/texlive.tlpdb.
Or from CTAN:
http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz.

> So, it’s a map of packages to file names?  That would probably simplify
> the importer.  I don’t think it would help with the build system.  Am I
> missing something?

I believe the tlpdb might actually be necessary to build every package reliably.

As I said above, TeXlive packages are not meant to be built, they are meant to
be copy/pasted, so it seems.  (Correct me if I'm wrong.)

Sure we can rebuild the .dtx/.ins, but that only works for some packages and it
does not suffice, we still need to include the extra files (e.g. fonts) if any.
We can only know this file list from the tlpdb.

So here is what I suggest: the texlive-build-system looks up the file list in
the tlpdb and copies everything.  If some of those files include .dtx/.ins,
it could build them (but that should not change anything since the .sty is
always provided).

Question: that would produce another <package>.sty file beside the one existing
in the SVN.  Should we replace it?  Should we print a warning if it does not
match?

With such a build system, the only thing the importer would have to do is get
the synopsys/license information from the tlpdb.

Does that make sense?




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 16:13:01 GMT) Full text and rfc822 format available.

Message #55 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 17:11:52 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> TeXlive packages are provided "ready to use", they are not meant to be built.
> The .ins/.dtx are only here for potential package contributors or as a source of
> documentation, but when it comes to TeXlive, they are not used to build the
> resulting package.  The .sty is (I think) always parachuted into the SVN
> repository as well.

I don’t think that’s correct.  The .ins/.dtx files contain instructions
for generating files, including the .sty files, which are extracted from
the .dtx files.

> (Actually, sometimes there is no .ins/.dtx, just a .sty.)

Correct.  For some “packages” there’s really just a .sty source file.
But often enough .sty files are generated.

We have both kinds of packages in tex.scm.  Some where the .sty or .tex source
files are copied to the target location and some where the .sty or .tex files
are generated from the .ins/.dtx sources.

Whether a .sty or .tex file is a source file isn’t always obvious, but
sometimes they mention that they are generated from other files.

> More worrisome: some fonts don't provide their source.

For some fonts the provided format *is* the source.

> In fact, some of them
> have confusing licenses, and since the source is missing, I wouldn't call that
> "free software".  But TeXlive is.  That's not very consistent and a lot of FOSS
> TeXlive packages effectively depend on closed-source fonts.

I haven’t found any such cases yet.  Could you show us cases where the
font license makes the font non-free?

>> I don’t see this file in the texlive SVN repository.  Where is it
>> hosted?
>
> It's in Master/tlpkg/texlive.tlpdb.
> Or from CTAN:
> http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz.

Ah, thanks.

-- 
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 17:48:02 GMT) Full text and rfc822 format available.

Message #58 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 18:47:49 +0100
> I don’t think that’s correct.  The .ins/.dtx files contain instructions
> for generating files, including the .sty files, which are extracted from
> the .dtx files.

What I meant is that the .sty is always already generated in the SVN repo.
Can you find a counter-example?

> We have both kinds of packages in tex.scm.  Some where the .sty or .tex source
> files are copied to the target location and some where the .sty or .tex files
> are generated from the .ins/.dtx sources.

And some where it's a mix of both :p

> Whether a .sty or .tex file is a source file isn’t always obvious, but
> sometimes they mention that they are generated from other files.

> For some fonts the provided format *is* the source.

Hmm, maybe you are right and I'm wrong about this.

TeXlive has many formats: mf (source), afm, tfm, type1, several bitmap
formats...  I'm a bit suspicious about some fonts.  Lots of them are under
"other-free", while some are under "unknown".  Hmm...
Well, let's take care about this later.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 18:57:02 GMT) Full text and rfc822 format available.

Message #61 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 19:56:16 +0100
> Yes, the SVN repo does include generated files.  That’s not great, but
> we can choose to ignore those files (as we do in other projects).

And the builder should take care not to discard .sty / .cls files that are not
going to be generated.  I believe that in all cases the basename remains the
same between .dtx/.ins and .sty/.cls.  Then it's easy to know which one to keep and
which one to discards.

So what do you think of the tlpdb approach for a new tex-build-system?




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 19:02:02 GMT) Full text and rfc822 format available.

Message #64 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 20:01:29 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

>> Yes, the SVN repo does include generated files.  That’s not great, but
>> we can choose to ignore those files (as we do in other projects).
>
> And the builder should take care not to discard .sty / .cls files that are not
> going to be generated.  I believe that in all cases the basename remains the
> same between .dtx/.ins and .sty/.cls.  Then it's easy to know which one to keep and
> which one to discards.

Well, we do ignore the generated files already whenever we can.

> So what do you think of the tlpdb approach for a new tex-build-system?

I don’t know what exactly this entails.  I’m happy to see patches for
this.  Anything that improves the current state of TeXlive support in
Guix would be worth looking into.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 10 Jan 2019 19:07:01 GMT) Full text and rfc822 format available.

Message #67 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 10 Jan 2019 19:50:49 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

>> I don’t think that’s correct.  The .ins/.dtx files contain instructions
>> for generating files, including the .sty files, which are extracted from
>> the .dtx files.
>
> What I meant is that the .sty is always already generated in the SVN repo.

Yes, the SVN repo does include generated files.  That’s not great, but
we can choose to ignore those files (as we do in other projects).

-- 
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 14 Jan 2019 20:09:01 GMT) Full text and rfc822 format available.

Message #70 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Peter Neidhardt <pe.neidhardt <at> googlemail.com>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Sun, 13 Jan 2019 13:21:10 +0100
Ludovic Courtès <ludo <at> gnu.org> writes:

> Now I can’t find the ‘pplr’ font (actually Adobe’s Palatino).

In the texmf-dist tree these fonts are found under
“fonts/{tfm,afm,vf/adobe/palatino”.  I don’t know if there are any
sources for generating these files, or if they are simply font blobs.
In the latter case they would be installed just like the fonts provided
by “texlive-fonts-charter”.

--
Ricardo





Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Tue, 15 Jan 2019 15:35:01 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Tue, 15 Jan 2019 15:35:04 GMT) Full text and rfc822 format available.

Message #75 received at 27217-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 27217-done <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Tue, 15 Jan 2019 16:34:32 +0100
Ricardo Wurmus <rekado <at> elephly.net> writes:

> We may also want to
> support installation of individual packages by providing a profile hook
> (e.g. when a user only wants texlive-minimal with the gbrief package).

A profile hook has been added with commit
743497b5650713e082f4775a3b7dfd03babc8191.  Users may want to start by
installing “texlive-base” and then add packages to their profile as
needed.

I’m closing this bug now.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 17 Jan 2019 09:37:02 GMT) Full text and rfc822 format available.

Message #78 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Peter Neidhardt <pe.neidhardt <at> googlemail.com>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 10:36:41 +0100
Hello!

Ricardo Wurmus <rekado <at> elephly.net> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Now I can’t find the ‘pplr’ font (actually Adobe’s Palatino).
>
> In the texmf-dist tree these fonts are found under
> “fonts/{tfm,afm,vf/adobe/palatino”.  I don’t know if there are any
> sources for generating these files, or if they are simply font blobs.

Does that mean we don’t have a ‘texlive-’ package for these?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 17 Jan 2019 09:42:02 GMT) Full text and rfc822 format available.

Message #81 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 10:41:46 +0100
[Message part 1 (text/plain, inline)]
As far as I know, we don't, and I could not figure the package out (I could have
tried harder...).

And this highlights another big issue with our current build system: it's very
hard to know which file is already packaged.  It could very well be that some
texlive packages have conflicts simply because we've accidentally packaged the
same files in different packages.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 17 Jan 2019 10:38:01 GMT) Full text and rfc822 format available.

Message #84 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Peter Neidhardt <pe.neidhardt <at> googlemail.com>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 11:36:17 +0100
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello!
>
> Ricardo Wurmus <rekado <at> elephly.net> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> Now I can’t find the ‘pplr’ font (actually Adobe’s Palatino).
>>
>> In the texmf-dist tree these fonts are found under
>> “fonts/{tfm,afm,vf/adobe/palatino”.  I don’t know if there are any
>> sources for generating these files, or if they are simply font blobs.
>
> Does that mean we don’t have a ‘texlive-’ package for these?

We don’t have one yet.  But we can add one similar to
“texlive-fonts-txfonts”.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 17 Jan 2019 10:40:02 GMT) Full text and rfc822 format available.

Message #87 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 11:39:24 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> And this highlights another big issue with our current build system: it's very
> hard to know which file is already packaged.  It could very well be that some
> texlive packages have conflicts simply because we've accidentally packaged the
> same files in different packages.

It’s not a problem of the build system.  The build system works fine for
ins/dtx files.

This is a problem with the TeX Live distribution.  It does not consist
of packages for the most part, but represents a directory tree that
is meant to be unpacked in place.

In some cases we use upstream packages as in the case of
“texlive-fonts-lm”, which provides a zip file that can be unpacked into
a texmf-dist tree.  In other cases all we can do is take the TeX Live
upstream sources from various SVN directories.

It sucks, but I don’t see how you could do much better given this
distribution method.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Thu, 17 Jan 2019 10:44:02 GMT) Full text and rfc822 format available.

Message #90 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 11:43:23 +0100
[Message part 1 (text/plain, inline)]
I could have explained myself better :p
What I meant is that with the tlpdb approach, we would base our build system on
a centralized authority with regard to what constitute a package and which files
belong to them.  Then we would not have to worry about file conflicts.

It still sucks, but then that's an upstream problem, not ours.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sun, 20 Jan 2019 22:52:01 GMT) Full text and rfc822 format available.

Message #93 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Thu, 17 Jan 2019 12:01:15 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> What I meant is that with the tlpdb approach, we would base our build system on
> a centralized authority with regard to what constitute a package and which files
> belong to them.  Then we would not have to worry about file conflicts.

Ah, I see.  I was struggling to see how this would help us in this case,
so I looked up “palatino” in the texlive.tlpdb.

We can find this snippet in the texlive.tlpdb (which is part of the
texlive-bin package):

--8<---------------cut here---------------start------------->8---
name palatino
category Package
revision 31835
catalogue urw-base35
shortdesc URW "Base 35" font pack for LaTeX
longdesc A set of fonts for use as "drop-in" replacements for Adobe's
longdesc basic set, comprising: Century Schoolbook (substituting for
longdesc Adobe's New Century Schoolbook); Dingbats (substituting for
longdesc Adobe's Zapf Dingbats); Nimbus Mono L (substituting for Abobe's
longdesc Courier); Nimbus Roman No9 L (substituting for Adobe's Times);
longdesc Nimbus Sans L (substituting for Adobe's Helvetica); Standard
longdesc Symbols L (substituting for Adobe's Symbol); URW Bookman; URW
longdesc Chancery L Medium Italic (substituting for Adobe's Zapf
longdesc Chancery); URW Gothic L Book (substituting for Adobe's Avant
longdesc Garde); and URW Palladio L (substituting for Adobe's Palatino).
execute addMap upl.map
runfiles size=388
 texmf-dist/dvips/palatino/config.upl
 texmf-dist/fonts/afm/adobe/palatino/pplb8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplbi8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplr8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplri8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplb8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplbi8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplr8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplri8a.afm
 texmf-dist/fonts/map/dvips/palatino/upl.map
 texmf-dist/fonts/tfm/adobe/palatino/eurbo10.tfm
 texmf-dist/fonts/tfm/adobe/palatino/eurmo10.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbij8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbj8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbu.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbu8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8rn.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrij8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrr8re.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrre.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrrn.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplru.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplru8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7m.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7y.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7m.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7v.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7y.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbc7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbc8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplrc7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplrc8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8t.tfm
 texmf-dist/fonts/type1/urw/palatino/uplb8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplb8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplbi8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplbi8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplr8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplr8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplri8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplri8a.pfm
 texmf-dist/fonts/vf/adobe/palatino/pplb.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbu.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrre.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrrn.vf
 texmf-dist/fonts/vf/adobe/palatino/pplru.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7m.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7t.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7y.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7m.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7t.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7v.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7y.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbc7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbc8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplrc7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplrc8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro8t.vf
 texmf-dist/tex/latex/palatino/8rupl.fd
 texmf-dist/tex/latex/palatino/omlupl.fd
 texmf-dist/tex/latex/palatino/omsupl.fd
 texmf-dist/tex/latex/palatino/ot1upl.fd
 texmf-dist/tex/latex/palatino/t1upl.fd
 texmf-dist/tex/latex/palatino/ts1upl.fd
catalogue-also tex-gyre
catalogue-ctan /fonts/urw/base35
catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics font font-type1 font-collection
--8<---------------cut here---------------end--------------->8---

This tells us what files are installed (“runfiles”) and it shows us that
there is no source file we can use to generate them (there is no
“srcfiles”).  Compare that to 12many, for example:

--8<---------------cut here---------------start------------->8---
name 12many
category Package
revision 15878
catalogue one2many
shortdesc Generalising mathematical index sets
longdesc In the discrete branches of mathematics and the computer
longdesc sciences, it will only take some seconds before you're faced
longdesc with a set like {1,...,m}. Some people write $1\ldotp\ldotp m$,
longdesc others $\{j:1\leq j\leq m\}$, and the journal you're submitting
longdesc to might want something else entirely. The 12many package
longdesc provides an interface that makes changing from one to another a
longdesc one-line change.
docfiles size=98
 texmf-dist/doc/latex/12many/12many.pdf details="Package documentation"
 texmf-dist/doc/latex/12many/README details="Readme"
srcfiles size=6
 texmf-dist/source/latex/12many/12many.dtx
 texmf-dist/source/latex/12many/12many.ins
runfiles size=1
 texmf-dist/tex/latex/12many/12many.sty
catalogue-ctan /macros/latex/contrib/12many
catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths
catalogue-version 0.3
--8<---------------cut here---------------end--------------->8---

Here we do have “srcfiles” and we can use those to generate
“12many.sty”.  I think this would be a good source of information for
the importer.  We just need to be smart about handling the “srcfiles”
field so that it won’t result in too large downloads from SVN
(e.g. parent directory) or too many small svn-fetch origins (one origin
per file).

--
Ricardo





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 18 Feb 2019 12:24:04 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Pierre Neidhardt <mail <at> ambrevar.xyz> to control <at> debbugs.gnu.org. (Sat, 02 Mar 2019 14:09:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sat, 02 Mar 2019 14:14:01 GMT) Full text and rfc822 format available.

Message #100 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>, Jelle Licht <jlicht <at> fsfe.org>  
Cc: Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Sat, 02 Mar 2019 15:13:50 +0100
[Message part 1 (text/plain, inline)]
For posterity, here is a python importer for tlpdb:

https://github.com/amaxwell/tlutility/blob/master/parse_tlpdb.py

(Thanks to Henkjan for sharing this.)

Jelle, did you work on the importer any further after FOSDEM?
Can you share the file, I'm afraid I lost the link :p

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sun, 03 Mar 2019 14:33:02 GMT) Full text and rfc822 format available.

Message #103 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Jelle Licht <jlicht <at> fsfe.org>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ricardo Wurmus <rekado <at> elephly.net>,
 Ludovic Courtès <ludo <at> gnu.org>, Jelle Licht <jlicht <at> fsfe.org>,
 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Sun, 03 Mar 2019 15:32:29 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> writes:

> For posterity, here is a python importer for tlpdb:
>
> https://github.com/amaxwell/tlutility/blob/master/parse_tlpdb.py
>
> (Thanks to Henkjan for sharing this.)
>
> Jelle, did you work on the importer any further after FOSDEM?
> Can you share the file, I'm afraid I lost the link :p

As a matter of fact, I did! I am not at home with my guix-related work
right now. The short of it, is that I created a simple record type
(e.g. `tlpdb-package'). The tlpdb-parser we worked on at FOSDEM was able
to generate these structures from the tlpdb file, although translating
tlpdb-package records into actual guix packages was a step I did not
work on yet.

One of the problems I ran into was exactly what Ricardo described; the
fact that sources for texlive packages currently have a slight semantic
mismatch with what we have for most guix packages. If we have a solution
for this, the result of *any* of our importers would look a lot nicer.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Tue, 05 Mar 2019 15:31:01 GMT) Full text and rfc822 format available.

Message #106 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <pierre <at> atlas.engineer>
To: Jelle Licht <jlicht <at> fsfe.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>,
 Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Tue, 05 Mar 2019 09:39:57 +0100
[Message part 1 (text/plain, inline)]
Fantastic!

I have time to work on it this week, so let me know if you'd like some help :)

Can't wait to get this sorted once and for all :D

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Sat, 16 Mar 2019 13:00:02 GMT) Full text and rfc822 format available.

Message #109 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Jelle Licht <jlicht <at> fsfe.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>,
 Ludovic Courtès <ludo <at> gnu.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Sat, 16 Mar 2019 13:59:16 +0100
[Message part 1 (text/plain, inline)]
Hello people!

Yesterday Jelle and I started getting down to it.

I've created a wip-texlive branch.  For now, we can run

  (texlive-fetch "xcolor") 

and it returns the appropriate parsed entry from the tlpdb from texlive-bin.

@Jelle: see the nice "match"? :D

The first call to texlive-fetch takes some 10-30 seconds because the tlpdb is
some 11MB+ big.

I'm caching the parsed DB, so that should not be a problem during development.

I'm suggesting those following steps:

- Write the package definition generator.  We can take inspiration from
  opam.scm, it seems to be well written and very similar.
  `texlive-fetch' is already aligned with `opam-fetch'.
  
  For testing, we can try to recreate a simple package definition.
  texlive-latex-xcolor for instance.
  There is an immediate difference already: the name generated by the importer
  will be texlive-xcolor and not texlive-latex-xcolor.

- Write texlive-fetch so that we can write definitions with multiple
  directories.
  
- Update the texlive-build-system to accommodate the importer.  For instance, we
  will probably have to build fonts automatically.  We will also have to be
  smart about the files that need to be generated, and those that need to be discarded.

- Write an updater (again, following opam.scm, should be trivial).

I'll get started with the first step today.  Let me know what you think!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Mon, 18 Mar 2019 08:48:01 GMT) Full text and rfc822 format available.

Message #112 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, Jelle Licht <jlicht <at> fsfe.org>,
 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Mon, 18 Mar 2019 09:47:15 +0100
Hello!

Pierre Neidhardt <mail <at> ambrevar.xyz> skribis:

> Yesterday Jelle and I started getting down to it.
>
> I've created a wip-texlive branch.  For now, we can run
>
>   (texlive-fetch "xcolor") 
>
> and it returns the appropriate parsed entry from the tlpdb from texlive-bin.

Nice!

> The first call to texlive-fetch takes some 10-30 seconds because the tlpdb is
> some 11MB+ big.
>
> I'm caching the parsed DB, so that should not be a problem during development.

You can use ‘http-fetch/cached’, if that’s not what you’re already
doing.

> I'm suggesting those following steps:
>
> - Write the package definition generator.  We can take inspiration from
>   opam.scm, it seems to be well written and very similar.
>   `texlive-fetch' is already aligned with `opam-fetch'.
>   
>   For testing, we can try to recreate a simple package definition.
>   texlive-latex-xcolor for instance.
>   There is an immediate difference already: the name generated by the importer
>   will be texlive-xcolor and not texlive-latex-xcolor.
>
> - Write texlive-fetch so that we can write definitions with multiple
>   directories.
>   
> - Update the texlive-build-system to accommodate the importer.  For instance, we
>   will probably have to build fonts automatically.  We will also have to be
>   smart about the files that need to be generated, and those that need to be discarded.
>
> - Write an updater (again, following opam.scm, should be trivial).
>
> I'll get started with the first step today.  Let me know what you think!

So TeX Live packages would use ‘texlive-fetch’ instead of ‘svn-fetch’ or
similar, right?

If that’s the case, then merely computing the derivation of one of these
would require fetching the tldb database, which would be problematic.
Is this correct?

Thank you,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Tue, 19 Mar 2019 21:39:01 GMT) Full text and rfc822 format available.

Message #115 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, 27217 <at> debbugs.gnu.org,
 Jelle Licht <jlicht <at> fsfe.org>
Subject: Re: bug#27217: texlive is too big
Date: Tue, 19 Mar 2019 22:36:21 +0100
Ludovic Courtès <ludo <at> gnu.org> writes:

>> I'm suggesting those following steps:
>>
>> - Write the package definition generator.  We can take inspiration from
>>   opam.scm, it seems to be well written and very similar.
>>   `texlive-fetch' is already aligned with `opam-fetch'.
>>
>>   For testing, we can try to recreate a simple package definition.
>>   texlive-latex-xcolor for instance.
>>   There is an immediate difference already: the name generated by the importer
>>   will be texlive-xcolor and not texlive-latex-xcolor.
>>
>> - Write texlive-fetch so that we can write definitions with multiple
>>   directories.
>>
>> - Update the texlive-build-system to accommodate the importer.  For instance, we
>>   will probably have to build fonts automatically.  We will also have to be
>>   smart about the files that need to be generated, and those that need to be discarded.
>>
>> - Write an updater (again, following opam.scm, should be trivial).
>>
>> I'll get started with the first step today.  Let me know what you think!
>
> So TeX Live packages would use ‘texlive-fetch’ instead of ‘svn-fetch’ or
> similar, right?
>
> If that’s the case, then merely computing the derivation of one of these
> would require fetching the tldb database, which would be problematic.
> Is this correct?

I think there has been a misunderstanding here.  Pierre seems to be
using the name “texlive-fetch” for two different things.  As it stands
it is not a source code downloader.  It is a procedure that extracts a
package’s information from the parsed plain text database.

The thing I proposed some days ago (also named “texlive-fetch”) would be
a variant of “svn-fetch” that supports more than one location in the
target SVN repository so that disjoint subsets of the SVN tree can be
downloaded at the same time.  This is unrelated.

The extraction of information from the plain text database (which is
included with “texlive-bin”) is done “offline” when using the importer,
i.e. when generating package definitions.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Wed, 20 Mar 2019 07:48:02 GMT) Full text and rfc822 format available.

Message #118 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Ricardo Wurmus <rekado <at> elephly.net>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: Jelle Licht <jlicht <at> fsfe.org>, 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Wed, 20 Mar 2019 08:47:22 +0100
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:

>> So TeX Live packages would use ‘texlive-fetch’ instead of ‘svn-fetch’ or
>> similar, right?
>>
>> If that’s the case, then merely computing the derivation of one of these
>> would require fetching the tldb database, which would be problematic.
>> Is this correct?
>
> I think there has been a misunderstanding here.  Pierre seems to be
> using the name “texlive-fetch” for two different things.

No, the "texlive-fetch" I meant was Ricardo's idea.  We are talking
about the same thing.

> The extraction of information from the plain text database (which is
> included with “texlive-bin”) is done “offline” when using the importer,
> i.e. when generating package definitions.

Exactly, I think this is the part that Ludovic misunderstood.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27217; Package guix. (Fri, 22 Mar 2019 21:16:02 GMT) Full text and rfc822 format available.

Message #121 received at 27217 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, Jelle Licht <jlicht <at> fsfe.org>,
 27217 <at> debbugs.gnu.org
Subject: Re: bug#27217: texlive is too big
Date: Fri, 22 Mar 2019 22:01:36 +0100
Pierre Neidhardt <mail <at> ambrevar.xyz> skribis:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>>> So TeX Live packages would use ‘texlive-fetch’ instead of ‘svn-fetch’ or
>>> similar, right?
>>>
>>> If that’s the case, then merely computing the derivation of one of these
>>> would require fetching the tldb database, which would be problematic.
>>> Is this correct?
>>
>> I think there has been a misunderstanding here.  Pierre seems to be
>> using the name “texlive-fetch” for two different things.
>
> No, the "texlive-fetch" I meant was Ricardo's idea.  We are talking
> about the same thing.
>
>> The extraction of information from the plain text database (which is
>> included with “texlive-bin”) is done “offline” when using the importer,
>> i.e. when generating package definitions.
>
> Exactly, I think this is the part that Ludovic misunderstood.

OK, got it, thanks for explaining.

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 20 Apr 2019 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.