unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Arun Isaac <arunisaac@systemreboot.net>
Cc: 42885@debbugs.gnu.org, Brendan Tildesley <mail@brendan.scot>
Subject: [bug#42885] [PATCH 0/4] gnu: calibre: Update to 4.22.0.
Date: Thu, 14 Jan 2021 21:49:58 +0100	[thread overview]
Message-ID: <87k0sfckg9.fsf@elephly.net> (raw)
In-Reply-To: <874kjjsgxr.fsf@systemreboot.net>

[-- Attachment #1: Type: text/plain, Size: 639 bytes --]


Arun Isaac <arunisaac@systemreboot.net> writes:

> I got a minimal swc (attached in my previous mail) working. This minimal
> swc works for compiling typescript to javascript. But, I haven't figured
> out how to use it to build web components.

We can also try esbuild.

> This is blocking packaging
> mathjax v3, and thus calibre. I feel that if calibre can go ahead
> without mathjax v3, it should. Then, we can close this issue and open a
> separate one for web components and mathjax.

I’ve been trying to package mathjax v3 for a while, but didn’t get far
enough to present anything yet.  Here’s what I have:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: p.patch --]
[-- Type: text/x-patch, Size: 4092 bytes --]

diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index 8434836c6f..e6ff5d619d 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages lisp-xyz)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages web)
   #:use-module (guix packages)
@@ -270,6 +271,95 @@ of wicked-good-xpath together with xmldom.")
       (license (list license:expat
                      license:lgpl2.0)))))
 
