1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017, 2022 Ricardo Wurmus <rekado@elephly.net>
4 ;;; This file is part of GNU Guix.
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 (define-module (test-texlive)
20 #:use-module (gnu packages tex)
21 #:use-module (guix import texlive)
22 #:use-module (guix tests)
23 #:use-module (guix tests http)
24 #:use-module (guix build utils)
25 #:use-module (srfi srfi-1)
26 #:use-module (srfi srfi-64)
27 #:use-module (srfi srfi-26)
28 #:use-module (web client)
29 #:use-module (ice-9 match))
31 (test-begin "texlive")
38 . "Strictly balanced brackets and numbers in command names")
40 . "This is a small, LuaLaTeX-only package providing you with three,
41 sometimes useful features: It allows you to make brackets [...] \"strict\",
42 meaning that each [ must be balanced by a ]. It allows you to use numbers in
43 command names, so that you can do stuff like \\newcommand\\pi12{\\pi_{12}}. It
44 allows you to use numbers and primes in command names, so that you can do
45 stuff like \\newcommand\\pi'12{\\pi '_{12}}.")
47 . ("texmf-dist/doc/lualatex/stricttex/README.md"
48 "texmf-dist/doc/lualatex/stricttex/stricttex.pdf"))
50 . ("texmf-dist/tex/lualatex/stricttex/stricttex.lua"
51 "texmf-dist/tex/lualatex/stricttex/stricttex.sty"))
52 (catalogue-license . "lppl1.3c")))
57 . "Plain TeX macros for Physicists")
59 . "TeXsis is a TeX macro package which provides useful features for
60 typesetting research papers and related documents. For example, it includes
61 support specifically for: Automatic numbering of equations, figures, tables
62 and references; Simplified control of type sizes, line spacing, footnotes,
63 running headlines and footlines, and tables of contents, figures and tables;
64 Specialized document formats for research papers, preprints and \"e-prints\",
65 conference proceedings, theses, books, referee reports, letters, and
66 memoranda; Simplified means of constructing an index for a book or thesis;
67 Easy to use double column formatting; Specialized environments for lists,
68 theorems and proofs, centered or non-justified text, and listing computer
69 code; Specialized macros for easily constructing ruled tables. TeXsis was
70 originally developed for physicists, but others may also find it useful. It is
71 completely compatible with Plain TeX.")
72 (depend . ("cm" "hyphen-base" "knuth-lib" "plain" "tex"))
74 . ("texmf-dist/doc/man/man1/texsis.1"
75 "texmf-dist/doc/man/man1/texsis.man1.pdf"
76 "texmf-dist/doc/otherformats/texsis/base/COPYING"
77 "texmf-dist/doc/otherformats/texsis/base/Example.tex"
78 "texmf-dist/doc/otherformats/texsis/base/Fonts.tex"
79 "texmf-dist/doc/otherformats/texsis/base/INSTALL"
80 "texmf-dist/doc/otherformats/texsis/base/Install.tex"
81 "texmf-dist/doc/otherformats/texsis/base/MANIFEST"
82 "texmf-dist/doc/otherformats/texsis/base/Manual.fgl"
83 "texmf-dist/doc/otherformats/texsis/base/Manual.ref"
84 "texmf-dist/doc/otherformats/texsis/base/Manual.tbl"
85 "texmf-dist/doc/otherformats/texsis/base/Manual.tex"
86 "texmf-dist/doc/otherformats/texsis/base/NEWS"
87 "texmf-dist/doc/otherformats/texsis/base/README"
88 "texmf-dist/doc/otherformats/texsis/base/TXSapxF.doc"
89 "texmf-dist/doc/otherformats/texsis/base/TXScover.doc"
90 "texmf-dist/doc/otherformats/texsis/base/TXSdcol.doc"
91 "texmf-dist/doc/otherformats/texsis/base/TXSdoc.doc"
92 "texmf-dist/doc/otherformats/texsis/base/TXSdoc0.doc"
93 "texmf-dist/doc/otherformats/texsis/base/TXSdocM.doc"
94 "texmf-dist/doc/otherformats/texsis/base/TXSend.doc"
95 "texmf-dist/doc/otherformats/texsis/base/TXSenvmt.doc"
96 "texmf-dist/doc/otherformats/texsis/base/TXSeqns.doc"
97 "texmf-dist/doc/otherformats/texsis/base/TXSfigs.doc"
98 "texmf-dist/doc/otherformats/texsis/base/TXSfmts.doc"
99 "texmf-dist/doc/otherformats/texsis/base/TXSfonts.doc"
100 "texmf-dist/doc/otherformats/texsis/base/TXSinstl.doc"
101 "texmf-dist/doc/otherformats/texsis/base/TXSintro.doc"
102 "texmf-dist/doc/otherformats/texsis/base/TXSletr.doc"
103 "texmf-dist/doc/otherformats/texsis/base/TXSmisc.doc"
104 "texmf-dist/doc/otherformats/texsis/base/TXSprns.doc"
105 "texmf-dist/doc/otherformats/texsis/base/TXSrefs.doc"
106 "texmf-dist/doc/otherformats/texsis/base/TXSrevs.doc"
107 "texmf-dist/doc/otherformats/texsis/base/TXSruled.doc"
108 "texmf-dist/doc/otherformats/texsis/base/TXSsects.doc"
109 "texmf-dist/doc/otherformats/texsis/base/TXSsite.000"
110 "texmf-dist/doc/otherformats/texsis/base/TXSsymb.doc"
111 "texmf-dist/doc/otherformats/texsis/base/TXStags.doc"
112 "texmf-dist/doc/otherformats/texsis/base/index.tex"
113 "texmf-dist/doc/otherformats/texsis/base/letr"
114 "texmf-dist/doc/otherformats/texsis/base/penguin.eps"
115 "texmf-dist/doc/otherformats/texsis/base/penguin2.eps"
116 "texmf-dist/doc/otherformats/texsis/base/texsis.el"
117 "texmf-dist/doc/otherformats/texsis/base/texsis.lsm"))
119 . ("texmf-dist/bibtex/bst/texsis/texsis.bst"
120 "texmf-dist/tex/texsis/base/AIP.txs"
121 "texmf-dist/tex/texsis/base/CVformat.txs"
122 "texmf-dist/tex/texsis/base/Elsevier.txs"
123 "texmf-dist/tex/texsis/base/Exam.txs"
124 "texmf-dist/tex/texsis/base/Formletr.txs"
125 "texmf-dist/tex/texsis/base/IEEE.txs"
126 "texmf-dist/tex/texsis/base/PhysRev.txs"
127 "texmf-dist/tex/texsis/base/Spanish.txs"
128 "texmf-dist/tex/texsis/base/Swedish.txs"
129 "texmf-dist/tex/texsis/base/TXSconts.tex"
130 "texmf-dist/tex/texsis/base/TXSdcol.tex"
131 "texmf-dist/tex/texsis/base/TXSenvmt.tex"
132 "texmf-dist/tex/texsis/base/TXSeqns.tex"
133 "texmf-dist/tex/texsis/base/TXSfigs.tex"
134 "texmf-dist/tex/texsis/base/TXSfmts.tex"
135 "texmf-dist/tex/texsis/base/TXSfonts.tex"
136 "texmf-dist/tex/texsis/base/TXShead.tex"
137 "texmf-dist/tex/texsis/base/TXSinit.tex"
138 "texmf-dist/tex/texsis/base/TXSletr.tex"
139 "texmf-dist/tex/texsis/base/TXSmacs.tex"
140 "texmf-dist/tex/texsis/base/TXSmemo.tex"
141 "texmf-dist/tex/texsis/base/TXSprns.tex"
142 "texmf-dist/tex/texsis/base/TXSrefs.tex"
143 "texmf-dist/tex/texsis/base/TXSruled.tex"
144 "texmf-dist/tex/texsis/base/TXSsects.tex"
145 "texmf-dist/tex/texsis/base/TXSsite.tex"
146 "texmf-dist/tex/texsis/base/TXSsymb.tex"
147 "texmf-dist/tex/texsis/base/TXStags.tex"
148 "texmf-dist/tex/texsis/base/TXStitle.tex"
149 "texmf-dist/tex/texsis/base/Tablebod.txs"
150 "texmf-dist/tex/texsis/base/WorldSci.txs"
151 "texmf-dist/tex/texsis/base/color.txs"
152 "texmf-dist/tex/texsis/base/nuclproc.txs"
153 "texmf-dist/tex/texsis/base/printfont.txs"
154 "texmf-dist/tex/texsis/base/spine.txs"
155 "texmf-dist/tex/texsis/base/texsis.tex"
156 "texmf-dist/tex/texsis/base/thesis.txs"
157 "texmf-dist/tex/texsis/base/twin.txs"
158 "texmf-dist/tex/texsis/config/texsis.ini"))
159 (catalogue-license . "lppl")))))
161 (test-assert "texlive->guix-package"
162 ;; Replace network resources with sample data.
163 (mock ((guix build svn) svn-fetch
164 (lambda* (url revision directory
165 #:key (svn-command "svn")
170 (with-output-to-file (string-append directory "/foo")
172 (display "source")))))
173 (let ((result (texlive->guix-package "texsis"
175 (lambda _ %fake-tlpdb))))
178 ('inherit ('simple-texlive-package
180 ('list "bibtex/bst/texsis/"
182 "doc/otherformats/texsis/base/"
184 "tex/texsis/config/")
185 ('base32 (? string? hash))
194 ('home-page "https://www.tug.org/texlive/")
195 ('synopsis "Plain TeX macros for Physicists")
196 ('description (? string? description))
201 (format #t "~s~%" result)
202 (pk 'fail result #f)))))))