guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/201: gnu: r-crosstalk: Update to 1.2.1.


From: guix-commits
Subject: 11/201: gnu: r-crosstalk: Update to 1.2.1.
Date: Fri, 15 Dec 2023 10:14:31 -0500 (EST)

rekado pushed a commit to branch master
in repository guix.

commit b55d0a4abf82bd209a3665bced25f80740821446
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Fri Dec 15 10:01:14 2023 +0100

    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
---
 gnu/packages/cran.scm | 37 +++++++++++++++++++++++++++++++++++--
 1 file 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]