From 7635e5c9277f353834ca2e92507de477c9af2667 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Wed, 20 Sep 2023 10:40:10 +0300 Subject: gn: javascript: Add htmx. * gn/packages/javascript.scm (javascript-htmx): Add htmx. --- gn/packages/javascript.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 7be9db4..a2db29b 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1881,3 +1881,27 @@ Popper will automatically put the tooltip in the right place near the button.") (description "Font Awesome is a full suite of pictographic icons for easy scalable vector graphics.") (license license:silofl1.1))) + + +(define-public javascript-htmx + (package + (name "javascript-htmx") + (version "1.9.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bigskysoftware/htmx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14m9wan8sp5lzblfzbi1hln621p7ld3npajxrhq1a19zm5bcrz3y")))) + (build-system minify-build-system) + (arguments + `(#:javascript-files '("dist/htmx.min.js"))) + (home-page "https://htmx.org/") + (synopsis "High Power Tools for HTML") + (description + "htmx allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext") + (license license:expat))) -- cgit v1.2.3 From 100148937e86311c24a41e97f6e7f0082fdacc33 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Wed, 4 Oct 2023 14:14:04 +0300 Subject: gn: javascript: Replace htmx.min.js with htmx.js. * gn/packages/javascript.scm (javascript-htmx) [arguments]: Replace "dist/htmx.min.js" with "dist/htmx.js" since we already are using the minify-build-system. Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index a2db29b..9398bf2 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1899,7 +1899,7 @@ vector graphics.") "14m9wan8sp5lzblfzbi1hln621p7ld3npajxrhq1a19zm5bcrz3y")))) (build-system minify-build-system) (arguments - `(#:javascript-files '("dist/htmx.min.js"))) + `(#:javascript-files '("dist/htmx.js"))) (home-page "https://htmx.org/") (synopsis "High Power Tools for HTML") (description -- cgit v1.2.3 From 53d19fd513a98d6215fd41e368559162721e9802 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Thu, 26 Oct 2023 18:22:26 +0300 Subject: gn: htmx: Replace minify with trivial build system. Esbuild system has no support for ES5 and will lead to a build failure with the following output: `dist/htmx.js:1979:20: error: Transforming let to the configured target environment ("es5") is not supported yet` Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 9398bf2..9b5c34b 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1891,15 +1891,23 @@ vector graphics.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/bigskysoftware/htmx") - (commit (string-append "v" version)))) + (url "https://github.com/bigskysoftware/htmx") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "14m9wan8sp5lzblfzbi1hln621p7ld3npajxrhq1a19zm5bcrz3y")))) - (build-system minify-build-system) + (base32 + "14m9wan8sp5lzblfzbi1hln621p7ld3npajxrhq1a19zm5bcrz3y")))) + (build-system trivial-build-system) (arguments - `(#:javascript-files '("dist/htmx.js"))) + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript"))) + (mkdir-p targetdir) + (copy-file source (string-append targetdir "/htmx.min.js")))))) (home-page "https://htmx.org/") (synopsis "High Power Tools for HTML") (description -- cgit v1.2.3 From 61f9525a81e4635162b1102a6fd8ef1ed7684055 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Fri, 3 Nov 2023 18:33:29 +0300 Subject: gn: javascript: Copy the right htmx.min.js from the source. * gn/packages/javascript.scm (javascript-htmx): Copy "/dist/htmx.min.js" to the targetdir. Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 9b5c34b..68cb984 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1907,7 +1907,8 @@ vector graphics.") (out (assoc-ref %outputs "out")) (targetdir (string-append out "/share/genenetwork2/javascript"))) (mkdir-p targetdir) - (copy-file source (string-append targetdir "/htmx.min.js")))))) + (copy-file (string-append source "/dist/htmx.min.js") + (string-append targetdir "/htmx.min.js")))))) (home-page "https://htmx.org/") (synopsis "High Power Tools for HTML") (description -- cgit v1.2.3 From 638abbad22c4942f273bf75aaf2f69a200bf58af Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Tue, 7 Nov 2023 16:12:52 +0300 Subject: gn: javascript: Add javascript-marked. * gn/packages/javascript.scm (javascript-marked): New package. Reviewed-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 68cb984..3d4c7e5 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1914,3 +1914,35 @@ vector graphics.") (description "htmx allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext") (license license:expat))) + +(define-public javascript-marked + (package + (name "javascript-marked") + (version "9.1.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdnjs.cloudflare.com/ajax/libs/marked/" version + "/marked.min.js")) + (file-name "marked.min.js") + (sha256 + (base32 + "1f4hw8yjdm99hgw0bq62099d3kv23awsm8r7969m7lv84n2wid8y")))) + (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/marked")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source (string-append targetdir "/marked.min.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://marked.js.org/") + (synopsis "A markdown parser and compiler. Built for speed.") + (description + "A low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.") + (license license:expat))) -- cgit v1.2.3 From 35f3f75aa945728868a5df1bfe0164cd917e9d4b Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Tue, 7 Nov 2023 16:30:46 +0300 Subject: gn: javascript: Add javascript-marked-highlight. * gn/packages/javascript.scm (javascript-marked-highlight): New package. Reviewed-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 3d4c7e5..05706ce 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1946,3 +1946,33 @@ vector graphics.") (description "A low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.") (license license:expat))) + +(define-public javascript-marked-highlight + (package + (name "javascript-marked-highlight") + (version "2.0.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/marked-highlight@" version "/lib/index.umd.min.js")) + (sha256 + (base32 + "087qcy77fm3r7dl6w0mxsqygmdpimrmksw78r4wkkkjdx9x9dshf")))) + (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/marked")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source (string-append targetdir "/marked-highlight.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/markedjs/marked-highlight") + (synopsis "Highlight code blocks.") + (description + "Add code highlighting to marked.") + (license license:expat))) -- cgit v1.2.3 From dab09fb41a2ad47b1ef337a006bf270cbc1672f4 Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Fri, 10 Nov 2023 16:35:11 +0300 Subject: gn: javascript: Add javascript-ace * gn/packages/javascript.scm (javascript-ace): New package. Reviewed-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 05706ce..6471d65 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1976,3 +1976,34 @@ vector graphics.") (description "Add code highlighting to marked.") (license license:expat))) + +(define-public javascript-ace + (package + (name "javascript-ace") + (version "1.31.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ajaxorg/ace-builds.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08rfyrjfjjgb42x4if5qqfyvv8ag2qmf6vsbs7qrcnzgrac66m35")))) + (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/ace")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/src-min-noconflict"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/ajaxorg/ace-builds") + (synopsis "Ace is a code editor written in JavaScript.") + (description + "Ace is a code editor written in JavaScript. ") + (license license:expat))) -- cgit v1.2.3 From 187b4f441aa45a0e49b71c03716025965091fe68 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Thu, 1 Feb 2024 19:52:45 +0300 Subject: gn: Update javascript-ckeditor. * gn/packages/javascript.scm (javascript-ckeditor): Copy entire directory structure of ckeditor to the store. ckeditor.js requires some CSS and other js files in the unzipped source to be able to be fully functional. Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 6471d65..81558fe 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1319,32 +1319,37 @@ a sample function, allowing for more complex calculations.") (arguments `(#:javascript-files '("dist/jstat.js"))) (build-system minify-build-system))) -(define-public javascript-ckeditor ; version 4 +(define-public javascript-ckeditor ; version 4 (package (name "javascript-ckeditor") - (version "4.13.0") ; Sept. 26, 2019 + (version "4.13.0") ; Sept. 26, 2019 (source (origin (method url-fetch) - (uri (string-append "https://cdn.ckeditor.com/" version - "/standard/ckeditor.js")) - (file-name (string-append "ckeditor-" version ".js")) + (uri (string-append "http://download.cksource.com/CKEditor/CKEditor/CKEditor%20" version + "/ckeditor_4.13.0_standard.zip")) (sha256 - (base32 - "0cvf1qdva5h2dh8y10c9v7dxrd82siswxx7h6cq0mf46ssjdygd0")))) + (base32 + "1n2xynmbr2v4wm2g2vqcqd16n93phsbq4sqrnljzb7wzjq9svl36")))) (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/ckeditor")) - (source (assoc-ref %build-inputs "source"))) - (mkdir-p targetdir) - (copy-file source (string-append targetdir "/ckeditor.js")))))) - (native-inputs `(("source" ,source))) + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "ckeditor") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir + (string-append (string-append out "/share/genenetwork2/javascript/" name))) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (invoke unzip source) + (copy-recursively "ckeditor" targetdir))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) (home-page "https://ckeditor.com/") (synopsis "Smart WYSIWYG HTML editor") (description @@ -1358,8 +1363,8 @@ browser compatibility, including legacy browsers. @item Long-term support (LTS) until 2023. @end enumerate") (license (list license:gpl2+ - license:lgpl2.1+ - license:mpl1.1)))) ; Any of these three + license:lgpl2.1+ + license:mpl1.1)))) ; Any of these three (define-public javascript-parsley (package -- cgit v1.2.3 From e947a1e5c330595eee3a27185e042cf3b73689da Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Thu, 15 Feb 2024 13:59:30 +0300 Subject: gn: javascript: Add javascript-uikit. * gn/packages/javascript.scm: (javascript-uikit): New package. * gn/packages/javascript.scm: (genenetwork2) [propagated-inputs]:Add javascript-uikit. --- gn/packages/genenetwork.scm | 1 + gn/packages/javascript.scm | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 4e3dc21..8d690f2 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -271,6 +271,7 @@ javascript-plotly javascript-typeahead js-underscore + javascript-uikit js-smart-time-ago javascript-nouislider javascript-purescript-genome-browser diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 81558fe..e24990b 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -2012,3 +2012,37 @@ vector graphics.") (description "Ace is a code editor written in JavaScript. ") (license license:expat))) + +(define-public javascript-uikit + (package + (name "javascript-uikit") + (version "3.7.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/uikit/uikit/releases/download/v" + version "/uikit" "-" version ".zip")) + (sha256 + (base32 "1qhhz3iki1nbyffg6qa7x2937708hjr9gf6mkn4v4cdl9j0mgyv0")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir (string-append out "/share/genenetwork2/javascript/uikit")) + (source (assoc-ref %build-inputs "source"))) + (invoke unzip source) + (copy-recursively "." targetdir))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) + (home-page "https://getuikit.com/") + (synopsis "UIkit is a lightweight and modular front-end framework +for developing fast and powerful web interfaces.") + (description "UIkit is a lightweight and modular front-end framework +for developing fast and powerful web interfaces.") + (license license:bsd-3))) -- cgit v1.2.3 From b8348147e422a6499d2fd5992a349e4a29780ed0 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Thu, 15 Feb 2024 16:59:16 +0300 Subject: Bump down font-awesome to v4.7.0. * gn/packages/javascript.scm (javascript-font-awesome): Update to v4.7.0 which is the exact version we use in the genenetwork website. Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index e24990b..349fa66 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1854,7 +1854,7 @@ Popper will automatically put the tooltip in the right place near the button.") (define-public javascript-font-awesome (package (name "javascript-font-awesome") - (version "5.15.2") + (version "v4.7.0") (source (origin (method git-fetch) @@ -1863,7 +1863,7 @@ Popper will automatically put the tooltip in the right place near the button.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jin0qlf5lv4l9gj8qc1pp34mxyvyj6gma4qnjqiah1bzcfn635l")))) + (base32 "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -1873,13 +1873,11 @@ Popper will automatically put the tooltip in the right place near the button.") (let* ((out (assoc-ref %outputs "out")) (targetdir (string-append out "/share/genenetwork2/javascript/fontawesome")) (source (assoc-ref %build-inputs "source")) - (js-dir (string-append source "/js")) (css-dir (string-append source "/css")) - (fonts-dir (string-append source "/webfonts"))) + (fonts-dir (string-append source "/fonts"))) (copy-recursively css-dir (string-append targetdir "/css")) - (copy-recursively js-dir (string-append targetdir "/js")) (copy-recursively fonts-dir - (string-append targetdir "/webfonts")))))) + (string-append targetdir "/fonts")))))) (native-inputs `(("source" ,source))) (home-page "https://fontawesome.com/") (synopsis "Font that contains a rich iconset") -- cgit v1.2.3 From 612fa6ca7f5c78a8e652562306f6c93f12a6de00 Mon Sep 17 00:00:00 2001 From: Alexander_Kabui Date: Mon, 18 Mar 2024 18:20:05 +0300 Subject: gn: javascript: Add javascript-linkify, javascript-linkify-html. * gn/packages/javascript.scm: (javascript-linkify): New package. (javascript-linkify-html): New package. Acked-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 349fa66..2d1668b 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -2044,3 +2044,61 @@ for developing fast and powerful web interfaces.") (description "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.") (license license:bsd-3))) + +(define-public javascript-linkify + (package + (name "javascript-linkify") + (version "4.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/linkifyjs@" version "/dist/linkify.min.js")) + (sha256 + (base32 + "1cy1z4gin0qx3a04fw2biszz1sgns0zc1zbr6sbkr2dicgqxjpf3")))) + (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/linkify")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source (string-append targetdir "/linkify.min.js")))))) + (native-inputs `(("source" ,source))) + (home-page "https://linkify.js.org") + (synopsis "Find URLs and email addresses in plain text") + (description + "JavaScript plugin for finding links in plain-text and converting them to HTML tags") + (license license:expat))) + +(define-public javascript-linkify-html + (package + (inherit javascript-linkify) + (name "javascript-linkify-html") + (version "4.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.jsdelivr.net/npm/linkify-html@" version "/dist/linkify-html.min.js")) + (sha256 + (base32 + "1s3l4wnyws9c9qjgp9ivl88inhyy28cjrhqjayb6hm1hzkasgj2j")))) + (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/linkify")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (copy-file source (string-append targetdir "/linkify-html.min.js")))))) + (native-inputs `(("source" ,source))) + (description + "JavaScript plugin for finding links in plain-text and highlightinging links within strings that contain HTML markup.") + (license license:expat))) -- cgit v1.2.3 From 1a6522f3a5a7d0990e50fe5dd91f286f62e083e7 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Thu, 4 Apr 2024 05:49:19 -0500 Subject: javascript-d3panels: add variable and add to genenetwork2 --- gn/packages/genenetwork.scm | 23 +++++++++++++++++++---- gn/packages/javascript.scm | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 4 deletions(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index f7337c4..e3ec17f 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -220,6 +220,7 @@ javascript-cytoscape-qtip javascript-d3-tip javascript-d3js + javascript-d3panels javascript-datatables javascript-datatables-buttons javascript-datatables-buttons-bootstrap @@ -373,7 +374,7 @@ (lambda _ (begin (mkdir (string-append #$output "scripts")) - (for-each (lambda (fn) + (for-each (lambda (fn) (install-file fn (string-append #$output "/scripts"))) '("scripts/rqtl_wrapper.R" @@ -387,16 +388,30 @@ (branch "prod")))))) (define-public genenetwork2-stable - (let ((commit "42b37bba21530aab104bd2fbbddb27ce7cd7de7c") + (let ((commit "fd3de3dd7e0fac465bde193bd78085bd3434e885") (revision "1")) (package (inherit genenetwork2) (name "genenetwork2-stable") - (version (string-append "stable-" (git-version "3.11" revision commit))) + (version (string-append "stable-" (git-version "3.12" revision commit))) (source (git-checkout (url "https://github.com/genenetwork/genenetwork2") - (branch "prod")))))) + (branch "prod"))) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'update-font-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each (lambda (fn) + (substitute* (string-append "gn2/" fn) + (("\\./gn2/wqflask/static/fonts/") + (string-append (site-packages inputs outputs) "/gn2/wqflask/static/fonts/")))) + '("utility/Plot.py" + "wqflask/marker_regression/display_mapping_results.py")))) + )))))) (define-public gn-uploader (let ((commit "60fde66e02dba842b20fa126ff3b2ed9ec2638e6") diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 2d1668b..f92ada9 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -433,6 +433,7 @@ tables with minimal effort.") (description "Scroller is a virtual rendering plug-in for DataTables which allows large datasets to be drawn on screen very quickly. Virtual rendering means is that only the visible portion of the table is drawn, while the scrolling container gives the visual impression that the whole table is visible, allowing excellent browser performance.") (license license:expat))) + (define-public javascript-xterm (package (name "javascript-xterm") @@ -805,6 +806,41 @@ 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-d3panels + (package + (name "javascript-d3panels") + (version "1.8.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kbroman/d3panels.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pmv24x4k0iy2mbibwwk8f85c6mljyqj2qwn03sq3pg93r16a0b5")))) + (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/d3panels")) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/d3panels.js") targetdir) + (install-file (string-append source "/d3panels.min.js") targetdir) + (install-file (string-append source "/d3panels.css") targetdir) + (install-file (string-append source "/d3panels.min.css") targetdir) + (install-file (string-append source "/README.md") targetdir) + (install-file (string-append source "/NEWS.md") targetdir) + (install-file (string-append source "/LICENSE.md") targetdir) + )))) + (home-page "https://kbroman.org/d3panels") + (synopsis "d3panels for QTL mapping") + (description "This is a set of D3-based graphic panels, to be combined into larger multi-panel charts. They were developed for the R/qtlcharts package.") + (license license:expat))) + (define-public javascript-jquery (package (inherit web-jquery) -- cgit v1.2.3 From 914ae94d48bd8a7619102263eb654a764877dbc6 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Thu, 4 Apr 2024 11:14:18 -0500 Subject: Add recent javascript-d3 library --- gn/packages/genenetwork.scm | 3 ++- gn/packages/javascript.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) (limited to 'gn/packages/javascript.scm') 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") -- cgit v1.2.3 From 3783f8b1865117e54c968ecc4dad0af5e57d5995 Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Tue, 9 Apr 2024 13:11:42 +0300 Subject: gn: javascript: Fix failing javascript-xterm build. * gn/packages/javascript.scm (javascript-xterm): Update hash. [native-inputs]: Move this ... [propagated-inputs]: ... here. Signed-off-by: Munyoki Kilyungi --- gn/packages/javascript.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gn/packages/javascript.scm') diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index d8c9af9..7f9f35d 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -446,7 +446,7 @@ tables with minimal effort.") (file-name (string-append "xterm.min" version ".js")) (sha256 (base32 - "18smra546ws5fhnfdhj9m6yhvfjqdwx44jyb19q3az780ifwj2lz")))) + "1ipk8l837pinl9151qcb39hfrjy5d7zzyf19nsfhv4wgavy8fcar")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -459,7 +459,7 @@ tables with minimal effort.") (source (assoc-ref %build-inputs "source"))) (mkdir-p targetdir) (copy-file source (string-append targetdir "/xterm.min.js")))))) - (native-inputs `(("source" ,source))) + (propagated-inputs `(("source" ,source))) (home-page "https://xtermjs.org/") (synopsis "Javascript library that allows apps to bring fully-featured terminals in browsers.") (description -- cgit v1.2.3