Subject: Re: bug#27296: [PATCH 33/35] gnu: Add texlive-union.

From: Ricardo Wurmus <[email-masked]>
Date: Fri, 09 Jun 2017 17:06:47 +0200

Ludovic Courtès <[email-masked]> writes:

> Ricardo Wurmus <[email-masked]> skribis:
>
>> * gnu/packages/tex.scm (texlive-union): New procedure.
>
> [...]
>
>> +(define-public texlive-union (lambda* (#:optional (packages '()))
>> +  "Return 'texlive-union' package which is a union of PACKAGES and the
>> +standard LaTeX packages."
>> +  (let ((default-packages
>> +          (list texlive-bin
>> +                texlive-dvips
>> +                texlive-fonts-cm
>
> (Indentation is unusual here.)
>
> Does ‘texlive-union’ become the user interface to install LaTeX, along
> with ‘texlive-tiny’ and maybe a ‘texlive-full’ meta-package?
>
> Do you think this could be turned into a profile hook, somehow, such
> that users who install a bunch of ‘texlive-*’ packages would immediately
> get something that works without having to write Scheme code that calls
> ‘texlive-union’?

“texlive-union” is primarily for the benefit of package definitions that
currently use “texlive” as an input, as the alternative is for these
packages to set a lot of environment variables in build phases.  I
reduced the number of variables by providing texmf.cnf, but at the very
least packages would have to set TEXMFCNF and provide their own
texmf.cnf to make the texlive binaries find packages, fonts,
configurations, etc.

A profile hook would be the best way to handle the installation of
packages into profiles.  I just haven’t written it yet :)

>> +      (license (map package-license (append default-packages packages)))))))
>
> ‘package-license’ can return either a <license> or a list, so ideally
> we’d concatenate the lists.  :-)

Ouch! Yes, of course!

--
Ricardo

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