* bug#50483: [R] Package r-shiny: Shiny server logic inactive @ 2021-09-09 12:35 Todor Kondić via Bug reports for GNU Guix 2021-09-15 16:50 ` zimoun 2021-09-27 12:50 ` zimoun 0 siblings, 2 replies; 9+ messages in thread From: Todor Kondić via Bug reports for GNU Guix @ 2021-09-09 12:35 UTC (permalink / raw) To: 50483 Hi, I started having issues with R Shiny applications with newer Guix distro commits. I have a feeling that this is an issue arising from `r-shiny` dependency clashes and that (some) of those dependencies should be either downgraded, or upgraded. The problem is that the server logic of a shiny application is never active. The web application UI is displayed correctly, even initialised correctly, but the logic behind it does not work. Take, for example, a classic shiny demo app [1]. The control with the number of observations is displayed, but the plot depending on it never shows up. This behavior exists on recent Guix builds [2]. However, on one older build from a few months ago [3], the application runs fine. You will find below the manifest[4] for creating the environment where Shiny programs malfunction and the command[5] to create the environment with the manifest. By the way, for those of you who are R savvy, comparing sessionInfo() between the running and non-running version did uncover few version changes. I have not yet delved deeper in what is the root cause, but I think I noticed that this is not the difference in versions of R itself. Lastly, if this is really a universal (ie I am not the only one seeing this), then this is a significant problem for a lot of people doing scientific computing on Guix. sessionInfo() for working version: R version 4.1.0 (2021-05-18) Platform: x86_64-unknown-linux-gnu (64-bit) Matrix products: default BLAS/LAPACK: /gnu/store/bs9pl1f805ins80xaf4s3n35a0x2lyq3-openblas-0.3.9/lib/libopenblasp-r0.3.9.so locale: [1] C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] shiny_1.6.0 loaded via a namespace (and not attached): [1] compiler_4.1.0 fastmap_1.1.0 ellipsis_0.3.2 magrittr_2.0.1 [5] R6_2.5.0 promises_1.2.0.1 later_1.2.0 tools_4.1.0 [9] htmltools_0.5.1.1 Rcpp_1.0.6 digest_0.6.27 xtable_1.8-4 [13] httpuv_1.6.1 lifecycle_1.0.0 mime_0.10 rlang_0.4.11 sessionInfo for the non-working version: R version 4.1.1 (2021-08-10) Platform: x86_64-unknown-linux-gnu (64-bit) Matrix products: default BLAS/LAPACK: /gnu/store/bs9pl1f805ins80xaf4s3n35a0x2lyq3-openblas-0.3.9/lib/libopenblasp-r0.3.9.so locale: [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C [3] LC_TIME=en_GB.utf8 LC_COLLATE=en_GB.utf8 [5] LC_MONETARY=en_GB.utf8 LC_MESSAGES=en_GB.utf8 [7] LC_PAPER=en_GB.utf8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] shiny_1.6.0 loaded via a namespace (and not attached): [1] compiler_4.1.1 fastmap_1.1.0 ellipsis_0.3.2 magrittr_2.0.1 [5] R6_2.5.1 promises_1.2.0.1 later_1.3.0 htmltools_0.5.1.1 [9] tools_4.1.1 Rcpp_1.0.7 digest_0.6.27 xtable_1.8-4 [13] httpuv_1.6.2 lifecycle_1.0.0 mime_0.11 rlang_0.4.11 Reproducible-ish demo: 1. runme.R ```r library(ggplot2) library(shiny) app <- shinyApp( ui = bootstrapPage( numericInput('n', 'Number of obs', 100), plotOutput('plot') ), server = function(input, output) { output$plot <- renderPlot({ hist(runif(input$n)) }) } ) # Will show a warning, because the browser is not in the manifest, but # it it will serve the application on a listed port, which means it # can be accessed by a browser external to the environment. options(browser="itdoesnotmatter") shiny::runApp(app) ``` 2. for example, guix version: 816d52ba93d262548f5e1139ff6051887f13dd0d 3. for example, guix version: 29745d23b87529275a677ee7962b0405594e84db 4. Manifest for creating the environment: ```scheme (use-modules (guix packages) (guix inferior) (guix channels) (guix profiles) (guix utils) (guix build-system gnu) (gnu packages) (gnu packages commencement) (gnu packages gcc) (srfi srfi-1) (ice-9 pretty-print)) (define base-specs '("git" "rsync" "make")) (define font-specs '("unicode-emoji" "fontconfig" "font-dejavu" "font-gnu-freefont" "font-terminus" "font-liberation" "font-inconsolata" "font-gnu-unifont" "font-public-sans" "font-misc-misc" "font-awesome" "font-hack" "font-iosevka" "font-iosevka-term" "font-iosevka-term-slab" "font-iosevka-slab" "font-iosevka-etoile" "font-iosevka-aile" "font-google-noto")) (define r-specs '("r" "r-curl" "r-ellipsis" "r-future" "r-rmarkdown" "r-knitr" "r-rcolorbrewer" "r-data-table" "r-shiny" "r-cowplot" "r-pander" "r-rstatix" "r-r-utils")) (define texlive-specs '("texlive")) (define misc-specs '("sshpass" "xdg-utils" "xdg-user-dirs" "pango" "libxft" "cairo" "gnupg" "openssl")) (define java-specs '(;"maven" "openjdk:out" "openjdk:jdk")) (define perl-specs '("perl-yaml-libyaml")) (define gnu-toolchain-specs '("gcc-toolchain")) (define specs `(,@base-specs ,@font-specs ,@perl-specs ,@r-specs ,@java-specs ,@gnu-toolchain-specs ,@misc-specs ,@texlive-specs)) (define dev-channels (list (channel ;; This is custom Environmental Cheminformatics LCSB channel. (name 'eci-addons) (url "https://git.sr.ht/~condor/eci-guix") (branch "master") (introduction (make-channel-introduction "6642600059913e86657242ba369d752c0af2bff5" (openpgp-fingerprint "EDC3 9790 A06D 5F72 41D9 70F9 BBEF E71B 7A28 3C6F")))) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "29745d23b87529275a677ee7962b0405594e84db")))) (define inferior (inferior-for-channels dev-channels)) (define inferior-mnf-entry-list (map (lambda (spec) (let* ((spkgout (string-split spec #\:)) (spkg (car spkgout)) (rest (cdr spkgout)) (sout (if (null? rest) "out" (car rest))) (pkg (first (lookup-inferior-packages inferior spkg)))) (display (format #f "Commiting ~a to the inferior manifest list.\n" spkg)) (inferior-package->manifest-entry pkg sout))) specs)) (display "Done building inferior list.\n") (define default-manifest (make-manifest '())) (define all-manifest-entries inferior-mnf-entry-list) (define manifest (make-manifest all-manifest-entries)) ;;; For the fresh version ;;; (define manifest (specifications->manifest specs)) (display "Ready to go.") (newline) manifest ``` 5. Shell command to invoke the environment ```shell guix environment -m ~/.local/my-scripts/r-manif.scm -c4 --pure -- R ``` After the command is run, just `source('runme.R')`. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-09 12:35 bug#50483: [R] Package r-shiny: Shiny server logic inactive Todor Kondić via Bug reports for GNU Guix @ 2021-09-15 16:50 ` zimoun 2021-09-16 5:57 ` Charles via Bug reports for GNU Guix 2021-09-27 12:50 ` zimoun 1 sibling, 1 reply; 9+ messages in thread From: zimoun @ 2021-09-15 16:50 UTC (permalink / raw) To: Todor Kondić; +Cc: charles.b.jackson, 50483 Hi, Thanks for the report. IIUC, the package uglify-js from gnu/packages/lisp-xyz was previously used to minify and now replaced by the new uglifyjs package from the new gnu/packages/uglifyjs. Then something is incompatible. I propose to revert to the Lisp JavaScript compressor instead of the Node one. JS people, WDYT? On jeu., 09 sept. 2021 at 12:35, Todor Kondić <tk.code@protonmail.com> wrote: > ```r > library(ggplot2) > library(shiny) > > > app <- shinyApp( > ui = bootstrapPage( > numericInput('n', 'Number of obs', 100), > plotOutput('plot') > ), > server = function(input, output) { > output$plot <- renderPlot({ hist(runif(input$n)) }) > } > ) > > > # Will show a warning, because the browser is not in the manifest, but > # it it will serve the application on a listed port, which means it > # can be accessed by a browser external to the environment. > options(browser="itdoesnotmatter") > shiny::runApp(app) > > ``` Using the R script above, and running: guix time-machine --commit=<commit> -- environment --ad-hoc r r-shiny r-ggplot2 -- R -e 'source("script.r")' to bisect, the commit introducing a regression is: --8<---------------cut here---------------start------------->8--- commit 385c485c651c0b1a467bdbbf31fa723dc4cabd9e Author: Charles <charles.b.jackson@protonmail.com> Date: Mon Jul 12 22:50:44 2021 -0500 build: Update uglifyjs for minify-build-system. * guix/build-system/minify.scm (default-uglify-js): Update uglifyjs package used. * guix/build/minify-build-system.scm (minify): Use updated uglifyjs command name. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> guix/build-system/minify.scm | 4 ++-- guix/build/minify-build-system.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) --8<---------------cut here---------------end--------------->8--- with the Bisect Log (14): 816d52ba93 bad gnu: Add r-megadepth. 29745d23b8 good gnu: Use define-public in (gnu packages xiph). aa6e6fb2e9 good gnu: Add ytfzf. c8bcef2598 bad gnu: sameboy: Update to 0.14.4. d84c24935b bad gnu: icedove: Update to 78.12.0 [security fixes]. 026bd0b219 good gnu: r-matrixcalc: Update to 1.0-4. 7da8f66e52 good gnu: password-store: Fix passmenu paths substitution. a49c5488bd good gnu: Add putty. b019496fc3 good pack/deb: Add default section and priority fields to the control file. bfa847dbe0 good gnu: Add node-acorn. 3436d3f801 bad gnu: Add emacs-zmq. 4cda5a4dab bad gnu: git-annex: Update to 8.20210714. 385c485c65 bad build: Update uglifyjs for minify-build-system. d16148fcfd good gnu: Add node-uglify-js. 385c485c651c0b1a467bdbbf31fa723dc4cabd9e is the first bad commit Cheers, simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-15 16:50 ` zimoun @ 2021-09-16 5:57 ` Charles via Bug reports for GNU Guix 2021-09-16 6:32 ` zimoun 0 siblings, 1 reply; 9+ messages in thread From: Charles via Bug reports for GNU Guix @ 2021-09-16 5:57 UTC (permalink / raw) To: zimoun; +Cc: 50483, Todor Kondić, efraim Hello, I am responsible to updating the minify build syste to use the updated uglifyjs (now node-uglify-js found in gnu/packages/uglifyjs.scm). When updating I noticed that some R packages had the input uglify-js (the old lisp one). I chose not mess with them at risk of breaking. What I failed to realize is that some R packages (like r-shiny) actually use the minify build-system to do the minifying, thus trying to call the updated uglifyer, while only importing the new one. Other R package like (r-shinytree) do not use the minify build system and instead directly call uglify-js using open-pipe* (these are the ones I didn't want to break). I would highly suggest against using the old lisp uglifyer since it is outdated by 6 years, and if anyone decides to write some modern javascript, your package will break. Instead simply update the input to ("node-uglify-js" ,node-uglify-js) and don't forget to use module (gnu packages uglifyjs). For the packages like r-shinytree, I would suggest having them use the minify-build system like r-shiny (and also updating to the newer node-uglify-js). I have tested updaing the input, and it works for the ggplot2 example stated earlier in this thread. Again I'm really sorry for not catching this. It is very late where I am, so if it isn't clear how to update, I can do it tomorrow. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-16 5:57 ` Charles via Bug reports for GNU Guix @ 2021-09-16 6:32 ` zimoun 2021-09-18 5:14 ` Charles via Bug reports for GNU Guix 0 siblings, 1 reply; 9+ messages in thread From: zimoun @ 2021-09-16 6:32 UTC (permalink / raw) To: Charles; +Cc: 50483, Todor Kondić Hi Charles, On Thu, 16 Sep 2021 at 05:57, Charles <charles.b.jackson@protonmail.com> wrote: > Hello, I am responsible to updating the minify build syste to use the > updated uglifyjs (now node-uglify-js found in > gnu/packages/uglifyjs.scm). When updating I noticed that some R > packages had the input uglify-js (the old lisp one). I chose not mess > with them at risk of breaking. What I failed to realize is that some R > packages (like r-shiny) actually use the minify build-system to do the > minifying, thus trying to call the updated uglifyer, while only > importing the new one. Other R package like (r-shinytree) do not use > the minify build system and instead directly call uglify-js using > open-pipe* (these are the ones I didn't want to break). > > I would highly suggest against using the old lisp uglifyer since it is > outdated by 6 years, and if anyone decides to write some modern > javascript, your package will break. Instead simply update the input > to ("node-uglify-js" ,node-uglify-js) and don't forget to use module > (gnu packages uglifyjs). For the packages like r-shinytree, I would > suggest having them use the minify-build system like r-shiny (and also > updating to the newer node-uglify-js). I have tested updaing the > input, and it works for the ggplot2 example stated earlier in this > thread. Thanks for explaining. It is “broken” since: CommitDate: Mon Jul 19 14:46:28 2021 +0300 so I propose to revert now or wait a couple of days for a fix. Efraim, WDYT? > Again I'm really sorry for not catching this. It is very late where I > am, so if it isn't clear how to update, I can do it tomorrow. Do not worry. That happens. :-) The good is that the situation shows some limitations and how to improve. Cheers, simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-16 6:32 ` zimoun @ 2021-09-18 5:14 ` Charles via Bug reports for GNU Guix 2021-09-20 19:03 ` zimoun 0 siblings, 1 reply; 9+ messages in thread From: Charles via Bug reports for GNU Guix @ 2021-09-18 5:14 UTC (permalink / raw) To: zimoun; +Cc: 50483, Todor Kondić, efraim [-- Attachment #1: Type: text/plain, Size: 2303 bytes --] Here is a patch to update the packages to use the up to date minifier. Is the the correct thread to put this or should I start a new thread in the patches mailing list? ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, September 16th, 2021 at 1:32 AM, zimoun <zimon.toutoune@gmail.com> wrote: > Hi Charles, > > On Thu, 16 Sep 2021 at 05:57, Charles charles.b.jackson@protonmail.com wrote: > > > Hello, I am responsible to updating the minify build syste to use the > > > > updated uglifyjs (now node-uglify-js found in > > > > gnu/packages/uglifyjs.scm). When updating I noticed that some R > > > > packages had the input uglify-js (the old lisp one). I chose not mess > > > > with them at risk of breaking. What I failed to realize is that some R > > > > packages (like r-shiny) actually use the minify build-system to do the > > > > minifying, thus trying to call the updated uglifyer, while only > > > > importing the new one. Other R package like (r-shinytree) do not use > > > > the minify build system and instead directly call uglify-js using > > > > open-pipe* (these are the ones I didn't want to break). > > > > I would highly suggest against using the old lisp uglifyer since it is > > > > outdated by 6 years, and if anyone decides to write some modern > > > > javascript, your package will break. Instead simply update the input > > > > to ("node-uglify-js" ,node-uglify-js) and don't forget to use module > > > > (gnu packages uglifyjs). For the packages like r-shinytree, I would > > > > suggest having them use the minify-build system like r-shiny (and also > > > > updating to the newer node-uglify-js). I have tested updaing the > > > > input, and it works for the ggplot2 example stated earlier in this > > > > thread. > > Thanks for explaining. > > It is “broken” since: > > CommitDate: Mon Jul 19 14:46:28 2021 +0300 > > so I propose to revert now or wait a couple of days for a fix. > > Efraim, WDYT? > > > Again I'm really sorry for not catching this. It is very late where I > > > > am, so if it isn't clear how to update, I can do it tomorrow. > > Do not worry. That happens. :-) The good is that the situation shows > > some limitations and how to improve. > > Cheers, > > simon [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-Update-some-packages-using-old-JavaScript-minifi.patch --] [-- Type: text/x-patch; name=0001-gnu-Update-some-packages-using-old-JavaScript-minifi.patch, Size: 13971 bytes --] From 57c3801034e77120e4030d0e5421a02343e9280c Mon Sep 17 00:00:00 2001 From: Charles <charles.b.jackson@protonmail.com> Date: Sat, 18 Sep 2021 00:05:55 -0500 Subject: [PATCH] gnu: Update some packages using old JavaScript minifier. * gnu/packages/minetest.scm (minetest-basic-trains): New variable. * gnu/packages/bioinformatics.scm (bismark): Update uglifyjs input. * gnu/packages/ci.scm (laminar): Update uglifyjs input. * gnu/packages/cran.scm (r-shiny r-shinytree r-shinydashboard r-colourpicker r-threejs r-flexdashboard r-networkd3 r-dygraphs): Update uglifyjs input. * gnu/packages/javascript.scm (): Update uglifyjs input. --- gnu/packages/bioinformatics.scm | 6 +++--- gnu/packages/ci.scm | 8 ++++---- gnu/packages/cran.scm | 32 ++++++++++++++++---------------- gnu/packages/javascript.scm | 11 +++++------ 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ee85ab1a06..4f6d7d384a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -105,7 +105,6 @@ #:use-module (gnu packages jemalloc) #:use-module (gnu packages jupyter) #:use-module (gnu packages linux) - #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages logging) #:use-module (gnu packages lsof) #:use-module (gnu packages machine-learning) @@ -147,6 +146,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages uglifyjs) #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages wget) @@ -9284,7 +9284,7 @@ Browser.") (lambda* (#:key inputs #:allow-other-keys) (let* ((file (assoc-ref inputs "plotly.js")) (installed "plotly/plotly.js")) - (let ((minified (open-pipe* OPEN_READ "uglify-js" file))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" file))) (call-with-output-file installed (cut dump-port minified <>)))) #t)) @@ -9342,7 +9342,7 @@ Browser.") "v1.39.4/dist/plotly.js")) (sha256 (base32 "138mwsr4nf5qif4mrxx286mpnagxd1xwl6k8aidrjgknaqg88zyr")))) - ("uglify-js" ,uglify-js))) + ("uglifyjs" ,node-uglify-js))) (home-page "https://www.bioinformatics.babraham.ac.uk/projects/bismark/") (synopsis "Map bisulfite treated sequence reads and analyze methylation") (description "Bismark is a program to map bisulfite treated sequencing diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index b7ea77ca31..a6d296923f 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -38,7 +38,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages gnupg) - #:use-module (gnu packages lisp-xyz) + #:use-module (gnu packages uglifyjs) #:use-module (gnu packages mail) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) @@ -252,7 +252,7 @@ intended as a replacement for Hydra.") (let* ((file (assoc-ref inputs (string-append name ".js"))) (port - (open-pipe* OPEN_READ "uglify-js" file)) + (open-pipe* OPEN_READ "uglifyjs" file)) (destination (string-append "../build/js/" name ".min.js"))) @@ -263,7 +263,7 @@ intended as a replacement for Hydra.") (let ((exit (close-pipe port))) (unless (zero? exit) - (error "uglify-js failed" exit))))) + (error "uglifyjs failed" exit))))) '("vue" "vue-router" @@ -282,7 +282,7 @@ intended as a replacement for Hydra.") ("zlib" ,zlib))) (native-inputs `(("googletest" ,googletest) - ("uglify-js" ,uglify-js) + ("uglifyjs" ,node-uglify-js) ("vue.js" ,(origin (method url-fetch) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f80256c901..81dd78ac94 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -84,7 +84,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages javascript) #:use-module (gnu packages libevent) - #:use-module (gnu packages lisp-xyz) + #:use-module (gnu packages uglifyjs) #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -2084,7 +2084,7 @@ previewing themes in real time.") ("js-strftime" ,js-strftime) ("js-highlight" ,js-highlight))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ("gfortran" ,gfortran) ("js-bootstrap-accessibility" ,(origin @@ -2151,7 +2151,7 @@ responsive, and powerful applications with minimal effort.") (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" source target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) @@ -2166,7 +2166,7 @@ responsive, and powerful applications with minimal effort.") (inputs `(("js-requirejs" ,js-requirejs))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ("js-jquery" ,(origin (method url-fetch) @@ -2204,7 +2204,7 @@ supports interactive trees, to enable rich, editable trees in Shiny.") (lambda _ (with-directory-excursion "inst/AdminLTE" (delete-file "app.min.js") - (let ((minified (open-pipe* OPEN_READ "uglify-js" "app.js"))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" "app.js"))) (call-with-output-file "app.min.js" (lambda (port) (dump-port minified port)))))))))) @@ -2213,7 +2213,7 @@ supports interactive trees, to enable rich, editable trees in Shiny.") ("r-promises" ,r-promises) ("r-shiny" ,r-shiny))) (native-inputs - `(("uglify-js" ,uglify-js))) + `(("uglifyjs" ,node-uglify-js))) (home-page "https://rstudio.github.io/shinydashboard/") (synopsis "Create dashboards with shiny") (description "This package provides an extension to the Shiny web @@ -15397,7 +15397,7 @@ to easily call your own custom JavaScript functions from R.") (format #t "Processing ~a --> ~a~%" source target) (delete-file target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) @@ -15413,7 +15413,7 @@ to easily call your own custom JavaScript functions from R.") ("r-shinyjs" ,r-shinyjs))) (native-inputs `(("r-knitr" ,r-knitr) - ("uglify-js" ,uglify-js) + ("uglifyjs" ,node-uglify-js) ("js-jquery" ,(origin (method url-fetch) @@ -17903,7 +17903,7 @@ and Learning to Rank measures (LambdaMart).") (format #t "Processing ~a --> ~a~%" source target) (delete-file target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) @@ -17915,7 +17915,7 @@ and Learning to Rank measures (LambdaMart).") ("r-htmlwidgets" ,r-htmlwidgets) ("r-igraph" ,r-igraph))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ("js-jquery" ,(origin (method url-fetch) @@ -18175,7 +18175,7 @@ etc.). Text boxes with automatic word wrap are also supported.") (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" source target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) @@ -18189,7 +18189,7 @@ etc.). Text boxes with automatic word wrap are also supported.") ("r-rmarkdown" ,r-rmarkdown) ("r-shiny" ,r-shiny))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ("js-raphael" ,(origin (method url-fetch) @@ -20187,14 +20187,14 @@ tools for help in data interpretation.") (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" source target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) sources targets)))) #t))))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ;; NOTE: Make sure that this version of d3 is still valid when ;; upgrading the package. ("d3.v4.js" @@ -24540,14 +24540,14 @@ documents, Shiny applications, Plumber APIs, plots, and static web content.") (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" source target) - (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" source))) (call-with-output-file target (lambda (port) (dump-port minified port))))) sources targets)))) #t))))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("uglifyjs" ,node-uglify-js) ;; They actually use version 1.11.1, but this more recent version ;; should be just fine. ("js-jquery" diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 81de5b67a6..e107dd6126 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -26,7 +26,7 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) - #:use-module (gnu packages lisp-xyz) + #:use-module (gnu packages uglifyjs) #:use-module (gnu packages readline) #:use-module (gnu packages web) #:use-module (guix packages) @@ -163,14 +163,14 @@ context menu in TypeScript.") (cond ((string-match "\\.js$" file) (mkdir-p (dirname installed)) - (let ((minified (open-pipe* OPEN_READ "uglify-js" file))) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" file))) (call-with-output-file installed (lambda (port) (dump-port minified port))) (let ((exit (close-pipe minified))) (unless (zero? exit) - (error "dear, uglify-js failed" exit))))) + (error "dear, uglifyjs failed" exit))))) (else (install-file file (dirname installed)))))) (find-files ".")) @@ -179,7 +179,7 @@ context menu in TypeScript.") (native-inputs `(("font-mathjax" ,font-mathjax) ("glibc-utf8-locales" ,glibc-utf8-locales) - ("uglify-js" ,uglify-js) + ("uglifyjs" ,node-uglify-js) ,@(package-native-inputs font-mathjax))) (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath") (description "MathJax is a JavaScript display engine for LaTeX, MathML, @@ -527,8 +527,7 @@ means that these shams cause many ES5 methods to silently fail.") `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-uglification - ;; Remove "export" keyword which prevents the file from being - ;; uglified by uglify-js. Moreover, that keyword is not present in + ;; Remove "export" keyword. That keyword is not present in ;; the minified version of the library some projects are using, ;; e.g., ;; <https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/blob/master/FileSaver.min.js> -- 2.32.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-18 5:14 ` Charles via Bug reports for GNU Guix @ 2021-09-20 19:03 ` zimoun 2021-09-20 19:30 ` Charles via Bug reports for GNU Guix 0 siblings, 1 reply; 9+ messages in thread From: zimoun @ 2021-09-20 19:03 UTC (permalink / raw) To: Charles; +Cc: 50483, Todor Kondić Hi Charles, Thanks for the patch. On Sat, 18 Sep 2021 at 05:14, Charles <charles.b.jackson@protonmail.com> wrote: > Here is a patch to update the packages to use the up to date > minifier. Is the the correct thread to put this or should I start a > new thread in the patches mailing list? I think the bestis to send this patch to guix-patches@gnu.org. See commit message and suggestions below. > From 57c3801034e77120e4030d0e5421a02343e9280c Mon Sep 17 00:00:00 2001 > From: Charles <charles.b.jackson@protonmail.com> > Date: Sat, 18 Sep 2021 00:05:55 -0500 > Subject: [PATCH] gnu: Update some packages using old JavaScript minifier. Subject: [PATCH] gnu: Switch to (gnu package uglifyjs) minifier. Fixes <https://bugs.gnu.org/50483> > * gnu/packages/minetest.scm (minetest-basic-trains): New variable. > * gnu/packages/bioinformatics.scm (bismark): Update uglifyjs input. > * gnu/packages/ci.scm (laminar): Update uglifyjs input. > * gnu/packages/cran.scm (r-shiny r-shinytree r-shinydashboard r-colourpicker > r-threejs r-flexdashboard r-networkd3 r-dygraphs): Update uglifyjs input. > * gnu/packages/javascript.scm (): Update uglifyjs input. Missing package --^ I have not compiled, so I assume this removal: > - #:use-module (gnu packages lisp-xyz) does not trigger warning when compiling Guix, right? > diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm > index b7ea77ca31..a6d296923f 100644 > --- a/gnu/packages/ci.scm > +++ b/gnu/packages/ci.scm > @@ -38,7 +38,7 @@ > #:use-module (gnu packages guile) > #:use-module (gnu packages guile-xyz) > #:use-module (gnu packages gnupg) > - #:use-module (gnu packages lisp-xyz) > + #:use-module (gnu packages uglifyjs) It seems the module are sorted by alphabetic order. > diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm > index f80256c901..81dd78ac94 100644 > --- a/gnu/packages/cran.scm > +++ b/gnu/packages/cran.scm > @@ -84,7 +84,7 @@ > #:use-module (gnu packages java) > #:use-module (gnu packages javascript) > #:use-module (gnu packages libevent) > - #:use-module (gnu packages lisp-xyz) > + #:use-module (gnu packages uglifyjs) Idem. > diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm > index 81de5b67a6..e107dd6126 100644 > --- a/gnu/packages/javascript.scm > +++ b/gnu/packages/javascript.scm > @@ -26,7 +26,7 @@ > #:use-module (gnu packages) > #:use-module (gnu packages base) > #:use-module (gnu packages compression) > - #:use-module (gnu packages lisp-xyz) > + #:use-module (gnu packages uglifyjs) Idem. Otherwise, LGTM. Thanks. Cheers, simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-20 19:03 ` zimoun @ 2021-09-20 19:30 ` Charles via Bug reports for GNU Guix 2021-09-26 12:26 ` Todor Kondić via Bug reports for GNU Guix 0 siblings, 1 reply; 9+ messages in thread From: Charles via Bug reports for GNU Guix @ 2021-09-20 19:30 UTC (permalink / raw) To: zimoun; +Cc: 50483, Todor Kondić, efraim Thanks simon, I will take into account your suggestions and submit to patches. ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-20 19:30 ` Charles via Bug reports for GNU Guix @ 2021-09-26 12:26 ` Todor Kondić via Bug reports for GNU Guix 0 siblings, 0 replies; 9+ messages in thread From: Todor Kondić via Bug reports for GNU Guix @ 2021-09-26 12:26 UTC (permalink / raw) Cc: 50483 On Monday, September 20th, 2021 at 7:30 PM, Charles <charles.b.jackson@protonmail.com> wrote: > Thanks simon, I will take into account your suggestions and submit to patches. Thanks for your efforts! ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#50483: [R] Package r-shiny: Shiny server logic inactive 2021-09-09 12:35 bug#50483: [R] Package r-shiny: Shiny server logic inactive Todor Kondić via Bug reports for GNU Guix 2021-09-15 16:50 ` zimoun @ 2021-09-27 12:50 ` zimoun 1 sibling, 0 replies; 9+ messages in thread From: zimoun @ 2021-09-27 12:50 UTC (permalink / raw) To: Todor Kondić; +Cc: 50483-done Hi, On Thu, 9 Sept 2021 at 14:46, Todor Kondić via Bug reports for GNU Guix <bug-guix@gnu.org> wrote: > I started having issues with R Shiny applications with newer Guix distro commits. I think it is fixed by f36b789f788ffe3ebdaaeac1d3a05534acaa909c. Closing. All the best, simon ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-09-27 12:53 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-09 12:35 bug#50483: [R] Package r-shiny: Shiny server logic inactive Todor Kondić via Bug reports for GNU Guix 2021-09-15 16:50 ` zimoun 2021-09-16 5:57 ` Charles via Bug reports for GNU Guix 2021-09-16 6:32 ` zimoun 2021-09-18 5:14 ` Charles via Bug reports for GNU Guix 2021-09-20 19:03 ` zimoun 2021-09-20 19:30 ` Charles via Bug reports for GNU Guix 2021-09-26 12:26 ` Todor Kondić via Bug reports for GNU Guix 2021-09-27 12:50 ` zimoun
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).