summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-06-13 12:41:33 +0200
committerRicardo Wurmus <rekado@elephly.net>2022-06-13 12:43:31 +0200
commit7846896156da7ec45a3a3f5566b2a12c8ed3472b (patch)
tree64d8b5cf4dfeb7e86f68954c469379b2f8e85d25 /gnu
parent97ebfc8f5c829b1a069f73395d6ffaf2d8096f5f (diff)
gnu: Add js-mathjax-for-r-mathjaxr.
* gnu/packages/patches/mathjax-3.1.2-no-a11y.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/javascript.scm (js-mathjax-for-r-mathjaxr): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/javascript.scm57
-rw-r--r--gnu/packages/patches/mathjax-3.1.2-no-a11y.patch281
3 files changed, 339 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f7f7084b4ef..a3760fbd475 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1475,6 +1475,7 @@ dist_patch_DATA = \
1475 %D%/packages/patches/mars-sfml-2.3.patch \ 1475 %D%/packages/patches/mars-sfml-2.3.patch \
1476 %D%/packages/patches/mathjax-disable-webpack.patch \ 1476 %D%/packages/patches/mathjax-disable-webpack.patch \
1477 %D%/packages/patches/mathjax-no-a11y.patch \ 1477 %D%/packages/patches/mathjax-no-a11y.patch \
1478 %D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
1478 %D%/packages/patches/maxima-defsystem-mkdir.patch \ 1479 %D%/packages/patches/maxima-defsystem-mkdir.patch \
1479 %D%/packages/patches/maven-generate-component-xml.patch \ 1480 %D%/packages/patches/maven-generate-component-xml.patch \
1480 %D%/packages/patches/maven-generate-javax-inject-named.patch \ 1481 %D%/packages/patches/maven-generate-javax-inject-named.patch \
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index 028b5c43916..5598341e5cc 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -313,6 +313,63 @@ be able to view it naturally and easily.")))
313 (description (package-description js-mathjax)) 313 (description (package-description js-mathjax))
314 (license license:asl2.0))) 314 (license license:asl2.0)))
315 315
316(define-public js-mathjax-for-r-mathjaxr
317 (package
318 (inherit js-mathjax-3)
319 (name "js-mathjax")
320 (version "3.1.2")
321 (source
322 (origin
323 (method git-fetch)
324 (uri (git-reference
325 (url "https://github.com/mathjax/MathJax-src")
326 (commit version)))
327 (file-name (git-file-name name version))
328 (sha256
329 (base32
330 "0kqcb6pl0zfs4hf8zqb4l50kkfq7isv35vpy05m0lg0yr9w0w4ai"))
331 (patches (search-patches "mathjax-disable-webpack.patch"
332 "mathjax-3.1.2-no-a11y.patch"))))
333 (arguments
334 (substitute-keyword-arguments (package-arguments js-mathjax-3)
335 ((#:phases phases '%standard-phases)
336 `(modify-phases ,phases
337 (replace 'prepare-sources
338 (lambda* (#:key inputs #:allow-other-keys)
339 ;; All a11y components depend on speech-rule-engine, which cannot be
340 ;; built from source. Since this only affects accessibility, remove them.
341 (delete-file-recursively "ts/a11y")
342 (delete-file-recursively "components/src/a11y")
343 (delete-file-recursively "components/src/sre")
344 (delete-file-recursively "components/src/node-main")
345
346 ;; Copy sources of dependencies, so we can create symlinks.
347 (mkdir-p "node_modules")
348 (with-directory-excursion "node_modules"
349 (for-each
350 (lambda (p)
351 (copy-recursively (assoc-ref inputs (string-append "node-" p)) p))
352 '("mj-context-menu")))
353
354 ;; Make sure esbuild can find imports. This way we don’t have to rewrite files.
355 (symlink "ts" "js")
356 (symlink "ts" "node_modules/mj-context-menu/js")))))))
357 (native-inputs
358 `(("esbuild" ,esbuild)
359 ("node" ,node-lts)
360 ("node-mj-context-menu"
361 ,(let ((name "context-menu")
362 (version "0.6.1"))
363 (origin
364 (method git-fetch)
365 (uri (git-reference
366 (url "https://github.com/zorkow/context-menu.git")
367 (commit (string-append "v" version))))
368 (file-name (git-file-name name version))
369 (sha256
370 (base32
371 "1q063l6477z285j6h5wvccp6iswvlp0jmb96sgk32sh0lf7nhknh")))))))))
372
316(define-public js-commander 373(define-public js-commander
317 (package 374 (package
318 (name "js-commander") 375 (name "js-commander")
diff --git a/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch b/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch
new file mode 100644
index 00000000000..97bd82c5363
--- /dev/null
+++ b/gnu/packages/patches/mathjax-3.1.2-no-a11y.patch
@@ -0,0 +1,281 @@
1commit 9bb6f1e11264fb075bfa70fa3684f10a32414594
2Author: Lars-Dominik Braun <lars@6xq.net>
3Date: Wed Dec 1 14:28:06 2021 +0100
4
5 guix: Remove accessibility.
6
7 We cannot build speech-rule-engine from source and thus all dependents
8 must be removed. This affects all a11y modules and menu items, which
9 may try to load components.
10
11diff --git a/components/src/dependencies.js b/components/src/dependencies.js
12index f9be6f93..822f8fb6 100644
13--- a/components/src/dependencies.js
14+++ b/components/src/dependencies.js
15@@ -16,6 +16,3 @@
16 export const dependencies = {
17- 'a11y/semantic-enrich': ['input/mml', '[sre]'],
18- 'a11y/complexity': ['a11y/semantic-enrich'],
19- 'a11y/explorer': ['a11y/semantic-enrich', 'ui/menu'],
20 '[tex]/all-packages': ['input/tex-base'],
21 '[tex]/action': ['input/tex-base', '[tex]/newcommand'],
22@@ -58,6 +55,5 @@ export const dependencies = {
23 export const paths = {
24 tex: '[mathjax]/input/tex/extensions',
25- sre: '[mathjax]/sre/' + (typeof window === 'undefined' ? 'sre-node' : 'sre_browser')
26 };
27
28 const allPackages = [
29diff --git a/components/src/mml-chtml/mml-chtml.js b/components/src/mml-chtml/mml-chtml.js
30index c0bd18ee..a283a1ab 100644
31--- a/components/src/mml-chtml/mml-chtml.js
32+++ b/components/src/mml-chtml/mml-chtml.js
33@@ -5,5 +5,4 @@ import '../input/mml/mml.js';
34 import '../output/chtml/chtml.js';
35 import '../output/chtml/fonts/tex/tex.js';
36 import '../ui/menu/menu.js';
37-import '../a11y/assistive-mml/assistive-mml.js';
38 import '../startup/startup.js';
39diff --git a/components/src/mml-chtml/preload.js b/components/src/mml-chtml/preload.js
40index e3f202f7..3699570e 100644
41--- a/components/src/mml-chtml/preload.js
42+++ b/components/src/mml-chtml/preload.js
43@@ -5,5 +5,5 @@ Loader.preLoad(
44 'core',
45 'input/mml',
46 'output/chtml', 'output/chtml/fonts/tex.js',
47- 'ui/menu', 'a11y/assistive-mml'
48+ 'ui/menu'
49 );
50diff --git a/components/src/mml-svg/mml-svg.js b/components/src/mml-svg/mml-svg.js
51index 172b2433..23b66e69 100644
52--- a/components/src/mml-svg/mml-svg.js
53+++ b/components/src/mml-svg/mml-svg.js
54@@ -5,5 +5,4 @@ import '../input/mml/mml.js';
55 import '../output/svg/svg.js';
56 import '../output/svg/fonts/tex/tex.js';
57 import '../ui/menu/menu.js';
58-import '../a11y/assistive-mml/assistive-mml.js';
59 import '../startup/startup.js';
60diff --git a/components/src/mml-svg/preload.js b/components/src/mml-svg/preload.js
61index 3cb47d42..89f6b9f9 100644
62--- a/components/src/mml-svg/preload.js
63+++ b/components/src/mml-svg/preload.js
64@@ -5,5 +5,5 @@ Loader.preLoad(
65 'core',
66 'input/mml',
67 'output/svg', 'output/svg/fonts/tex.js',
68- 'ui/menu', 'a11y/assistive-mml'
69+ 'ui/menu'
70 );
71diff --git a/components/src/source.js b/components/src/source.js
72index ba6d6835..02ecf18d 100644
73--- a/components/src/source.js
74+++ b/components/src/source.js
75@@ -62,11 +62,5 @@ export const source = {
76 'output/chtml/fonts/tex': `${src}/output/chtml/fonts/tex/tex.js`,
77 'output/svg': `${src}/output/svg/svg.js`,
78 'output/svg/fonts/tex': `${src}/output/svg/fonts/tex/tex.js`,
79- 'a11y/assistive-mml': `${src}/a11y/assistive-mml/assistive-mml.js`,
80- 'a11y/semantic-enrich': `${src}/a11y/semantic-enrich/semantic-enrich.js`,
81- 'a11y/complexity': `${src}/a11y/complexity/complexity.js`,
82- 'a11y/explorer': `${src}/a11y/explorer/explorer.js`,
83- '[sre]': (typeof window === 'undefined' ? `${src}/../../js/a11y/sre-node.js` :
84- `${src}/../../node_modules/speech-rule-engine/lib/sre_browser.js`),
85 'ui/menu': `${src}/ui/menu/menu.js`,
86 'ui/safe': `${src}/ui/safe/safe.js`,
87diff --git a/components/src/tex-chtml-full/preload.js b/components/src/tex-chtml-full/preload.js
88index 76c81c92..0eb3a8e2 100644
89--- a/components/src/tex-chtml-full/preload.js
90+++ b/components/src/tex-chtml-full/preload.js
91@@ -5,5 +5,5 @@ Loader.preLoad(
92 'core',
93 'input/tex-full',
94 'output/chtml', 'output/chtml/fonts/tex.js',
95- 'ui/menu', 'a11y/assistive-mml'
96+ 'ui/menu'
97 );
98diff --git a/components/src/tex-chtml-full/tex-chtml-full.js b/components/src/tex-chtml-full/tex-chtml-full.js
99index 12291be9..c3f59e6b 100644
100--- a/components/src/tex-chtml-full/tex-chtml-full.js
101+++ b/components/src/tex-chtml-full/tex-chtml-full.js
102@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js';
103 import '../output/chtml/chtml.js';
104 import '../output/chtml/fonts/tex/tex.js';
105 import '../ui/menu/menu.js';
106-import '../a11y/assistive-mml/assistive-mml.js';
107 import '../startup/startup.js';
108diff --git a/components/src/tex-chtml/preload.js b/components/src/tex-chtml/preload.js
109index 89f110c5..5dae092f 100644
110--- a/components/src/tex-chtml/preload.js
111+++ b/components/src/tex-chtml/preload.js
112@@ -5,5 +5,5 @@ Loader.preLoad(
113 'core',
114 'input/tex',
115 'output/chtml', 'output/chtml/fonts/tex.js',
116- 'ui/menu', 'a11y/assistive-mml'
117+ 'ui/menu'
118 );
119diff --git a/components/src/tex-chtml/tex-chtml.js b/components/src/tex-chtml/tex-chtml.js
120index 8d98865e..4d100a48 100644
121--- a/components/src/tex-chtml/tex-chtml.js
122+++ b/components/src/tex-chtml/tex-chtml.js
123@@ -5,5 +5,4 @@ import '../input/tex/tex.js';
124 import '../output/chtml/chtml.js';
125 import '../output/chtml/fonts/tex/tex.js';
126 import '../ui/menu/menu.js';
127-import '../a11y/assistive-mml/assistive-mml.js';
128 import '../startup/startup.js';
129diff --git a/components/src/tex-mml-chtml/preload.js b/components/src/tex-mml-chtml/preload.js
130index 7adb6a3b..3945370f 100644
131--- a/components/src/tex-mml-chtml/preload.js
132+++ b/components/src/tex-mml-chtml/preload.js
133@@ -5,5 +5,5 @@ Loader.preLoad(
134 'core',
135 'input/tex', 'input/mml',
136 'output/chtml', 'output/chtml/fonts/tex.js',
137- 'ui/menu', 'a11y/assistive-mml'
138+ 'ui/menu'
139 );
140diff --git a/components/src/tex-mml-chtml/tex-mml-chtml.js b/components/src/tex-mml-chtml/tex-mml-chtml.js
141index 4167bd59..0b068dc6 100644
142--- a/components/src/tex-mml-chtml/tex-mml-chtml.js
143+++ b/components/src/tex-mml-chtml/tex-mml-chtml.js
144@@ -6,5 +6,4 @@ import '../input/mml/mml.js';
145 import '../output/chtml/chtml.js';
146 import '../output/chtml/fonts/tex/tex.js';
147 import '../ui/menu/menu.js';
148-import '../a11y/assistive-mml/assistive-mml.js';
149 import '../startup/startup.js';
150diff --git a/components/src/tex-mml-svg/preload.js b/components/src/tex-mml-svg/preload.js
151index 69d6a2c5..bad39af1 100644
152--- a/components/src/tex-mml-svg/preload.js
153+++ b/components/src/tex-mml-svg/preload.js
154@@ -5,5 +5,5 @@ Loader.preLoad(
155 'core',
156 'input/tex', 'input/mml',
157 'output/svg', 'output/svg/fonts/tex.js',
158- 'ui/menu', 'a11y/assistive-mml'
159+ 'ui/menu'
160 );
161diff --git a/components/src/tex-mml-svg/tex-mml-svg.js b/components/src/tex-mml-svg/tex-mml-svg.js
162index acff78dd..3ca4e6cf 100644
163--- a/components/src/tex-mml-svg/tex-mml-svg.js
164+++ b/components/src/tex-mml-svg/tex-mml-svg.js
165@@ -6,5 +6,4 @@ import '../input/mml/mml.js';
166 import '../output/svg/svg.js';
167 import '../output/svg/fonts/tex/tex.js';
168 import '../ui/menu/menu.js';
169-import '../a11y/assistive-mml/assistive-mml.js';
170 import '../startup/startup.js';
171diff --git a/components/src/tex-svg-full/preload.js b/components/src/tex-svg-full/preload.js
172index d4165cf8..8871781a 100644
173--- a/components/src/tex-svg-full/preload.js
174+++ b/components/src/tex-svg-full/preload.js
175@@ -5,5 +5,5 @@ Loader.preLoad(
176 'core',
177 'input/tex-full',
178 'output/svg', 'output/svg/fonts/tex.js',
179- 'ui/menu', 'a11y/assistive-mml'
180+ 'ui/menu'
181 );
182diff --git a/components/src/tex-svg-full/tex-svg-full.js b/components/src/tex-svg-full/tex-svg-full.js
183index 55ce32f2..09c7e65c 100644
184--- a/components/src/tex-svg-full/tex-svg-full.js
185+++ b/components/src/tex-svg-full/tex-svg-full.js
186@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js';
187 import '../output/svg/svg.js';
188 import '../output/svg/fonts/tex/tex.js';
189 import '../ui/menu/menu.js';
190-import '../a11y/assistive-mml/assistive-mml.js';
191 import '../startup/startup.js';
192diff --git a/components/src/tex-svg/preload.js b/components/src/tex-svg/preload.js
193index 284ce317..3eb02665 100644
194--- a/components/src/tex-svg/preload.js
195+++ b/components/src/tex-svg/preload.js
196@@ -5,5 +5,5 @@ Loader.preLoad(
197 'core',
198 'input/tex',
199 'output/svg', 'output/svg/fonts/tex.js',
200- 'ui/menu', 'a11y/assistive-mml'
201+ 'ui/menu'
202 );
203diff --git a/components/src/tex-svg/tex-svg.js b/components/src/tex-svg/tex-svg.js
204index f4ce644e..5d8caa5c 100644
205--- a/components/src/tex-svg/tex-svg.js
206+++ b/components/src/tex-svg/tex-svg.js
207@@ -5,5 +5,4 @@ import '../input/tex/tex.js';
208 import '../output/svg/svg.js';
209 import '../output/svg/fonts/tex/tex.js';
210 import '../ui/menu/menu.js';
211-import '../a11y/assistive-mml/assistive-mml.js';
212 import '../startup/startup.js';
213diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts
214index 7553aafc..ca0b9780 100644
215--- a/ts/ui/menu/Menu.ts
216+++ b/ts/ui/menu/Menu.ts
217@@ -135,7 +135,7 @@ export class Menu {
218 autocollapse: false,
219 collapsible: false,
220 inTabOrder: true,
221- assistiveMml: true,
222+ assistiveMml: false,
223 explorer: false
224 },
225 jax: {
226@@ -475,7 +475,7 @@ export class Menu {
227 this.command('Reset', 'Reset to defaults', () => this.resetDefaults())
228 ]),
229 this.submenu('Accessibility', 'Accessibility', [
230- this.checkbox('Activate', 'Activate', 'explorer'),
231+ this.checkbox('Activate', 'Activate', 'explorer', {disabled: true}),
232 this.submenu('Speech', 'Speech', [
233 this.checkbox('Speech', 'Speech Output', 'speech'),
234 this.checkbox('Subtitles', 'Speech Subtitles', 'subtitles'),
235@@ -534,11 +534,11 @@ export class Menu {
236 this.checkbox('Prefix', 'Prefix', 'infoPrefix')
237 ], true),
238 this.rule(),
239- this.checkbox('Collapsible', 'Collapsible Math', 'collapsible'),
240+ this.checkbox('Collapsible', 'Collapsible Math', 'collapsible', {disabled: true}),
241 this.checkbox('AutoCollapse', 'Auto Collapse', 'autocollapse', {disabled: true}),
242 this.rule(),
243 this.checkbox('InTabOrder', 'Include in Tab Order', 'inTabOrder'),
244- this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml')
245+ this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml', {disabled: true})
246 ]),
247 this.submenu('Language', 'Language'),
248 this.rule(),
249@@ -722,6 +722,7 @@ export class Menu {
250 * @param {boolean} mml True to output hidden Mathml, false to not
251 */
252 protected setAssistiveMml(mml: boolean) {
253+ mml = false;
254 this.document.options.enableAssistiveMml = mml;
255 if (!mml || (MathJax._.a11y && MathJax._.a11y['assistive-mml'])) {
256 this.rerender();
257@@ -734,6 +735,7 @@ export class Menu {
258 * @param {boolean} explore True to enable the explorer, false to not
259 */
260 protected setExplorer(explore: boolean) {
261+ explore = false;
262 this.enableExplorerItems(explore);
263 this.document.options.enableExplorer = explore;
264 if (!explore || (MathJax._.a11y && MathJax._.a11y.explorer)) {
265@@ -747,6 +749,7 @@ export class Menu {
266 * @param {boolean} collapse True to enable collapsible math, false to not
267 */
268 protected setCollapsible(collapse: boolean) {
269+ collapse = false;
270 this.document.options.enableComplexity = collapse;
271 if (!collapse || (MathJax._.a11y && MathJax._.a11y.complexity)) {
272 this.rerender(STATE.COMPILED);
273@@ -845,6 +848,8 @@ export class Menu {
274 * @param {string} component The name of the a11y component to load
275 */
276 public loadA11y(component: string) {
277+ console.log ('ignoring load for', component);
278+ return;
279 const noEnrich = !STATE.ENRICHED;
280 this.loadComponent('a11y/' + component, () => {
281 const startup = MathJax.startup;