aboutsummaryrefslogtreecommitdiff
#pragma once

namespace nix {


#define WORKER_MAGIC_1 0x6e697863
#define WORKER_MAGIC_2 0x6478696f

#define PROTOCOL_VERSION 0x164
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)


typedef enum {
    wopIsValidPath = 1,
    wopHasSubstitutes = 3,
    wopQueryPathHash = 4,
    wopQueryReferences = 5,
    wopQueryReferrers = 6,
    wopAddToStore = 7,
    wopAddTextToStore = 8,
    wopBuildPaths = 9,
    wopEnsurePath = 10,
    wopAddTempRoot = 11,
    wopAddIndirectRoot = 12,
    wopSyncWithGC = 13,
    wopFindRoots = 14,
    wopExportPath = 16,
    wopQueryDeriver = 18,
    wopSetOptions = 19,
    wopCollectGarbage = 20,
    wopQuerySubstitutablePathInfo = 21,
    wopQueryDerivationOutputs = 22,
    wopQueryAllValidPaths = 23,
    wopQueryFailedPaths = 24,
    wopClearFailedPaths = 25,
    wopQueryPathInfo = 26,
    wopImportPaths = 27,
    wopQueryDerivationOutputNames = 28,
    wopQueryPathFromHashPart = 29,
    wopQuerySubstitutablePathInfos = 30,
    wopQueryValidPaths = 31,
    wopQuerySubstitutablePaths = 32,
    wopQueryValidDerivers = 33,
    wopOptimiseStore = 34,
    wopVerifyStore = 35,
    wopBuiltinBuilders = 80,
    wopSubstituteURLs = 81
} WorkerOp;


#define STDERR_NEXT  0x6f6c6d67
#define STDERR_READ  0x64617461 // data needed from source
#define STDERR_WRITE 0x64617416 // data for sink
#define STDERR_LAST  0x616c7473
#define STDERR_ERROR 0x63787470


Path readStorePath(Source & from);
template<class T> T readStorePaths(Source & from);


}
791c917519057d7cc54b11b3babada71fb2d7b6b parent3394febb2aead9d61df8f09fabe18a4ad648d96e (diff)downloadguix-da343b4c4c1518a2221a6af8843282b5d22cdaca.tar.gz
guix-da343b4c4c1518a2221a6af8843282b5d22cdaca.zip
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
Diffstat
-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")