about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/genenetwork.scm3
-rw-r--r--gn/packages/javascript.scm40
2 files changed, 42 insertions, 1 deletions
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index e3ec17f..21de18a 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -219,7 +219,8 @@
              javascript-cytoscape-panzoom
              javascript-cytoscape-qtip
              javascript-d3-tip
-             javascript-d3js
+             javascript-d3js ;; very old
+             javascript-d3js-7
              javascript-d3panels
              javascript-datatables
              javascript-datatables-buttons
diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm
index f92ada9..d8c9af9 100644
--- a/gn/packages/javascript.scm
+++ b/gn/packages/javascript.scm
@@ -894,6 +894,46 @@ visualization components and a data-driven approach to DOM manipulation.")
            (install-file "d3.min.js" targetdir)
            (install-file "LICENSE" (string-append out "/share/doc/d3js-" ,version))))))))
 
+(define-public javascript-d3js-7
+  (package
+    (name "javascript-d3js-7")
+    (version "7.9.0")
+    (source
+      (origin
+       (method url-fetch)
+       ;; note that D3 no longer provides a prebuilt JS file - except through CDS
+       (uri (string-append "https://files.genenetwork.org/software/d3.v" version ".min.js.gz"))
+       (sha256
+        (base32 "0k7g40zb65s12z1zchvimj5xibkrqff5sylbrhcwmwpcplpigid7"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((out (assoc-ref %outputs "out"))
+                (module-name "d3js-7")
+                (gzip (string-append (assoc-ref %build-inputs "gzip")
+                                      "/bin/gzip"))
+                (targetdir (string-append out "/share/genenetwork2/javascript/" module-name))
+                (jsname (string-append "d3.v" "7.9.0" ".min.js"))
+                (gzname (string-append jsname ".gz"))
+                (source (assoc-ref %build-inputs "source")))
+           (mkdir-p targetdir)
+           (copy-file (pk source) (pk (string-append targetdir "/" gzname)))
+           (invoke gzip "-fd" (string-append targetdir "/" gzname))))))
+    (native-inputs
+     `(("source" ,source)
+       ("gzip" ,gzip)))
+    (home-page "https://d3js.org/")
+    (synopsis "JavaScript library for visualizing data")
+    (description "D3.js is a JavaScript library for manipulating documents based
+on data.  D3 helps you bring data to life using HTML, SVG, and CSS.  D3's
+emphasis on web standards gives you the full capabilities of modern browsers
+without tying yourself to a proprietary framework, combining powerful
+visualization components and a data-driven approach to DOM manipulation.")
+    (license license:bsd-3)))
+
 (define-public javascript-d3js-multi
   (package
     (name "javascript-d3js-multi")