diff options
Diffstat (limited to 'gnu/packages/tex.scm')
-rw-r--r-- | gnu/packages/tex.scm | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4d9bb4bb2a..877040ade5 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -38665,267 +38665,6 @@ documents as well as DVI output.") (define-deprecated-package texlive-generic-pdftex texlive-pdftex) -(define texlive-bin-full - (package/inherit texlive-bin - (name "texlive-bin-full") - (arguments - (substitute-keyword-arguments (package-arguments texlive-bin) - ((#:configure-flags _) - #~(let ((kpathsea #$(this-package-input "texlive-libkpathsea"))) - (list "--with-banner-add=/GNU Guix" - "--enable-shared" - "--disable-native-texlive-build" - "--disable-static" - "--disable-kpathsea" - "--with-system-cairo" - "--with-system-freetype2" - "--with-system-gd" - "--with-system-gmp" - "--with-system-graphite2" - "--with-system-harfbuzz" - "--with-system-icu" - "--with-system-libgs" - "--with-system-libpaper" - "--with-system-libpng" - "--with-system-mpfr" - "--with-system-pixman" - "--with-system-potrace" - "--with-system-teckit" - "--with-system-zlib" - "--with-system-zziplib" - ;; Help locating external kpathsea. For some reason - ;; PKG-CONFIG is unable to find it. - "--with-system-kpathsea" - (format #f "--with-kpathsea-includes=~a/include" kpathsea) - (format #f "--with-kpathsea-lib=~a/lib" kpathsea) - ;; LuaJIT is not ported to some architectures yet. - #$@(if (or (target-ppc64le?) - (target-riscv64?)) - '("--disable-luajittex" - "--disable-luajithbtex" - "--disable-mfluajit") - '())))) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'install 'symlink-kpathsea-binaries - (lambda _ - (let ((bin (string-append - #$(this-package-input "texlive-libkpathsea") - "/bin")) - (files - '("kpseaccess" "kpsereadlink" "kpsestat" "kpsewhich"))) - (with-directory-excursion (string-append #$output "/bin") - (for-each (lambda (b) (symlink (string-append bin "/" b) b)) - files))))) - (add-after 'install 'merge-core-scripts - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (let ((texlive-scripts - (dirname - (dirname - (search-input-file (or native-inputs inputs) - "tlpkg/texlive.tlpdb")))) - (tlpkg (string-append #$output "/share/tlpkg"))) - ;; "tlpkg" directory is neither provided by texlive-bin nor - ;; by texlive-texmf. - (mkdir-p tlpkg) - (copy-recursively (string-append texlive-scripts "/tlpkg") - tlpkg) - ;; texlive-bin source doesn't provide this Perl script. - ;; Yet, it is referenced in "fmtutil.pl" so we need to move - ;; it here too. - (install-file - (string-append texlive-scripts - "/texmf-dist/scripts/texlive/mktexlsr.pl") - (string-append #$output - "/share/texmf-dist/scripts/texlive"))))) - (add-after 'merge-core-scripts 'patch-core-scripts - (lambda _ - (with-directory-excursion - (string-append #$output "/share/texmf-dist/scripts/texlive") - ;; Make sure that fmtutil can find its Perl modules. - (substitute* "fmtutil.pl" - (("\\$TEXMFROOT/") - (string-append #$output "/share/"))) - ;; Likewise for updmap.pl. - (substitute* "updmap.pl" - (("\\$TEXMFROOT/tlpkg") - (string-append #$output "/share/tlpkg"))) - ;; Likewise for the tlmgr. - (substitute* "tlmgr.pl" - ((".*\\$::installerdir = \\$Master.*" all) - (format #f " $Master = ~s;~%~a" - (string-append #$output "/share") - all)))))) - (add-after 'patch-core-scripts 'patch-shell-scripts - (lambda _ - (with-directory-excursion - (string-append #$output "/share/texmf-dist/scripts") - ;; First patch shell scripts with ".sh" extension. - (let* ((scripts (find-files "." "\\.sh$")) - (commands '("awk" "basename" "cat" "grep" "mkdir" "rm" - "sed" "sort" "uname")) - (command-regexp - (format #f "\\b(~a)\\b" (string-join commands "|"))) - (iso-8859-1-encoded-scripts - '("./texlive-extra/rubibtex.sh" - "./texlive-extra/rumakeindex.sh"))) - (define (substitute-commands scripts) - (substitute* scripts - ((command-regexp dummy command) - (which command)))) - (substitute-commands - (lset-difference string= scripts iso-8859-1-encoded-scripts)) - (with-fluids ((%default-port-encoding "ISO-8859-1")) - (substitute-commands iso-8859-1-encoded-scripts))) - ;; Then patch scripts without such extension. - (let ((dirs (map (compose dirname which) - (list "awk" "cat" "grep" "sed")))) - (substitute* (find-files "texlive" "^mktex(mf|pk|tfm)$") - (("^version=" m) - (format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a" - dirs m))))))))))) - (native-inputs - (modify-inputs (package-native-inputs texlive-bin) - (append (package-source texlive-scripts)))) - (inputs - (modify-inputs (package-inputs texlive-bin) - (append texlive-libkpathsea))) - (propagated-inputs '()))) - -(define texlive-texmf - (package - (name "texlive-texmf") - (version (package-version texlive-bin)) - (source (origin - (method url-fetch) - (uri (string-append "ftp://tug.org/historic/systems/texlive/" - (string-take version 4) - "/texlive-" version "-texmf.tar.xz")) - (sha256 - (base32 - "0lqjm11pr9vasvivaci3k9xcmdyd08ldnh31zf8avjjs09xcfkac")))) - (build-system copy-build-system) - (arguments - (list - #:modules '((guix build copy-build-system) - (guix build utils) - (srfi srfi-1) - (srfi srfi-26)) - ;; This package takes 4 GiB, which we can't afford to distribute from - ;; our servers. - #:substitutable? #f - #:install-plan #~'(("texmf-dist/" "share/texmf-dist")) - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'texmf-config - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (let* ((share (string-append #$output "/share")) - (texmf-dist (string-append share "/texmf-dist")) - (web2c (string-append texmf-dist "/web2c")) - (fmtutil.cnf (string-append web2c "/fmtutil.cnf")) - (texlive-bin - #$(this-package-native-input "texlive-bin-full"))) - ;; LuaJIT is not ported to powerpc64* yet. - (if #$(target-ppc64le?) - (substitute* fmtutil.cnf - (("^(luajittex|luajithbtex|mfluajit)" m) - (string-append "#! " m)))) - ;; Register paths in texmfcnf.lua, needed for context. - (substitute* (string-append web2c "/texmfcnf.lua") - (("selfautodir:") #$output) - (("selfautoparent:") (string-append share "/"))) - ;; Set path to TeXLive Perl modules - (setenv "PERL5LIB" - (string-append (getenv "PERL5LIB") ":" - (string-append texlive-bin - "/share/tlpkg"))) - ;; Configure the texmf-dist tree. - (setenv "GUIX_TEXMF" texmf-dist) - (setenv "PATH" - (string-append (getenv "PATH") ":" texlive-bin "/bin:")) - (let ((updmap.cfg (string-append web2c "/updmap.cfg"))) - (invoke (string-append texlive-bin "/bin/updmap-sys") - "--nohash" "--syncwithtrees" - (string-append "--cnffile=" updmap.cfg))) - (invoke (string-append texlive-bin "/bin/fmtutil-sys") - "--cnffile" fmtutil.cnf - "--all" - "--fmtdir" web2c))))))) - (native-inputs (list texlive-bin-full)) - (inputs (list lua perl python-wrapper ruby tcsh)) - (properties `((max-silent-time . 9600))) ; don't time out while grafting - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world. - -This package contains the complete tree of texmf-dist data.") - (license (license:fsf-free "https://www.tug.org/texlive/copying.html")) - (home-page "https://www.tug.org/texlive/"))) - -(define-public texlive - (package - (name "texlive") - (version (package-version texlive-bin)) - (source #f) - (build-system trivial-build-system) - (arguments - (list - #:modules '((guix build utils)) - #:builder - ;; Build the union of texlive-bin-full and texlive-texmf, but take the - ;; conflicting subdirectory share/texmf-dist from texlive-texmf. - #~(begin - (use-modules (guix build utils)) - (let ((bin #$(this-package-input "texlive-bin-full")) - (texmf #$(this-package-input "texlive-texmf"))) - (mkdir #$output) - (with-directory-excursion #$output - ;; "include/" and "lib/" directories. - (for-each - (lambda (name) - (symlink (string-append bin "/" name) name)) - '("include" "lib")) - ;; "bin/" directory. - (mkdir "bin") - (with-directory-excursion "bin" - (for-each - (lambda (name) (symlink name (basename name))) - (find-files (string-append bin "/bin/") ""))) - ;; "share/info", "share/man", share/texmf-dist/" and - ;; "share/tlpkg/" directories. - (mkdir "share") - (with-directory-excursion "share" - (for-each - (lambda (name) - (symlink (string-append bin "/share/" name) name)) - '("info" "man" "tlpkg")) - (symlink (string-append texmf "/share/texmf-dist") - "texmf-dist")) - ;; Now everything is in place, generate ls-R file. - (setenv "PATH" - (string-append - (getenv "PATH") ":" - #$(this-package-input "texlive-bin-full") "/bin")) - (invoke (string-append bin "/bin/mktexlsr"))))))) - (inputs (list texlive-bin-full texlive-texmf)) - (propagated-inputs (list texlive-libkpathsea)) - (native-search-paths - (list (search-path-specification - (variable "TEXMFLOCAL") - (files '("share/texmf-local"))))) - (synopsis "TeX Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts that -are free software, including support for many languages around the world. - -This package contains the complete TeX Live distribution.") - (license (license:fsf-free "https://www.tug.org/texlive/copying.html")) - (home-page "https://www.tug.org/texlive/"))) - (define-public texlive-biber (package (name "texlive-biber") @@ -39022,8 +38761,6 @@ UTF-8, can (re)-encode input and output, supports highly configurable sorting, dynamic bibliography sets and many other features.") (license license:artistic2.0))) -(define-deprecated-package biber texlive-biber) - (define-public rubber (package (name "rubber") |