diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a7630f25fa..85c527dc32 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7437,6 +7437,10 @@ (define-public r-evmix can safely interchange most code.") (license license:gpl3))) +;; This package contains minified JavaScript: jExcel CE Spreadsheet, +;; version 3.9.1. It is not clear how to obtain this particular +;; version as there is no tag for 3.9.1. There only is 3.6.1 and +;; 4.2.0 at https://github.com/jspreadsheet/ce. (define-public r-excelr (package (name "r-excelr") @@ -7452,37 +7456,44 @@ (define-public r-excelr (properties `((upstream-name . "excelR"))) (build-system r-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'process-javascript - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "inst/htmlwidgets/lib/jexcel/js/" - (let ((source (assoc-ref inputs "js-jexcel")) - (target "jexcel.min.js")) - (format #true "Processing ~a --> ~a~%" - source target) - (invoke "esbuild" source "--minify" - (string-append "--outfile=" target))))))))) - (native-inputs - `(("esbuild" ,esbuild) - ;; There is no tag for this particular commit, but comparison of the - ;; contents of the JavaScript files point to this commit as the most - ;; likely source. - ("js-jexcel" - ,(origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/jspreadsheet/ce/" - "8af1960f76e6803bebc5750013d2ebe95354e88a/dist/jexcel.js")) - (sha256 - (base32 - "0y88hsr9d8cpnvdmbm17m328pc4kc5wbcv02kzmhm0bryzhviw7h")))))) + (list + #:modules + '((guix build r-build-system) + (guix build minify-build-system) + (guix build utils)) + #:imported-modules + `(,@%r-build-system-modules + (guix build minify-build-system)) + #:phases + #~(modify-phases (@ (guix build r-build-system) %standard-phases) + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/htmlwidgets/lib/jexcel/js" + (minify (search-input-file inputs "/dist/jexcel.js") + #:target "jexcel.min.js"))))))) (propagated-inputs (list r-htmlwidgets r-jsonlite)) + (native-inputs + (list esbuild + ;; There is no tag for this particular commit, but comparison of + ;; the contents of the JavaScript files point to this commit as the + ;; most likely source. + (let* ((commit "8af1960f76e6803bebc5750013d2ebe95354e88a") + (version (git-version "3.9.1" "0" commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jspreadsheet/ce") + (commit commit))) + (file-name (git-file-name "jexcel" version)) + (sha256 + (base32 + "1zk0wc4h0vax7zgimhwqq2icrvjr84agm3qv42l16gim7gq7fqfq")))))) (home-page "https://github.com/Swechhya/excelR") (synopsis "Wrapper of the JavaScript library jExcel") (description - "This package provides an R interface to the jExcel library to -create web-based interactive tables and spreadsheets compatible with -spreadsheet software.") + "This package provides an R interface to the jExcel library to create +web-based interactive tables and spreadsheets compatible with spreadsheet +software.") (license license:expat))) (define-public r-extremes