about summary refs log tree commit diff
path: root/gn/packages/javascript.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/javascript.scm')
-rw-r--r--gn/packages/javascript.scm37
1 files changed, 21 insertions, 16 deletions
diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm
index 69c5f90..c7371a3 100644
--- a/gn/packages/javascript.scm
+++ b/gn/packages/javascript.scm
@@ -595,24 +595,29 @@ tables with minimal effort.  This package comes with Bootstrap5 integration
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://cdn.jsdelivr.net/npm/xterm@" version
-                           "/lib/xterm.min.js"))
-       (file-name (string-append "xterm.min" version ".js"))
+       (uri
+        (string-append "https://registry.npmjs.org/xterm/-/xterm-"
+                       version
+                       ".tgz"))
        (sha256
-        (base32 "0pb5f3rjbpg7zz1zkd72vkwsma3pnj07mq46jj95yghy48dx67gw"))))
-    (build-system trivial-build-system)
+        (base32 "11db21afvny4m8ar40jpbc5wb5kgx4wqcbha0w2ixbr8p1l82lhz"))))
+    (build-system minify-build-system)
     (arguments
-     `(#:modules ((guix build utils))
-       #:builder (begin
-		   (use-modules (guix build utils))
-		   (let* ((out (assoc-ref %outputs "out"))
-			  (targetdir (string-append
-				      out
-				      "/share/genenetwork2/javascript/xterm"))
-			  (source (assoc-ref %build-inputs "source")))
-		     (mkdir-p targetdir)
-		     (copy-file source
-				(string-append targetdir "/xterm.min.js"))))))
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'build) ; xterm.js is already minified
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; copy the minified files
+             (let* ((source (getcwd))
+                    (out (assoc-ref outputs "out"))
+                    (js (string-append out "/share/javascript/")))
+               (mkdir-p js)
+               (for-each
+                (lambda (filename)
+                  (install-file filename js))
+                (append
+                 (find-files (string-append source "/lib"))))))))))
     (native-inputs `(("source" ,source)))
     (home-page "https://xtermjs.org/")
     (synopsis