From 36c31674bfc3b227727005fa8eb0a421777fc44d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 28 May 2024 22:07:11 +0200 Subject: [PATCH] gnu: texlive-xindy: Build binary separately. * gnu/packages/tex.scm (texlive-xindy-bin): New variable. (texlive-xindy): Use source from TEXLIVE-ORIGIN and make it a regular TeX Live package. [arguments]: Remove it. [propagated-inputs]: Add TEXLIVE-XINDY-BIN. Change-Id: I589b192dcd8fb35deab5d4017c411001a4d05dda --- gnu/packages/tex.scm | 64 +++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index c6570786ec..db28b0b0d3 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -73331,12 +73331,38 @@ (define-public texlive-xifthen (define-public texlive-xindy (package - ;; Texmf tree in TeX Live is incomplete, as it doesn't include - ;; "xindy.mem", so it is not possible to use `texlive-origin'. This file - ;; isn't build by default by `texlive-bin' either. Build it specially - ;; from TEXLIVE-SOURCE instead. - (inherit texlive-bin) (name "texlive-xindy") + (version (number->string %texlive-revision)) + (source + (texlive-origin name version + (list "doc/man/man1/tex2xindy.1" + "doc/man/man1/tex2xindy.man1.pdf" + "doc/man/man1/texindy.1" + "doc/man/man1/texindy.man1.pdf" + "doc/man/man1/xindy.1" + "doc/man/man1/xindy.man1.pdf" + "doc/xindy/" + "scripts/xindy/" + "xindy/") + (base32 + "12j2bi0wwp1hyxr1427hhigqmhsd1fyg90bvghxkm1qck85r24vf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-xindy-bin)) + (home-page "https://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 texlive-xindy-bin + (package + (inherit texlive-bin) + (name "texlive-xindy-bin") (source (origin (inherit texlive-source) @@ -73359,16 +73385,16 @@ (define-public texlive-xindy (substitute-keyword-arguments (package-arguments texlive-bin) ((#:configure-flags flags) #~(cons "--enable-xindy" (delete "--enable-web2c" #$flags))) - ((#:phases _) - #~(modify-phases %standard-phases - ;; Building documentation require to generate font metrics, but - ;; HOME and therefore TEXMFVAR are unavailable. Use a local - ;; TEXMFVAR instead. + ((#:phases phases) + #~(modify-phases #$phases (add-before 'build 'set-texmfvar + ;; Building documentation require to generate font metrics, but + ;; HOME and therefore TEXMFVAR are unavailable. Use a local + ;; TEXMFVAR instead. (lambda _ (setenv "TEXMFVAR" (string-append (getcwd) "/texmf-var")))) - ;; XXX: Install process does not create this directory. (add-before 'install 'create-missing-directory + ;; XXX: Install process does not create this directory. (lambda _ (mkdir-p (string-append #$output "/bin")))) (add-after 'install 'patch-clisp-location @@ -73380,23 +73406,19 @@ (define-public texlive-xindy (format #f "our $clisp = ~s;~%" (search-input-file inputs "/bin/clisp"))))))))))) (native-inputs - (list clisp - (texlive-updmap.cfg + (list (texlive-updmap.cfg (list texlive-cbfonts-fd texlive-cyrillic texlive-greek-fontenc texlive-lh)))) (inputs (list clisp perl)) + (propagated-inputs '()) (native-search-paths '()) - (home-page "https://ctan.org/pkg/xindy") - (synopsis "General-purpose index processor") + (home-page (package-home-page texlive-xindy)) + (synopsis "Binary for @code{texlive-xindy}") (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+))) + "This package provides the binary for @code{texlive-xindy}.") + (license (package-license texlive-xindy)))) (define-public texlive-xindy-persian (package