diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 994f03987e..9f8fdbafdc 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -50,6 +50,7 @@ #:use-module (guix build-system texlive) #:use-module (guix utils) #:use-module (guix deprecation) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix svn-download) #:use-module (gnu packages) @@ -58,6 +59,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages lisp) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages gd) @@ -10820,6 +10822,54 @@ the package @code{calc}, together with the ability of defining new commands to handle complex tests.") (license license:lppl))) +(define-public texlive-xindy + (package + (name "texlive-xindy") + (version "2.5.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://ctan/indexing/xindy/base/xindy-" + version ".tar.gz")) + (sha256 + (base32 + "0hxsx4zw19kmixkmrln17sxgg1ln4pfp4lpfn5v5fyr1nwfyk3ic")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags #~(list "--enable-docs") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-clisp + (lambda* (#:key inputs #:allow-other-keys) + ;; The xindy.in file is encoded in ISO-8859-1 (or iso-latin-1). + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* "user-commands/xindy.in" + (("(our \\$clisp = ).*" _ head) + (format #f "our $clisp = ~s;~%" + (search-input-file inputs "bin/clisp")))))))))) + (native-inputs (list clisp + glibc-locales + perl + texlive-bin + texlive-greek-fontenc + texlive-hyperref + texlive-latex-base + texlive-latex-cyrillic + texlive-latex-geometry + (texlive-updmap.cfg ;fonts + (list texlive-cbfonts + texlive-lh + texlive-jknappen)))) + (inputs (list clisp perl)) ;used at run time + (home-page "https://www.ctan.org/pkg/xindy") + (synopsis "General-purpose index processor") + (description "Xindy was developed after an impasse had been encountered in +the attempt to complete internationalisation of @command{makeindex}. Xindy +can be used to process indexes for documents marked up using (La)TeX, Nroff +family and SGML-based languages. Xindy is highly configurable, both in markup +terms and in terms of the collating order of the text being processed.") + (license license:gpl2+))) + (define-public bibtool (package (name "bibtool")