gnu: texlive-polyglossia: Rename and fix package.
Fixes <https://issues.guix.gnu.org/35780>. * gnu/packages/tex.scm (texlive-latex-polyglossia): Rename to... (texlive-polyglossia): ... this. Inherit from a simple-texlive-package package. [version, source, build-system]: Remove field, now inherited. [outputs]: New field. [arguments]: Add the #:tex-format and #:phases arguments. [native-inputs, propagated-inputs]: New fields. [description]: Expound description. Reported-by: Josh Hollandmaster
parent
cea6ff3d80
commit
1ee15c8d68
|
@ -58,6 +58,7 @@
|
|||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
|
@ -5716,25 +5717,137 @@ running text or as separate paragraphs with a preceding number or symbol. It
|
|||
also provides compacted versions of enumerate and itemize.")
|
||||
(license license:lppl1.0+)))
|
||||
|
||||
(define-public texlive-latex-polyglossia
|
||||
(define-public texlive-polyglossia
|
||||
(package
|
||||
(name "texlive-latex-polyglossia")
|
||||
(version (number->string %texlive-revision))
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (texlive-ref "latex" "polyglossia"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ci6hr8hx4g2x359n6wqvw6w8fv42cjjpzxxxd3pn6av5nkaiav3"))))
|
||||
(build-system texlive-build-system)
|
||||
(arguments '(#:tex-directory "latex/polyglossia"))
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-polyglossia"
|
||||
(list "source/latex/polyglossia/"
|
||||
;; These files are not part of polyglossia.dtx
|
||||
"tex/latex/polyglossia/arabicnumbers.sty"
|
||||
"tex/latex/polyglossia/xpg-cyrillicnumbers.sty")
|
||||
(base32 "1p0hhclypv2zbs8h64c6sd689m9ym3vvpn966qpwpjxbymsrc49g")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/polyglossia"
|
||||
#:tex-format "xelatex"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-and-install-xelatex.fmt
|
||||
(lambda* (#:key tex-format #:allow-other-keys)
|
||||
(invoke "fmtutil-sys" "--byfmt" tex-format "--fmtdir=web2c")
|
||||
;; Extend the current TEXMF environment variable to make
|
||||
;; available the newly built formats.
|
||||
(setenv "GUIX_TEXMF" (string-append (getcwd) ":"
|
||||
(getenv "GUIX_TEXMF")))
|
||||
;; XXX: Extend the base (more limited) xelatex.fmt provided by
|
||||
;; texlive-latex-base, otherwise packages using Polyglossia
|
||||
;; would encounter the same lack of hyphenation support problem.
|
||||
(install-file "web2c/xetex/xelatex.fmt"
|
||||
(string-append #$output
|
||||
"/share/texmf-dist/web2c/xetex"))))
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
;; This is so the build can find the files not part of the .dtx.
|
||||
(setenv "TEXINPUTS" (string-append (getcwd)
|
||||
"/tex/latex/polyglossia:"))
|
||||
(chdir "source/latex/polyglossia")))
|
||||
(add-after 'chdir 'substitute-nonfree-fonts
|
||||
(lambda _
|
||||
(substitute* "polyglossia.dtx"
|
||||
(("\\{Serto Jerusalem}")
|
||||
"{FreeSans}"))))
|
||||
(add-after 'substitute-nonfree-fonts 'extract-dtx
|
||||
(lambda* (#:key tex-format #:allow-other-keys)
|
||||
(invoke tex-format "polyglossia.dtx")))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/texmf-dist/doc" tex-directory)))
|
||||
(install-file "README.md" doc)
|
||||
(install-file "polyglossia.pdf" doc)))))))
|
||||
(native-inputs (list fontconfig ;for XDG_DATA_DIRS (to locate fonts)
|
||||
font-amiri
|
||||
font-dejavu
|
||||
font-gfs-ambrosia
|
||||
font-gnu-freefont
|
||||
font-linuxlibertine
|
||||
font-sil-ezra
|
||||
texlive-latex-base
|
||||
texlive-babel
|
||||
texlive-bin ;for fmtutil.cnf
|
||||
texlive-bidi
|
||||
texlive-booktabs
|
||||
texlive-caption
|
||||
texlive-context
|
||||
texlive-latex-fancyvrb
|
||||
texlive-etoolbox
|
||||
texlive-fonts-latex
|
||||
texlive-fontspec
|
||||
texlive-hyperref
|
||||
;; TODO: Remove texlive-stringenc and
|
||||
;; texlive-zapfding after texlive-hyperref propagates
|
||||
;; them.
|
||||
texlive-stringenc
|
||||
texlive-zapfding
|
||||
texlive-latex-graphics
|
||||
texlive-kpathsea ;for cp227.tcx & friends
|
||||
texlive-makecmds
|
||||
texlive-metalogo
|
||||
texlive-microtype
|
||||
texlive-paralist
|
||||
texlive-latex-tools
|
||||
texlive-tex-ini-files)) ;for pdftexconfig
|
||||
;; polyglossia.sty \RequirePackage or \\usepackage these other TexLive
|
||||
;; packages.
|
||||
(propagated-inputs
|
||||
(list texlive-bidi
|
||||
texlive-etoolbox
|
||||
texlive-fontspec
|
||||
texlive-hyperref
|
||||
;; TODO: Remove texlive-stringenc and
|
||||
;; texlive-zapfding after texlive-hyperref propagates
|
||||
;; them.
|
||||
texlive-stringenc
|
||||
texlive-zapfding
|
||||
texlive-makecmds
|
||||
texlive-latex-l3packages ;expl3, l3keys2e, xparse
|
||||
texlive-latex-tools
|
||||
texlive-latex-xkeyval))
|
||||
(home-page "https://www.ctan.org/pkg/polyglossia")
|
||||
(synopsis "Alternative to babel for XeLaTeX and LuaLaTeX")
|
||||
(description
|
||||
"This package provides a complete Babel replacement for users of LuaLaTeX
|
||||
and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least.")
|
||||
(license license:lppl1.3+)))
|
||||
(synopsis "Alternative to Babel for XeLaTeX and LuaLaTeX")
|
||||
(description "This package provides a complete Babel replacement for users
|
||||
of LuaLaTeX and XeLaTeX. It includes support for over 70 different languages,
|
||||
some of which in different regional or national varieties, or using a
|
||||
different writing system. It enables:
|
||||
@itemize
|
||||
@item
|
||||
Loading the appropriate hyphenation patterns.
|
||||
@item
|
||||
Setting the script and language tags of the current font (if possible and
|
||||
available), using the package fontspec.
|
||||
@item
|
||||
Switching to a font assigned by the user to a particular script or language.
|
||||
@item
|
||||
Adjusting some typographical conventions in function of the current language
|
||||
(such as afterindent, frenchindent, spaces before or after punctuation marks,
|
||||
etc.)
|
||||
@item
|
||||
Redefining the document strings (like @samp{chapter}, @samp{figure},
|
||||
@samp{bibliography}). Adapting the formatting of dates (for non-gregorian
|
||||
calendars via external packages bundled with polyglossia: currently the
|
||||
Hebrew, Islamic and Farsi calendars are supported).
|
||||
@item
|
||||
For languages that have their own numeration system, modifying the formatting
|
||||
of numbers appropriately.
|
||||
@item
|
||||
Ensuring the proper directionality if the document contains languages
|
||||
written from right to left (via the packages bidi and luabidi, available
|
||||
separately).
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-deprecated-package texlive-latex-polyglossia texlive-polyglossia)
|
||||
|
||||
(define-public texlive-latex-supertabular
|
||||
(package
|
||||
|
|
Reference in New Issue