+(define-public js-mathjax-3
+  (package
+    (name "js-mathjax")
+    (version "3.1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/mathjax/MathJax-src")
+              (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0kqcb6pl0zfs4hf8zqb4l50kkfq7isv35vpy05m0lg0yr9w0w4ai"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 match))
+         (set-path-environment-variable
+          "PATH" '("bin") (map (match-lambda
+                                 ((_ . input)
+                                  input))
+                               %build-inputs))
+         (copy-recursively (assoc-ref %build-inputs "source")
+                           "source")
+         (chdir "source")
+
+         ;; TODO: we can't build this because it depends on
+         ;; speech-rule-engine.
+         ;;(delete-file-recursively "ts/a11y")
+         (delete-file-recursively "components/src/a11y")
+         
+         ;;(delete-file-recursively "components/src/sre")
+         ;; This file copies a11y files, which we don't build (see above).
+         (delete-file "components/src/node-main/copy.json")
+
+         (substitute* '("components/bin/build"
+                        "components/bin/pack"
+                        "components/bin/copy"
+                        "components/bin/makeAll")
+           (("/usr/bin/env node")
+            (which "node")))
+
+         ;; Make the compiled files of the context menu available. 
+         (mkdir-p "mj-context-menu/js")
+         (copy-recursively (string-append (assoc-ref %build-inputs "js-context-menu")
+                                          "/share/javascript/context-menu")
+                           "mj-context-menu/js")
+
+         (let ((esbuild (string-append (assoc-ref %build-inputs "esbuild")
+                                       "/bin/esbuild"))
+               (node (string-append (assoc-ref %build-inputs "node")
+                                    "/bin/node"))
+               (target (string-append %output "/share/javascript/mathjax")))
+
+           ;; Transpile TypeScript
+           (apply invoke esbuild
+                  "--bundle"
+                  "--tsconfig=tsconfig.json"
+                  "--platform=node"
+                  "--outdir=js"
+                  (find-files "ts" "\\.ts$"))
+
+           (setenv "HOME" "/tmp")
+           (with-directory-excursion "components"
+             ;; This requires network access
+             (substitute* "bin/makeAll"
+               (("processDir\\(fulldir, webpackLib\\);") ""))
+             (invoke node "bin/makeAll" "src"))
+
+           ;; Build components
+           (invoke esbuild
+                   "components/src/tex-chtml-full/tex-chtml-full.js"
+                   "--bundle"
+                   "--minify"
+                   "--platform=node"
+                   (string-append "--outfile=" target "/es5/mml-chtml.js"))))))
+    (native-inputs
+     `(("esbuild" ,esbuild)
+       ("node" ,node-10.22)
+       ("js-context-menu" ,js-context-menu)))
+    (home-page "https://www.mathjax.org/")
+    (synopsis "TODO")
+    (description "TODO")
+    (license license:asl2.0)))
+
 (define-public js-respond
   (package
     (name "js-respond")

[-- Attachment #3: Type: text/plain, Size: 14 bytes --]



-- 
Ricardo

  reply	other threads:[~2021-01-14 20:51 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-16  6:55 [bug#42885] [PATCH 0/4] gnu: calibre: Update to 4.22.0 Brendan Tildesley
2020-08-21  9:20 ` [bug#42885] [PATCH] gnu: calibre: Update to 4.23.0 Brendan Tildesley
2020-08-22 17:30   ` Leo Famulari
     [not found] ` <handler.42885.B.159756092810548.ack@debbugs.gnu.org>
2020-08-16  7:03   ` [bug#42885] [PATCH 1/4] gnu: ebook.scm: remove duplicate module import Brendan Tildesley
2020-08-16  7:03     ` [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3) Brendan Tildesley
2020-08-24  1:05       ` Leo Famulari
2020-08-24  4:25         ` Arun Isaac
2020-08-24  5:12           ` Brendan Tildesley
2020-08-24  6:44             ` Arun Isaac
2020-08-24  7:27               ` Brendan Tildesley
2020-08-24  7:41               ` Brendan Tildesley
2020-09-04  9:02                 ` Ludovic Courtès
2020-09-04 11:59                   ` Andreas Enge
2020-09-04 18:13                   ` Arun Isaac
2020-09-04 19:43                     ` Ricardo Wurmus
2020-09-09  6:36                       ` Arun Isaac
2020-09-09  7:19                         ` Ricardo Wurmus
2020-09-09 19:48                           ` Arun Isaac
2020-09-17 10:14                             ` Arun Isaac
2020-09-17 11:24                               ` Ricardo Wurmus
2020-09-21 10:36                                 ` Arun Isaac
2020-09-21 11:08                                   ` Brendan Tildesley
2020-09-22  5:39                                     ` Arun Isaac
2020-09-29 23:56                                       ` [bug#42885] Merge wip-swc Brendan Tildesley
2020-09-30  5:38                                         ` Arun Isaac
2020-10-12  7:23                                           ` Arun Isaac
2020-10-12 22:17                                             ` Brendan Tildesley
2020-10-13 18:44                                               ` Arun Isaac
2020-10-13 21:22                                                 ` Ricardo Wurmus
2020-10-19 18:45                                                   ` Arun Isaac
2021-01-13 15:00                                                     ` [bug#42885] [PATCH 0/4] gnu: calibre: Update to 4.22.0 Ludovic Courtès
2021-01-14 14:59                                                       ` Arun Isaac
2021-01-14 20:49                                                         ` Ricardo Wurmus [this message]
2021-02-17  2:47                                                       ` Brendan Tildesley
2020-09-04 13:10               ` [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3) Ricardo Wurmus
2020-08-16  7:03     ` [bug#42885] [PATCH 3/4] gnu: calibre: Update to 4.22.0 Brendan Tildesley
2020-08-16  7:03     ` [bug#42885] [PATCH 4/4] gnu: calibre: Add wrap phase for qtwebengine Brendan Tildesley
2020-08-24  1:01     ` [bug#42885] [PATCH 1/4] gnu: ebook.scm: remove duplicate module import Leo Famulari
2020-08-22 23:24   ` [bug#42885] ([PATCH 2/4] gnu: calibre: Update to 4.23.0 (new release) Brendan Tildesley
2020-08-25  1:59   ` [bug#42885] [PATCH 2/4] gnu: Add mathjax-3 Brendan Tildesley
2020-09-07  3:11 ` [bug#42885] Regarding Patch 4 Prafulla Giri
2020-09-07  3:40   ` Prafulla Giri
2021-03-10  9:00 ` [bug#42885] [PATCH 01/27] gnu: python-sip: Update to 5.5.0. Add python-sip-4 Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 02/27] gnu: python2-sip: Fix build Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 03/27] gnu: veusz: " Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 04/27] gnu: Add python-pyqt-builder Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 05/27] gnu: Add python-pyqt5-sip Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 06/27] gnu: python-pyqt: Fix build for new python-sip Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 07/27] gnu: Add python-ifaddr Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 08/27] gnu: Add python-zeroconf Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 09/27] gnu: Add python-pyannotate Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 10/27] gnu: Add python-multivolumefile Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 11/27] gnu: Add python-ppmd-cffi Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 12/27] gnu: python-zstandard: Update to 0.15.2 Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 13/27] gnu: Add python-pyzstd Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 14/27] gnu: Add python-bcj-cffi Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 15/27] gnu: Add python-py7zr Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 16/27] gnu: python-markdown: Update to 3.3.4 Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 17/27] gnu: python-feedparser: Update to 6.0.2 Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 18/27] gnu: python-poppler-qt5: Fix build Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 19/27] gnu: python-poppler-qt5: Update to 21.1.0 Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 20/27] gnu: Add python-pychm Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 21/27] gnu: Add python-cchardet Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 22/27] gnu: python-html5lib: Add python-chardet input Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 23/27] gnu: calibre: Update to 5.13.0 Brendan Tildesley
2021-03-23 18:25     ` Leo Famulari
2021-03-23 18:36     ` Leo Famulari
2021-03-24  2:13       ` Brendan Tildesley
2021-03-29 20:12         ` Leo Famulari
2021-03-29 23:05         ` Leo Famulari
2021-03-30  6:23           ` Brendan Tildesley
2021-04-05 19:58             ` Leo Famulari
2021-04-06  1:30               ` Brendan Tildesley
2021-04-06 17:11                 ` Leo Famulari
2021-04-07  3:57                   ` Brendan Tildesley
2021-04-08  0:05                     ` Leo Famulari
2021-04-08  1:14                       ` Leo Famulari
2021-04-08  3:59                       ` Leo Famulari
2021-04-08  4:11                         ` Brendan Tildesley
2021-04-08  4:28                           ` Leo Famulari
2021-04-08 11:17                             ` Brendan Tildesley
2021-04-09 20:12                               ` bug#42885: " Leo Famulari
2021-03-30 10:45           ` [bug#42885] " Brendan Tildesley
2021-04-04 17:46             ` Leo Famulari
2021-03-10  9:00   ` [bug#42885] [PATCH 24/27] gnu: calibre: Patch some paths Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 25/27] gnu: calibre: Add qtsvg as input Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 26/27] gnu: Remove python2-pyqtwebengine Brendan Tildesley
2021-03-10  9:00   ` [bug#42885] [PATCH 27/27] gnu: Remove python2-pyqt Brendan Tildesley
2021-03-21  7:00 ` [bug#42885] [PATCHES] 2 more fixes Brendan Tildesley via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k0sfckg9.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=42885@debbugs.gnu.org \
    --cc=arunisaac@systemreboot.net \
    --cc=mail@brendan.scot \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).