From: Charles via Bug reports for GNU Guix <bug-guix@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: 50483@debbugs.gnu.org, "Todor Kondić" <tk.code@protonmail.com>,
efraim@flashner.co.il
Subject: bug#50483: [R] Package r-shiny: Shiny server logic inactive
Date: Sat, 18 Sep 2021 05:14:03 +0000 [thread overview]
Message-ID: <DWUxW9tA6k_vR3K4-TOCHmet7nJueAfFO_-mCkYNrJsqwASWH6tAI2gDmgOgSAy68RK8NunkL1-GqSCbjE6TeE26HmX2t84jU4MH7o_FC1A=@protonmail.com> (raw)
In-Reply-To: <86ilz1rpx2.fsf@gmail.com>
[-- 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
next prev parent reply other threads:[~2021-09-18 5:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='DWUxW9tA6k_vR3K4-TOCHmet7nJueAfFO_-mCkYNrJsqwASWH6tAI2gDmgOgSAy68RK8NunkL1-GqSCbjE6TeE26HmX2t84jU4MH7o_FC1A=@protonmail.com' \
--to=bug-guix@gnu.org \
--cc=50483@debbugs.gnu.org \
--cc=charles.b.jackson@protonmail.com \
--cc=efraim@flashner.co.il \
--cc=tk.code@protonmail.com \
--cc=zimon.toutoune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).