aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-12-15 10:01:14 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-12-15 16:13:07 +0100
commitb55d0a4abf82bd209a3665bced25f80740821446 (patch)
tree3928bc8ddbbced8a31025f40da325f99ed332692
parent5374d0d89bea12582d01e13a5cb38b7ff63aa0e5 (diff)
downloadguix-b55d0a4abf82bd209a3665bced25f80740821446.tar.gz
guix-b55d0a4abf82bd209a3665bced25f80740821446.zip
gnu: r-crosstalk: Update to 1.2.1.
* gnu/packages/cran.scm (r-crosstalk): Update to 1.2.1. [source]: Add snippet to delete bundled minified JavaScript. [arguments]: Use minify-build-system to minify JavaScript files from source; add phase 'replace-bundled-minified-JavaScript. [native-inputs]: Add esbuild and js-selectize. Change-Id: I2a4a773d5f40a8f27e594e2f1b627624cab8755e
-rw-r--r--gnu/packages/cran.scm37
1 files changed, 35 insertions, 2 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index e6c33b8708..afa3687d46 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -5418,17 +5418,50 @@ punctuation.")
(define-public r-crosstalk
(package
(name "r-crosstalk")
- (version "1.2.0")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "crosstalk" version))
(sha256
(base32
- "180y7mhpj17axpadwhh7s0qvrpdnag7g977vk256l96d6nmvlds2"))))
+ "1w8lc3hcd1nlw541880vs3agk2i6bilyapnq9lcs3mfn2s2g0338"))
+ (snippet
+ '(for-each delete-file
+ (list "inst/lib/jquery/jquery.min.js"
+ "inst/lib/ionrangeslider/js/ion.rangeSlider.min.js"
+ "inst/lib/selectize/js/selectize.min.js"
+ "inst/www/js/crosstalk.min.js")))))
(build-system r-build-system)
+ (arguments
+ (list
+ #:modules '((guix build r-build-system)
+ (guix build minify-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:imported-modules `(,@%r-build-system-modules
+ (guix build minify-build-system))
+ #:phases
+ #~(modify-phases (@ (guix build r-build-system) %standard-phases)
+ (add-after 'unpack 'replace-bundled-minified-JavaScript
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "inst/"
+ (copy-file (search-input-file inputs
+ "/share/javascript/selectize.min.js")
+ "lib/selectize/js/selectize.min.js")
+ (for-each (match-lambda
+ ((source . target)
+ (minify source #:target target)))
+ `(("lib/jquery/jquery.js"
+ . "lib/jquery/jquery.min.js")
+ ("lib/ionrangeslider/js/ion.rangeSlider.js"
+ . "lib/ionrangeslider/js/ion.rangeSlider.min.js")
+ ("www/js/crosstalk.js"
+ . "www/js/crosstalk.min.js")))))))))
(propagated-inputs
(list r-htmltools r-jsonlite r-lazyeval r-r6))
+ (native-inputs
+ (list esbuild js-selectize))
(home-page "https://rstudio.github.io/crosstalk/")
(synopsis "Inter-widget interactivity for HTML widgets")
(description