summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-12-13 18:26:01 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-12-13 22:41:37 +0100
commit8990fc1584ce2270063774e098ebf2ac8090c32d (patch)
tree9d2a9cd0440377d437ef30304b93d0022be341c8
parent3e33377767b9b2cd3a37724cae364c317698317d (diff)
downloadguix-patches-8990fc1584ce2270063774e098ebf2ac8090c32d.tar
guix-patches-8990fc1584ce2270063774e098ebf2ac8090c32d.tar.gz
gnu: Add r-rintrojs.
* gnu/packages/cran.scm (r-rintrojs): New variable.
-rw-r--r--gnu/packages/cran.scm62
1 files changed, 62 insertions, 0 deletions
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+)))