about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/javascript.scm44
1 files changed, 29 insertions, 15 deletions
diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm
index c7371a3..d55065c 100644
--- a/gn/packages/javascript.scm
+++ b/gn/packages/javascript.scm
@@ -634,23 +634,37 @@ 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
-                           "/css/xterm.min.css"))
-       (file-name (string-append "xterm.min" version ".css"))
+       (uri
+        (string-append "https://registry.npmjs.org/xterm/-/xterm-"
+                       version
+                       ".tgz"))
        (sha256
-        (base32 "0qhfll6g9vfamicw6kccmdgzrz6m7jz97whydwbzj10qsyv8npr7"))))
+        (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.css"))))))
+     `(#:javascript-files (list "css/xterm.css")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'rename-minified-css
+           (lambda* _
+             (for-each
+              (lambda (file)
+                (let* ((path-length (string-length file))
+                       (ext-length (string-length ".css.min.js")))
+                  (copy-recursively file
+                                    (string-replace file ".min.css" (- path-length ext-length)))))
+              (find-files (string-append (getcwd) "/guix/build")
+                          "\\.css\\.min\\.js$"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (js (string-append out "/share/css/")))
+               (mkdir-p js)
+               (for-each
+                (lambda (file)
+                  (install-file file js))
+                (find-files (string-append (getcwd) "/guix/build")
+                            "\\.min\\.css$"))))))))
     (native-inputs `(("source" ,source)))
     (synopsis "Style sheets for xtermjs")
     (description "Style sheets for xtermjs")