mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 22:38:07 -05:00
gnu: Add r-rhandsontable.
* gnu/packages/bioinformatics.scm (r-rhandsontable): New variable. Co-authored-by: Navid Afkhami <navid.afkhami@mdc-berlin.de>
This commit is contained in:
parent
633c935e0a
commit
27c8ab4bf3
1 changed files with 137 additions and 0 deletions
|
@ -827,6 +827,143 @@ (define-public r-rhtslib12
|
|||
developers of other R packages who wish to make use of HTSlib.")
|
||||
(license license:lgpl2.0+))))
|
||||
|
||||
(define-public r-rhandsontable
|
||||
(package
|
||||
(name "r-rhandsontable")
|
||||
(version "0.3.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rhandsontable" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07fj6npq65pq836vdwblkhprdaq4i4f13cwdmm9gmxrnk72xj7lh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(with-directory-excursion "inst/htmlwidgets/lib"
|
||||
(for-each delete-file
|
||||
'("chroma/chroma.min.js"
|
||||
"handsontable/all.min.js"
|
||||
"handsontable/handsontable.full.min.js"
|
||||
"jquery/jquery.min.js"
|
||||
"numbro/languages.min.js"
|
||||
"sparkline/jquery.sparkline.min.js"))))))
|
||||
(properties `((upstream-name . "rhandsontable")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils)
|
||||
(guix build r-build-system)
|
||||
(srfi srfi-1))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "inst/htmlwidgets/lib"
|
||||
;; Generate languages.js by importing all numbro language
|
||||
;; files.
|
||||
(with-output-to-file "/tmp/languages.js"
|
||||
(lambda ()
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(format (current-output-port)
|
||||
"require(\"~a/~a\")~%"
|
||||
(dirname file)
|
||||
(basename file ".js")))
|
||||
(find-files (string-append (assoc-ref inputs "js-numbro")
|
||||
"/languages/")
|
||||
"\\.js$"))))
|
||||
;; Then bundle and minify it.
|
||||
(invoke "esbuild"
|
||||
"/tmp/languages.js"
|
||||
"--bundle"
|
||||
"--minify"
|
||||
"--outfile=numbro/languages.min.js")
|
||||
|
||||
;; Minify the other source files.
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(unzip2
|
||||
`((,(search-input-file inputs "/chroma.js")
|
||||
"chroma/chroma.min.js")
|
||||
(,(search-input-file inputs "/dist/languages/all.js")
|
||||
"handsontable/all.min.js")
|
||||
(,(search-input-file inputs "/dist/handsontable.full.js")
|
||||
"handsontable/handsontable.full.min.js")
|
||||
(,(assoc-ref inputs "js-jquery-sparkline")
|
||||
"sparkline/jquery.sparkline.min.js")
|
||||
(,(assoc-ref inputs "js-jquery")
|
||||
"jquery/jquery.min.js"))))
|
||||
(lambda (sources targets)
|
||||
(for-each (lambda (source target)
|
||||
(format #true "Processing ~a --> ~a~%"
|
||||
source target)
|
||||
(invoke "esbuild" source "--minify"
|
||||
(string-append "--outfile=" target)))
|
||||
sources targets)))))))))
|
||||
(propagated-inputs (list r-htmlwidgets r-jsonlite r-magrittr))
|
||||
(native-inputs
|
||||
`(("esbuild" ,esbuild)
|
||||
("r-knitr" ,r-knitr)
|
||||
("js-chroma"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gka/chroma.js")
|
||||
(commit "v1.3.3")))
|
||||
(file-name (git-file-name "chroma" "1.3.3"))
|
||||
(sha256
|
||||
(base32
|
||||
"091xn40n868pgb76gdl5jpg5gqqqzhykgxsslni230jzgc0hh1vm"))))
|
||||
("js-handsontable"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/handsontable/handsontable")
|
||||
(commit "6.2.2")))
|
||||
(file-name (git-file-name "handsontable" "6.2.2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rq4l24m9yz5r4sagdhq78jcjxlyh0ngryp43p5k33q2l77l4cp8"))))
|
||||
("js-jquery-sparkline"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
"https://omnipotent.net/jquery.sparkline/2.1.2/jquery.sparkline.js")
|
||||
(sha256
|
||||
(base32
|
||||
"0d28qg5wlv44l02xafla6h6fvl3a71r5w7k0xhadagighh5wnarg"))))
|
||||
("js-jquery"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://code.jquery.com/jquery-3.2.1.js")
|
||||
(sha256
|
||||
(base32
|
||||
"08dv528xy8ksrg5qqw73bvpjrzxv66xq41sfidn9ypgskwl2g40d"))))
|
||||
;; We guessed the version based on
|
||||
;; 62993ac9be3a1a4188150f7a6502b48b899f075e in
|
||||
;; https://github.com/jrowen/rhandsontable, which added numbro's
|
||||
;; languages.min.js. This was committed in Nov 2018, so the most
|
||||
;; recent release of numbro at that time would have been 2.0.6 from May
|
||||
;; 2018.
|
||||
("js-numbro"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BenjaminVanRyseghem/numbro")
|
||||
(commit "2.0.6")))
|
||||
(file-name (git-file-name "numbro" "2.0.6"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gsswkd482p0id00yx4q67ay0jvvwwidj71v41mq1cws8v2jjywx"))))))
|
||||
(home-page "https://jrowen.github.io/rhandsontable/")
|
||||
(synopsis "Htmlwidget based on the handsontable.js library")
|
||||
(description
|
||||
"Handsontable is a data grid component with an Excel like appearance.
|
||||
Built in JavaScript, it integrates with any data source with peak efficiency.
|
||||
It comes with powerful features like data validation, sorting, grouping, data
|
||||
binding, formula support or column ordering.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-stringendo
|
||||
(let ((commit "83b8f2d82a09b33b9e895438bb523a021138be01")
|
||||
(revision "1"))
|
||||
|
|
Loading…
Reference in a new issue