aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/tex.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r--gnu/packages/tex.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 4fbc7e604e..ebf5fe3fa7 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -74273,6 +74273,7 @@ that it will build with web2c out of the box.")
texlive-plain
texlive-tex-ini-files
texlive-unicode-data
+ texlive-xetex-bin
texlive-xetexconfig))
(home-page "https://ctan.org/pkg/xetex")
(synopsis "Extended variant of TeX for use with Unicode sources")
@@ -74288,6 +74289,48 @@ which is ordinarily processed by a tightly bound processor (called
@code{xdvipdfmx}), that produces PDF.")
(license license:x11)))
+(define-public texlive-xetex-bin
+ (package
+ (inherit texlive-bin)
+ (name "texlive-xetex-bin")
+ (arguments
+ (substitute-keyword-arguments (package-arguments texlive-bin)
+ ((#:configure-flags flags)
+ #~(cons* "--disable-web2c"
+ "--enable-xetex"
+ (delete "--disable-xetex"
+ (delete "--enable-web2c" #$flags))))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'set-default-xetex-outputdriver
+ ;; XeTeX requires the "xdvipdfmx" binary to be available in the
+ ;; same tree, so as to use it as a safe default "outputdriver".
+ ;; Use the one from TEXLIVE-DVIPDFMX-BIN instead of reporting an
+ ;; error each time "xelatex" is invoked.
+ (lambda _
+ (substitute* "texk/web2c/xetexdir/XeTeX_ext.c"
+ (("(\\*outputdriver = \")xdvipdfmx " _ prefix)
+ (string-append prefix
+ #$(this-package-input "texlive-dvipdfmx-bin")
+ "/bin/xdvipdfmx ")))))
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin")))
+ (with-directory-excursion "texk/web2c"
+ (invoke "make" "xetex")
+ (install-file "xetex" bin))
+ (with-directory-excursion bin
+ (symlink "xetex" "xelatex")))))))))
+ (native-inputs (list pkg-config))
+ (inputs
+ (modify-inputs (package-inputs texlive-bin)
+ (append freetype teckit texlive-dvipdfmx-bin)))
+ (home-page (package-home-page texlive-xetex))
+ (synopsis "Binary for @code{texlive-xetex}")
+ (description
+ "This package provides the binary for @code{texlive-xetex}.")
+ (license (package-license texlive-xetex))))
+
(define-public texlive-xfor
(package
(name "texlive-xfor")