diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-01-11 11:08:15 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-01-29 13:35:47 -0500 |
commit | 04a0b1e09abce99857e7930336421ca6d15ae630 (patch) | |
tree | 31c3cc55abebc664929578f3ac8a8d00b9ae0d81 /guix/profiles.scm | |
parent | cf498048aa0c9f7e76e0af029ad147e284dcde46 (diff) |
gnu: texlive-bin: Enable the use of multiple TeX Live trees.
Attempting to compose multiple TeX Live trees (such as can happen when using a
texlive-union generated package) proved problematic; only the texmf.cnf
configuration file from the union would be honored, causing other TeX Live
components to be ignored.
This change does away with TeX Live unions, instead relying on the default
texmf.cnf configuration file provided by the texlive-bin package to honor
individual TeX Live trees referred to via the newly introduced GUIX_TEXMF
variable, and replacing the texlive-union procedure by texlive-updmap.cfg, to
explicit that generating the fonts map configuration is now its sole purpose.
* gnu/packages/tex.scm (texlive-bin)[phases]{customize-texmf}: New phase.
{postint}: Move the patching of the texmf.cnf file to the new above phase.
Patch the updmap.pl script to find its Perl modules.
[native-search-paths]: Rename the TEXMF variable to GUIX_TEXMF. Remove the
TEXMFCNF variable.
* guix/profiles.scm (texlive-configuration): Remove procedure.
(%default-profile-hooks)[texlive-configuration]: Unregister hook.
(texlive-union): Alias to what has moved to...
(texlivke-updmap.cfg): ... here. Update doc. Do not provide a different
texmf.cnf configuration.
[inherit]: Do not inherit from texlive-base.
[build-system]: Switch to the copy-build-system.
[arguments]{install-plan}: New argument.
[phases]{regenerate-updmap.cfg}: New phase, which keeps only the fonts map
generating code from the previous builder code.
[inputs]: Remove bash, and move to ...
[propagated-inputs]: ... here.
[native-inputs]: Remove field, and move the source of the base updmap.cfg file
to...
[source]: ... here.
[synopsis]: Update.
[description]: Likewise.
[license]: Delete duplicates.
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r-- | guix/profiles.scm | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index 59a313ea08..deefce2e26 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1526,53 +1526,6 @@ the entries in MANIFEST." `((type . profile-hook) (hook . manual-database)))) -(define (texlive-configuration manifest) - "Return a derivation that builds a TeXlive configuration for the entries in -MANIFEST." - (define entry->texlive-input - (match-lambda - (($ <manifest-entry> name version output thing deps) - (if (string-prefix? "texlive-" name) - (cons (gexp-input thing output) - (append-map entry->texlive-input deps)) - '())))) - (define build - (with-imported-modules '((guix build utils) - (guix build union)) - #~(begin - (use-modules (guix build utils) - (guix build union)) - - ;; Build a modifiable union of all texlive inputs. We do this so - ;; that TeX live can resolve the parent and grandparent directories - ;; correctly. There might be a more elegant way to accomplish this. - (union-build #$output - '#$(append-map entry->texlive-input - (manifest-entries manifest)) - #:create-all-directories? #t - #:log-port (%make-void-port "w")) - (let ((texmf.cnf (string-append - #$output - "/share/texmf-dist/web2c/texmf.cnf"))) - (when (file-exists? texmf.cnf) - (substitute* texmf.cnf - (("^TEXMFROOT = .*") - (string-append "TEXMFROOT = " #$output "/share\n")) - (("^TEXMF = .*") - "TEXMF = $TEXMFROOT/share/texmf-dist\n")))) - #t))) - - (with-monad %store-monad - (if (any (cut string-prefix? "texlive-" <>) - (map manifest-entry-name (manifest-entries manifest))) - (gexp->derivation "texlive-configuration" build - #:substitutable? #f - #:local-build? #t - #:properties - `((type . profile-hook) - (hook . texlive-configuration))) - (return #f)))) - (define %default-profile-hooks ;; This is the list of derivation-returning procedures that are called by ;; default when making a non-empty profile. @@ -1584,7 +1537,6 @@ MANIFEST." glib-schemas gtk-icon-themes gtk-im-modules - texlive-configuration xdg-desktop-database xdg-mime-database)) |