From 8990fc1584ce2270063774e098ebf2ac8090c32d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Dec 2019 18:26:01 +0100 Subject: gnu: Add r-rintrojs. * gnu/packages/cran.scm (r-rintrojs): New variable. --- gnu/packages/cran.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 21a51a6d9f..d4bfcfaaa0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16375,3 +16375,65 @@ platform-specific genetic knowledge and empirical signal to readily detect and quantify somatic @dfn{single nucleotide variants} (SNVs) in @dfn{circulating cell free DNA} (cfDNA).") (license license:gpl3))) + +;; This package includes minified JavaScript files. When upgrading please +;; check that there are no new minified JavaScript files. +(define-public r-rintrojs + (package + (name "r-rintrojs") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rintrojs" version)) + (sha256 + (base32 + "0vyqb3pyrh12saddar71ac9csn2vkd2j8ln6ygpqys8ky1lc3427")))) + (properties `((upstream-name . "rintrojs"))) + (build-system r-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build r-build-system) + (srfi srfi-1) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/javascript/introjs/" + (call-with-values + (lambda () + (unzip2 + `((,(assoc-ref inputs "intro.js") + "intro.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #t "Processing ~a --> ~a~%" + source target) + (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (call-with-output-file target + (lambda (port) + (dump-port minified port))))) + sources targets)))) + #t))))) + (native-inputs + `(("uglify-js" ,uglify-js) + ("intro.js" + ,(origin + (method url-fetch) + (uri "https://raw.githubusercontent.com/usablica/intro.js/v2.9.3/intro.js") + (sha256 + (base32 + "1qf8n1sfy9qkiqqnfgg0xbhmfgh0g3mqsjas8qhz230h3zzlzxj8")))))) + (propagated-inputs + `(("r-jsonlite" ,r-jsonlite) + ("r-shiny" ,r-shiny))) + (home-page "https://github.com/carlganz/rintrojs") + (synopsis "Wrapper for the Intro.js library") + (description + "This package provides a wrapper for the @url{http://www.introjs.com, +Intro.js} library. This package makes it easy to include step-by-step +introductions, and clickable hints in a Shiny application. It supports both +static introductions in the UI, and programmatic introductions from the +server-side.") + (license license:agpl3+))) -- cgit v1.2.3