From da343b4c4c1518a2221a6af8843282b5d22cdaca Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 27 May 2024 18:39:32 +0200 Subject: [PATCH] gnu: Add texlive-xetex-bin. * gnu/packages/tex.scm (texlive-xetex-bin): New variable. (texlive-xetex)[propagated-inputs]: Add TEXLIVE-XETEX-BIN. Change-Id: Iafb5e1347f4ff054711f52fb70204a30ae065797 --- gnu/packages/tex.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) 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 @@ (define-public texlive-xetex 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 @@ (define-public texlive-xetex @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")