me
/
guix
Archived
1
0
Fork 0

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 Holland
master
Maxim Cournoyer 2022-04-09 13:07:33 -04:00
parent cea6ff3d80
commit 1ee15c8d68
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 130 additions and 17 deletions

View File

@ -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