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

From: [email-masked] (Ludovic Courtès)
Date: Fri, 09 Jun 2017 16:57:34 +0200

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

> +      (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.  :-)

  (fold (lambda (package result)
          (match (package-license package)
            ((lst ...)
             (append lst result))
            ((? license? license)
             (cons license result))))
        '()
        (append …))

Otherwise LGTM!

Ludo’.