GNU bug report logs -
#78424
[PATCH] gnu: texlive-libkpathsea: Add definitions for XDG paths.
Previous Next
Full log
View this message in rfc822 format
Without these paths set, if they are unset in the environment, jobs that need
to read from/write to TEXMFVAR or TEXMFCONFIG will fail. If set, environment
variables take precedence.
* gnu/packages/tex.scm (texlive-libkpathsea): Add replacement, pointing to…
(texlive-libkpathsea/fixed): … this. Add definitions for XDG_CACHE_HOME and
XDG_CONFIG_HOME.
---
For v2, I'm replacing the entire phase, because this makes it easier to strip
the leading dot and should also make it easier to ungraft.
gnu/packages/tex.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 31b7d9ff566..b47baec3497 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -296,6 +296,9 @@ (define-public texlive-source
(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 @@ (define-public texlive-libkpathsea
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")
base-commit: 9f3d8dbda60bb1dd15d2956c334354947df8b3f5
--
2.49.0
This bug report was last modified 13 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.