aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/javascript.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/javascript.scm')
-rw-r--r--gn/packages/javascript.scm656
1 files changed, 497 insertions, 159 deletions
diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm
index 40246dd..465259a 100644
--- a/gn/packages/javascript.scm
+++ b/gn/packages/javascript.scm
@@ -1,203 +1,541 @@
(define-module (gn packages javascript)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (gnu packages base)
#:use-module (gnu packages compression)
- #:use-module (gnu packages)
+ #:use-module (gn packages web)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
- #:use-module (guix utils)
- #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
;; see color-make package for great example - also install-file and invoke
(define-public javascript-twitter-post-fetcher
- (let ((commit "27440ffebd4c1ba7abc9aec92a581155715f2e4e"))
+ (let ((commit "8f9e667e917b3c581b100bf2ccc7157aadc5ff43") ; April 30, 2019
+ (revision "1"))
(package
- (name "javascript-twitter-post-fetcher")
- (version (string-append "17.0.3" "-" (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jasonmayes/Twitter-Post-Fetcher.git")
- (commit commit)))
- (file-name (string-append name "-" commit))
- (sha256
- (base32
- "159z8izf510086d8sa79k4mml6sw1gycb1r1r9ri1kyw2k9knmqa"))))
- (build-system trivial-build-system)
- (native-inputs `(("source" ,source)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (let* ((out (assoc-ref %outputs "out"))
- (name "Twitter-Post-Fetcher")
- (targetdir (string-append out "/share/genenetwork2/javascript/" name))
- )
- (begin
- (use-modules (guix build utils))
- (let ((source (assoc-ref %build-inputs "source"))
- )
- (and
- ; (mkdir-p targetdir)
- (copy-recursively source targetdir)
- ))))))
- (home-page "http://jasonmayes.com/projects/twitterApi/")
- (synopsis "Twitter post fetching")
- (description "Twitter post fetching.")
- (license license:expat))))
+ (name "javascript-twitter-post-fetcher")
+ (version (git-version "18.0.2" revision commit)) ; April 3, 2018
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jasonmayes/Twitter-Post-Fetcher.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0n935qmmd9gijkklrps8qimplbskcrijds3076zfd28afxrr96wp"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let* ((out (assoc-ref %outputs "out"))
+ (targetdir (string-append out "/share/genenetwork2/javascript/" ,name))
+ (source (assoc-ref %build-inputs "source")))
+ (begin
+ (use-modules (guix build utils))
+ (copy-recursively source targetdir)
+ (install-file (string-append source "/License.txt")
+ (string-append out "/share/doc/" ,name "-" ,version))))))
+ (native-inputs `(("source" ,source)))
+ (home-page "http://jasonmayes.com/projects/twitterApi/")
+ (synopsis "Twitter post fetching")
+ (description "Allows you to get your tweets displaying on your website
+using JavaScript, without using new Twitter 1.1 API.")
+ (license license:expat))))
(define-public javascript-cytoscape
(package
(name "javascript-cytoscape")
- (version "2.7.8") ; ancient version
+ (version "3.8.1") ; July 9, 2019
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/cytoscape/cytoscape.js/archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "08ks2nd7ccmdmahn151i180pvhn4vdzgpw99g4g4f2baz9pkz4w3"))))
+ (base32
+ "1dnwvmghwq21g9ag5cj49l0wnyfc54kbsrj0byii5wbwljjg9826"))))
(build-system trivial-build-system)
- (native-inputs `(("gzip" ,gzip)
- ("tar" ,tar)
- ("source" ,source)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
- (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
(targetdir (string-append out "/share/genenetwork2/javascript/cytoscape"))
- (source (assoc-ref %build-inputs "source")))
- (setenv "PATH" (string-append
- (assoc-ref %build-inputs "tar") "/bin" ":"
- (assoc-ref %build-inputs "gzip") "/bin"))
- (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
- (mkdir-p targetdir)
- (copy-recursively "dist" targetdir)
- ))))
+ (source (assoc-ref %build-inputs "source"))
+ (dist (string-append source "/dist")))
+ (copy-recursively dist targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (home-page "https://js.cytoscape.org/")
+ (synopsis "Graph theory (network) library for visualisation and analysis")
+ (description "Cytoscape.js is a fully featured graph theory library. Do you
+need to model and/or visualise relational data, like biological data or social
+networks? If so, Cytoscape.js is just what you need.
- (home-page "https://github.com/cytoscape/cytoscape.js")
- (synopsis "Cytoscape.js")
- (description "Cytoscape.")
+Cytoscape.js contains a graph theory model and an optional renderer to display
+interactive graphs. This library was designed to make it as easy as possible
+for programmers and scientists to use graph theory in their apps, whether it's
+for server-side analysis in a Node.js app or for a rich user interface.")
(license license:expat)))
+(define-public javascript-cytoscape-2
+ (package
+ (inherit javascript-cytoscape)
+ (name "javascript-cytoscape")
+ (version "2.7.29")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00y0h6kdkw2x6lyf9c16fxmg8iagfl77dz8nqb337v3ljifkb4z8"))))))
+
(define-public javascript-cytoscape-panzoom
(package
- ;; (inherit javascript-cytoscape)
- (name "javascript-cytoscape-panzoom")
- (version "2.5.2") ; ancient version
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/cytoscape/cytoscape.js-panzoom/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "154xzi693gbv89y221gkpi03k84lccmr55v5z43mn1i1s1fdhm2b"))))
- (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
- (build-system trivial-build-system)
- (native-inputs `(("gzip" ,gzip)
- ("tar" ,tar)
- ("source" ,source)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((out (assoc-ref %outputs "out"))
- (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
- (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-panzoom"))
- (source (assoc-ref %build-inputs "source")))
- (setenv "PATH" (string-append
- (assoc-ref %build-inputs "tar") "/bin" ":"
- (assoc-ref %build-inputs "gzip") "/bin"))
- (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
- (mkdir-p targetdir)
- (install-file "cytoscape-panzoom.js" targetdir)
- (install-file "cytoscape.js-panzoom.css" targetdir)
- ))))
- (home-page "https://github.com/cytoscape/cytoscape.js")
- (synopsis "Cytoscape.js")
- (description "Cytoscape.")
+ (name "javascript-cytoscape-panzoom")
+ (version "2.5.3") ; August 21, 2018
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js-panzoom")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lzcsip6q44h14g5l4jciv5sfc7ilvg1yrd14lcji8mnq6akx16n"))))
+ (build-system trivial-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/cytoscape-panzoom"))
+ (source (assoc-ref %build-inputs "source")))
+ (install-file (string-append source "/cytoscape-panzoom.js") targetdir)
+ (install-file (string-append source "/cytoscape.js-panzoom.css") targetdir)))))
+ (native-inputs `(("source" ,source)))
+ ;; TODO: Add font-awsome?
+ (propagated-inputs
+ `(("javascript-cytoscape" ,javascript-cytoscape)
+ ("jquery" ,web-jquery)))
+ (home-page "https://github.com/cytoscape/cytoscape.js-panzoom/")
+ (synopsis "Panzoom extension for Cytoscape.js")
+ (description "This extension creates a widget that lets the user pan and
+zoom about a Cytoscape.js graph. This complements the built-in gesture support
+for panning and zooming in Cytoscape.js by giving less savvy users a more
+traditional UI -- similar to controls on map webapps.")
+ (license license:expat)))
+
+(define-public javascript-dagre
+ (package
+ (name "javascript-dagre")
+ (version "0.8.4") ; Dec. 9, 2018
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dagrejs/dagre.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1svlvd66bnskicqb7kizx57s97z9lkxssh1g5sgymw7ddfdbhy5l"))))
+ (build-system trivial-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/dagre"))
+ (source (assoc-ref %build-inputs "source"))
+ (dist (string-append source "/dist")))
+ (copy-recursively dist targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (home-page "https://github.com/dagrejs/dagre")
+ (synopsis "Directed graph layout for JavaScript")
+ (description "Dagre is a JavaScript library that makes it easy to lay out
+directed graphs on the client-side.")
+ (license license:expat)))
+
+(define-public javascript-cytoscape-dagre
+ (package
+ (name "javascript-cytoscape-dagre")
+ (version "2.2.2") ; Sept. 26, 2018
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js-dagre")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z0sh5q5cd0iirdyhlln83vmsvwn1sbh4zdmdh8k5hld075g4q64"))))
+ (build-system trivial-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/cytoscape-dagre"))
+ (source (assoc-ref %build-inputs "source")))
+ (install-file (string-append source "/cytoscape-dagre.js") targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (propagated-inputs
+ `(("javascript-cytoscape" ,javascript-cytoscape)
+ ("javascript-dagre" ,javascript-dagre)))
+ (home-page "https://github.com/cytoscape/cytoscape.js-dagre")
+ (synopsis "Dagre layout for DAGs and trees for Cytoscape.js")
+ (description "The dagre layout organises the graph using a @dfn{directed
+acyclic graph} (DAG) system, written by Chris Pettitt. It is especially
+suitable for DAGs and trees.")
(license license:expat)))
-;; https://github.com/cytoscape/cytoscape.js-qtip/archive/2.7.1.tar.gz
+;; Author recommends using cytoscape-popper with tippy.js since qtip2 is no longer maintained
(define-public javascript-cytoscape-qtip
(package
- ;; (inherit javascript-cytoscape)
- (name "javascript-cytoscape-qtip")
- (version "2.7.1") ; ancient version
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/cytoscape/cytoscape.js-qtip/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0f2qhxi9qx5r3rcmxqgdqnwd9apnjlb4s4hckwhaqgsp6rf8lzlb"))))
- (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
- (build-system trivial-build-system)
- (native-inputs `(("gzip" ,gzip)
- ("tar" ,tar)
- ("source" ,source)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((out (assoc-ref %outputs "out"))
- (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
- (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-qtip"))
- (source (assoc-ref %build-inputs "source")))
- (setenv "PATH" (string-append
- (assoc-ref %build-inputs "tar") "/bin" ":"
- (assoc-ref %build-inputs "gzip") "/bin"))
- (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
- (mkdir-p targetdir)
- (install-file "cytoscape-qtip.js" targetdir)
- ))))
+ (name "javascript-cytoscape-qtip")
+ (version "2.7.1") ; May 4, 2017
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js-qtip")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rdwdkx9j1lqzks8gi8ilkcbryswdx653569av4i74pv4j93v6zx"))))
+ (build-system trivial-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/cytoscape-qtip"))
+ (source (assoc-ref %build-inputs "source")))
+ (install-file (string-append source "/cytoscape-qtip.js") targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (propagated-inputs ; TODO: Add qtip
+ `(("javascript-cytoscape" ,javascript-cytoscape)
+ ("jquery" ,web-jquery)))
(home-page "https://github.com/cytoscape/cytoscape.js")
- (synopsis "Cytoscape.js")
+ (synopsis "Cytoscape.js extension that wraps the QTip jQuery library")
(description "Cytoscape.")
(license license:expat)))
-;; https://github.com/DataTables/DataTables/archive/1.10.12.tar.gz
+(define-public javascript-cytoscape-popper
+ (package
+ (name "javascript-cytoscape-popper")
+ (version "1.0.4") ; Feb 13, 2019
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cytoscape/cytoscape.js-popper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nb59cimzp6zprk0czrfkc6id70ia2gg8drgmd55nf3yspn4b5rj"))))
+ (build-system trivial-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/cytoscape-popper"))
+ (source (assoc-ref %build-inputs "source")))
+ (install-file (string-append source "/cytoscape-popper.js") targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (propagated-inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
+ (home-page "https://github.com/cytoscape/cytoscape.js-popper")
+ (synopsis "Cytoscape.js extension for integrating Popper.js")
+ (description "Popper.js allows you to dynamically align a div, e.g. a
+tooltip, to another element in the page. This extension allows you to use
+Popper.js on Cytoscape elements. This allows you to create DOM elements
+positioned on or around Cytoscape elements. It is useful for tooltips and
+overlays, for example.")
+ (license license:expat)))
+
+(define-public javascript-qtip2
+ (package
+ (name "javascript-qtip2")
+ (version "3.0.3") ; May 11, 2016
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/qTip2/qTip2.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06lmmy6mqbfdgbbyjm0v2bl1ifdv03rh6vqnsmmkn1s56kd2qr62"))))
+ (build-system trivial-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/qtip2"))
+ (source (assoc-ref %build-inputs "source"))
+ (dist (string-append source "/dist")))
+ (copy-recursively dist targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (home-page "http://qtip2.com/")
+ (synopsis "Pretty powerful tooltips")
+ (description "The second generation of the advanced qTip plugin for the
+ever popular jQuery framework.")
+ (license license:expat)))
+
(define-public javascript-datatables
(package
- (name "javascript-datatables")
- (version "1.10.12") ; ancient version
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/DataTables/DataTables/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0blzsd2zqmvnqi6pl1xq0dr457kjrdaaa86d2cmdakls0j2mj92s"))))
- (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
- (build-system trivial-build-system)
- (native-inputs `(("gzip" ,gzip)
- ("tar" ,tar)
- ("source" ,source)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((out (assoc-ref %outputs "out"))
- (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
- (targetdir (string-append out "/share/genenetwork2/javascript/DataTables"))
- (source (assoc-ref %build-inputs "source")))
- (setenv "PATH" (string-append
- (assoc-ref %build-inputs "tar") "/bin" ":"
- (assoc-ref %build-inputs "gzip") "/bin"))
- (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
- (mkdir-p targetdir)
- (copy-recursively "media" targetdir)
- ))))
- (home-page "https://github.com/DataTables/")
- (synopsis "Datatables")
- (description "Datatables.")
+ (name "javascript-datatables")
+ (version "1.10.19") ; June 22, 2018
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DataTables/DataTables.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p85xzcvfjdrs4nwj7lhnlw2dmyky0hkwy8bzjw2fdabmsrdpwyg"))))
+ (build-system trivial-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/DataTables"))
+ (source (assoc-ref %build-inputs "source"))
+ (media (string-append source "/media")))
+ (copy-recursively media targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (propagated-inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
+ (home-page "https://www.datatables.net/")
+ (synopsis "Tables plug-in for jQuery")
+ (description "DataTables is a table enhancing plug-in for the jQuery
+Javascript library, adding sorting, paging and filtering abilities to plain HTML
+tables with minimal effort.")
+ (license license:expat)))
+
+(define-public javascript-lodash
+ (package
+ (name "javascript-lodash")
+ (version "4.17.15") ; July 17, 2019
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lodash/lodash")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hp04cg3b59j3dpnvzixd5p6wpv34mj2pnq8wp60csv3p2s0qk4y"))))
+ (build-system trivial-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/lodash"))
+ (source (assoc-ref %build-inputs "source"))
+ (dist (string-append source "/dist")))
+ (copy-recursively dist targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (home-page "https://lodash.com")
+ (synopsis "JavaScript utility library delivering modularity, performance & extras")
+ (description "Lodash makes JavaScript easier by taking the hassle out of
+working with arrays, numbers, objects, strings, etc. Lodash's modular methods
+are great for:
+@enumerate
+@item Iterating arrays, objects, & strings
+@item Manipulating & testing values
+@item Creating composite functions
+@end enumerate")
+ (license license:expat)))
+
+(define-public javascript-d3js
+ (package
+ (name "javascript-d3js")
+ (version "5.9.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/d3/d3/releases/download/v"
+ version "/d3.zip"))
+ (sha256
+ (base32 "0vg1cfgg7p897bg0nhaprgr77kgvi8k38h5w6sl54nxvibvynkhc"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (name "d3js")
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip"))
+ (targetdir (string-append out "/share/genenetwork/javascript/" name))
+ (source (assoc-ref %build-inputs "source")))
+ (invoke unzip source)
+ (install-file "d3.js" targetdir)
+ (install-file "d3.min.js" targetdir)
+ (install-file "LICENSE" (string-append out "/share/doc/d3js-" ,version))))))
+ (native-inputs
+ `(("source" ,source)
+ ("unzip" ,unzip)))
+ (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-4
+ (package
+ (inherit javascript-d3js)
+ (version "4.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/d3/d3/releases/download/v"
+ version "/d3.zip"))
+ (sha256
+ (base32 "06yqgyvkpvh0lg7rsh4hjzq72fylkd8ziqcf7yhgy510x0mqla19"))))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (name "d3js")
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip"))
+ (targetdir (string-append out "/share/genenetwork/javascript/" name))
+ (source (assoc-ref %build-inputs "source")))
+ (invoke unzip source)
+ (install-file "d3.js" targetdir)
+ (install-file "d3.min.js" targetdir)
+ (install-file "LICENSE" (string-append out "/share/doc/d3js-" ,version))))))))
+
+(define-public javascript-d3js-multi
+ (package
+ (name "javascript-d3js-multi")
+ (version "1.0.1") ; Feb, 21, 2017
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/d3/d3-selection-multi/releases"
+ "/download/v" version "/d3-selection-multi.zip"))
+ (sha256
+ (base32 "0k89n15ggpzsvf7qflmsagkrrhigk6nksdyks0ccx3453gizbb4q"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (name "d3js-multi")
+ (unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip"))
+ (targetdir (string-append out "/share/genenetwork/javascript/" name))
+ (source (assoc-ref %build-inputs "source")))
+ (invoke unzip source)
+ (install-file "d3-selection-multi.js" targetdir)
+ (install-file "d3-selection-multi.min.js" targetdir)
+ (install-file "LICENSE" (string-append out "/share/doc/" ,name "-" ,version))))))
+ (native-inputs
+ `(("source" ,source)
+ ("unzip" ,unzip)))
+ (home-page "https://d3js.org/")
+ (synopsis "Multi-value syntax for d3-selection and d3-transition")
+ (description "This module adds multi-value syntax to selections and
+transitions, allowing you to set multiple attributes, styles or properties
+simultaneously with more concise syntax.")
+ (license license:bsd-3)))
+
+(define-public javascript-canvas-toblob
+ (let ((commit "f1a01896135ab378aa5c0118eadd81da55e698d8") ; May 26, 2016
+ (revision "1"))
+ (package
+ (name "javascript-canvas-toblob")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eligrey/canvas-toBlob.js")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ly7qnavf9h26sgynccf00hf2ybdwyn0kvnl7i3milz3big02qdm"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (name "canvas-toblob")
+ (targetdir (string-append out "/share/genenetwork/javascript/" name))
+ (source (assoc-ref %build-inputs "source")))
+ (install-file (string-append source "/canvas-toBlob.js") targetdir)
+ (install-file (string-append source "/LICENSE.md")
+ (string-append out "/share/doc/" ,name "-" ,version))))))
+ (native-inputs
+ `(("source" ,source)))
+ (home-page "https://github.com/eligrey/canvas-toBlob.js/")
+ (synopsis "canvas.toBlob() implementation")
+ (description "canvas-toBlob.js implements the standard HTML5
+@code{canvas.toBlob()} and @code{canvas.toBlobHD()} methods in browsers that do
+not natively support it.")
+ (license license:expat))))
+
+(define-public javascript-filesaver
+ (package
+ (name "javascript-filesaver")
+ (version "2.0.2") ; May 14, 2019
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eligrey/FileSaver.js")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ij3vmv8n2ia9kbyih3g479rj68xrsiq7l9s29vv1bdmmk41lpf3"))))
+ (build-system trivial-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/filesaver"))
+ (source (assoc-ref %build-inputs "source"))
+ (dist (string-append source "/dist")))
+ (copy-recursively dist targetdir)))))
+ (native-inputs `(("source" ,source)))
+ (home-page "https://github.com/eligrey/FileSaver.js")
+ (synopsis "HTML5 saveAs() FileSaver implementation")
+ (description "FileSaver.js is the solution to saving files on the
+client-side, and is perfect for web apps that generates files on the client.")
(license license:expat)))