diff options
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r-- | gnu/packages/tex.scm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 31b7d9ff56..b47baec349 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -296,6 +296,9 @@ should not be installed in a profile.") (define-public texlive-libkpathsea (package (name "texlive-libkpathsea") + ;; TODO: ungraft on tex-team or a dedicated branch, + ;; integrating the missing definitions. + (replacement texlive-libkpathsea/fixed) (version (package-version texlive-source)) (source (origin @@ -395,6 +398,47 @@ should not be installed in a profile.") of user-specified directories similar to how shells look up executables.") (license license:lgpl2.1))) +(define texlive-libkpathsea/fixed + (package + (inherit texlive-libkpathsea) + (arguments + (substitute-keyword-arguments (package-arguments texlive-libkpathsea) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'customize-texmf.cnf + (lambda _ + (substitute* "texk/kpathsea/texmf.cnf" + (("^TEXMFROOT = .*") "TEXMFROOT = {$GUIX_TEXMF}/..\n") + (("^TEXMFDIST = .*") "TEXMFDIST = {$GUIX_TEXMF}\n") + ;; Use XDG recommendations for local variables. Also ignore + ;; system-wide cache, which is not writable; use local one + ;; instead, i.e., "$XDG_CACHE_HOME/texliveYYYY/texmf-var/". + (("^TEXMFVAR = ~/\\.") + (string-append "XDG_CACHE_HOME = ~/.cache\n" + "TEXMFVAR = $XDG_CACHE_HOME/")) + (("^TEXMFCONFIG = ~/\\.") + (string-append "XDG_CONFIG_HOME = ~/.config\n" + "TEXMFCONFIG = $XDG_CONFIG_HOME/")) + (("^TEXMFCACHE = .*") "TEXMFCACHE = $TEXMFVAR\n") + ;; "ls-R" files are to be expected only in the TEXMFDIST + ;; directories. TEXMFLOCAL is not necessary for Guix, but + ;; could be required anyway by external TeX installations. + (("^TEXMF = .*") + "TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!TEXMFLOCAL,TEXMFSYSVAR,TEXMFSYSCONFIG,!!$TEXMFDIST}\n") + (("^TEXMFDBS = .*") "TEXMFDBS = {!!$TEXMFLOCAL,!!$TEXMFDIST}\n") + ;; Set TEXMFCNF. Since earlier values of variables have + ;; precedence over later ones, insert the desired value first. + (("^TEXMFCNF =") + (string-append + "TEXMFCNF = " #$output "/share/texmf-dist/web2c\n" + "TEXMFCNF =")) + ;; Help TeX finding fonts installed on the system. + (("^OSFONTDIR = .*") "OSFONTDIR = {$XDG_DATA_DIRS}\n") + ;; Don't truncate lines. + (("^error_line = .*$") "error_line = 254\n") + (("^half_error_line = .*$") "half_error_line = 238\n") + (("^max_print_line = .*$") "max_print_line = 1000\n")))))))))) + (define-public texlive-libptexenc (package (name "texlive-libptexenc") |