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 bash)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages fonts)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages gd)
|
#:use-module (gnu packages gd)
|
||||||
#:use-module (gnu packages ghostscript)
|
#: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.")
|
also provides compacted versions of enumerate and itemize.")
|
||||||
(license license:lppl1.0+)))
|
(license license:lppl1.0+)))
|
||||||
|
|
||||||
(define-public texlive-latex-polyglossia
|
(define-public texlive-polyglossia
|
||||||
(package
|
(package
|
||||||
(name "texlive-latex-polyglossia")
|
(inherit (simple-texlive-package
|
||||||
(version (number->string %texlive-revision))
|
"texlive-polyglossia"
|
||||||
(source (origin
|
(list "source/latex/polyglossia/"
|
||||||
(method svn-fetch)
|
;; These files are not part of polyglossia.dtx
|
||||||
(uri (texlive-ref "latex" "polyglossia"))
|
"tex/latex/polyglossia/arabicnumbers.sty"
|
||||||
(file-name (string-append name "-" version "-checkout"))
|
"tex/latex/polyglossia/xpg-cyrillicnumbers.sty")
|
||||||
(sha256
|
(base32 "1p0hhclypv2zbs8h64c6sd689m9ym3vvpn966qpwpjxbymsrc49g")))
|
||||||
(base32
|
(outputs '("out" "doc"))
|
||||||
"1ci6hr8hx4g2x359n6wqvw6w8fv42cjjpzxxxd3pn6av5nkaiav3"))))
|
(arguments
|
||||||
(build-system texlive-build-system)
|
(list
|
||||||
(arguments '(#:tex-directory "latex/polyglossia"))
|
#: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")
|
(home-page "https://www.ctan.org/pkg/polyglossia")
|
||||||
(synopsis "Alternative to babel for XeLaTeX and LuaLaTeX")
|
(synopsis "Alternative to Babel for XeLaTeX and LuaLaTeX")
|
||||||
(description
|
(description "This package provides a complete Babel replacement for users
|
||||||
"This package provides a complete Babel replacement for users of LuaLaTeX
|
of LuaLaTeX and XeLaTeX. It includes support for over 70 different languages,
|
||||||
and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least.")
|
some of which in different regional or national varieties, or using a
|
||||||
(license license:lppl1.3+)))
|
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
|
(define-public texlive-latex-supertabular
|
||||||
(package
|
(package
|
||||||
|
|
Reference in New Issue