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
This commit is contained in:
Nicolas Goaziou 2024-05-27 18:39:32 +02:00 committed by Ludovic Courtès
parent 3394febb2a
commit da343b4c4c
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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")