From patchwork Thu Jul 15 03:38:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Charles X-Patchwork-Id: 31425 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A8CD727BC6B; Thu, 15 Jul 2021 04:39:13 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8598B27BC82 for ; Thu, 15 Jul 2021 04:39:10 +0100 (BST) Received: from localhost ([::1]:60158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m3sDN-0006l3-HX for patchwork@mira.cbaines.net; Wed, 14 Jul 2021 23:39:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m3sDG-0006kv-S7 for guix-patches@gnu.org; Wed, 14 Jul 2021 23:39:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34654) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m3sDG-0002Tk-KP for guix-patches@gnu.org; Wed, 14 Jul 2021 23:39:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1m3sDG-0006U0-Fc for guix-patches@gnu.org; Wed, 14 Jul 2021 23:39:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49242] Update UglifyJs (& dependencies) and update dependents Resent-From: Charles Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 15 Jul 2021 03:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49242 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Efraim Flashner Cc: 49242@debbugs.gnu.org Received: via spool by 49242-submit@debbugs.gnu.org id=B49242.162632032524897 (code B ref 49242); Thu, 15 Jul 2021 03:39:02 +0000 Received: (at 49242) by debbugs.gnu.org; 15 Jul 2021 03:38:45 +0000 Received: from localhost ([127.0.0.1]:46200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3sCt-0006TO-1s for submit@debbugs.gnu.org; Wed, 14 Jul 2021 23:38:45 -0400 Received: from mail4.protonmail.ch ([185.70.40.27]:44571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3sCp-0006T6-4Z for 49242@debbugs.gnu.org; Wed, 14 Jul 2021 23:38:37 -0400 Date: Thu, 15 Jul 2021 03:38:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1626320307; bh=1RIjMFBkrt6v95r7u8yp4mzwV126Xi8AJ4vpX6ya0Oo=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=KJMGpQRRcZdzDVLY+kAXtp13S67PrgfntTo5OgMCiWNBfUVDs3o5Ca3avf3/eQuXY JlILU5UxIJxZ3QFK6kTFW/aRDey12EI4gMUqsk09sdZ1giC0QJiLZFV6OcBMXLNxJF Soj99trJxz8lhnOArDAJmcxYcltEdgyaiSilB9oc= Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Charles X-ACL-Warn: , Charles via Guix-patches X-Patchwork-Original-From: Charles via Guix-patches via From: Charles X-getmail-retrieved-from-mailbox: Patches My bad, I was missing a file-name for node-uglify-js. Here are fixes (actually tested this time 😏). I also tested the updated minify build system. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Tuesday, July 13th, 2021 at 12:36 AM, Charles wrote: > Here it is redone. This time, I didn't touch the Common Lisp or R uglify business and just made a new one. The R people are welcome to update their packages to use the up to date their UglifyJs. I took your advice and put a public uglifyjs variable in uglifyjs.scm. That way when UglifyJs is rewritten in Rust, the same (gnu packages uglifyjs) module can be used. > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Monday, July 12th, 2021 at 7:52 AM, Efraim Flashner efraim@flashner.co.il wrote: > > > This should be two patches, one to add node-uglify-js and one to switch > > > > over to the new version. Other comments inline. > > > > I'm torn on putting uglify-js in a separate package module. I'm not > > > > entirely sure how deprecating packages works across modules, but I guess > > > > that's what I suggested below. > > > > It'd probably be best to put it in an uglifyjs.scm and rename the > > > > package to uglifyjs instead of node-uglify-js. > > > > On Sun, Jun 27, 2021 at 04:01:21PM +0000, Charles via Guix-patches via wrote: > > > > > From 53b96b21be2946e84e9687096313557a83c2e103 Mon Sep 17 00:00:00 2001 > > > > > > From: Charles charles.b.jackson@protonmail.com > > > > > > Date: Sat, 26 Jun 2021 14:44:23 -0500 > > > > > > Subject: [PATCH] gnu: Update UglifyJs. > > > > > > This change is to update the UglifyJs library. This updated Javascript > > > > > > implementation is by the same author as the original Common Lisp version and > > > > > > is the official successor. It supports many commonly found features of > > > > > > ECMAscript 6. > > > > > > - gnu/packages/lisp-xyz.scm (uglify-js): Remove variable. > > > - gnu/packages/node-xyz.scm (node-uglify-js): Add new variable. > > > - guix/build-system/minify.scm (default-uglify-js): Update module-ref. > > > - gnu/packages/bioinformatics.scm (bismark): Update inputs. > > > - gnu/packages/ci.scm (laminar): Update inputs. > > > - gnu/packages/cran.scm (r-shiny): Update inputs. > > > - gnu/packages/cran.scm (r-shinytree): Update inputs. > > > - gnu/packages/cran.scm (r-colourpicker): Update inputs. > > > - gnu/packages/cran.scm (r-threejs): Update inputs. > > > - gnu/packages/cran.scm (r-flexdashboard): Update inputs. > > > - gnu/packages/cran.scm (r-bios2cor): Update inputs. > > > - gnu/packages/cran.scm (r-rintrojs): Update inputs. > > > - gnu/packages/cran.scm (r-dygraphs): Update inputs. > > > - gnu/packages/javascript.scm (js-mathjax): Update inputs. > > > - gnu/packages/web.scm (hpcguix-web): Update inputs. > > > > > > gnu/packages/bioinformatics.scm | 6 ++-- > > > > > > gnu/packages/ci.scm | 6 ++-- > > > > > > gnu/packages/cran.scm | 36 ++++++++++----------- > > > > > > gnu/packages/javascript.scm | 6 ++-- > > > > > > gnu/packages/lisp-xyz.scm | 52 ------------------------------ > > > > > > gnu/packages/node-xyz.scm | 24 ++++++++++++++ > > > > > > gnu/packages/web.scm | 4 +-- > > > > > > guix/build-system/minify.scm | 4 +-- > > > > > > guix/build/minify-build-system.scm | 2 +- > > > > > > 9 files changed, 56 insertions(+), 84 deletions(-) > > > > > > diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm > > > > > > index 7a1c8cc8e3..d11159b88c 100644 > > > > > > --- a/gnu/packages/bioinformatics.scm > > > > > > +++ b/gnu/packages/bioinformatics.scm > > > > > > @@ -105,7 +105,6 @@ > > > > > > #:use-module (gnu packages java-compression) > > > > > > #:use-module (gnu packages jemalloc) > > > > > > #: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) > > > > > > @@ -114,6 +113,7 @@ > > > > > > #:use-module (gnu packages mpi) > > > > > > #:use-module (gnu packages ncurses) > > > > > > #:use-module (gnu packages node) > > > > > > - #:use-module (gnu packages node-xyz) > > > > > > #:use-module (gnu packages ocaml) > > > > > > #:use-module (gnu packages pcre) > > > > > > #:use-module (gnu packages parallel) > > > > > > @@ -9245,7 +9245,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)) > > > > > > > > > > > > @@ -9303,7 +9303,7 @@ Browser.") > > > > > > "v1.39.4/dist/plotly.js")) > > > > > > (sha256 > > > > > > (base32 "138mwsr4nf5qif4mrxx286mpnagxd1xwl6k8aidrjgknaqg88zyr")))) > > > > > > - ("uglify-js" ,uglify-js))) > > > > > > > > > - ("node-uglify-js" ,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 0bcde0fad5..9f9f5d6c20 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 node-xyz) > > > > > > #: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"))) > > > > > > > > > > > > @@ -282,7 +282,7 @@ intended as a replacement for Hydra.") > > > > > > ("zlib" ,zlib))) > > > > > > (native-inputs > > > > > > `(("googletest" ,googletest) > > > > > > - ("uglify-js" ,uglify-js) > > > > > > > > > - ("node-uglify-js" ,node-uglify-js) > > > > > > ("vue.js" > > > ,(origin (method url-fetch) > > > > > > > > > > > > diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm > > > > > > index e01b2417d2..69d98d34aa 100644 > > > > > > --- a/gnu/packages/cran.scm > > > > > > +++ b/gnu/packages/cran.scm > > > > > > @@ -83,13 +83,13 @@ > > > > > > #: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 machine-learning) > > > > > > #:use-module (gnu packages maths) > > > > > > #:use-module (gnu packages mpi) > > > > > > #:use-module (gnu packages multiprecision) > > > > > > #:use-module (gnu packages networking) > > > > > > #:use-module (gnu packages node) > > > > > > - #:use-module (gnu packages node-xyz) > > > > > > #:use-module (gnu packages pcre) > > > > > > #:use-module (gnu packages pdf) > > > > > > #:use-module (gnu packages perl) > > > > > > @@ -1991,7 +1991,7 @@ previewing themes in real time.") > > > > > > ("js-strftime" ,js-strftime) > > > > > > ("js-highlight" ,js-highlight))) > > > > > > (native-inputs > > > > > > - `(("uglify-js" ,uglify-js) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ("gfortran" ,gfortran) > > > ("js-bootstrap-accessibility" > > > ,(origin > > > > > > > > > > > > @@ -2058,7 +2058,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))))) > > > > > > > > > > > > @@ -2073,7 +2073,7 @@ responsive, and powerful applications with minimal effort.") > > > > > > (inputs > > > > > > `(("js-requirejs" ,js-requirejs))) > > > > > > (native-inputs > > > > > > - `(("uglify-js" ,uglify-js) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ("js-jquery" > > > ,(origin > > > (method url-fetch) > > > > > > > > > > > > @@ -2111,7 +2111,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)))))))))) > > > > > > > > > > > > @@ -2120,7 +2120,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))) > > > > > > > > > - `(("node-uglify-js" ,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 > > > > > > @@ -14849,7 +14849,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))))) > > > > > > > > > > > > @@ -14865,7 +14865,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) > > > > > > > > > - ("node-uglify-js" ,node-uglify-js) > > > ("js-jquery" > > > ,(origin > > > (method url-fetch) > > > > > > > > > > > > @@ -17276,7 +17276,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))))) > > > > > > > > > > > > @@ -17288,7 +17288,7 @@ and Learning to Rank measures (LambdaMart).") > > > > > > ("r-htmlwidgets" ,r-htmlwidgets) > > > > > > ("r-igraph" ,r-igraph))) > > > > > > (native-inputs > > > > > > - `(("uglify-js" ,uglify-js) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ("js-jquery" > > > ,(origin > > > (method url-fetch) > > > > > > > > > > > > @@ -17523,7 +17523,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))))) > > > > > > > > > > > > @@ -17537,7 +17537,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) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ("js-raphael" > > > ,(origin > > > (method url-fetch) > > > > > > > > > > > > @@ -19380,14 +19380,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) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ;; NOTE: Make sure that this version of d3 is still valid when > > > ;; upgrading the package. > > > ("d3.v4.js" > > > > > > > > > > > > @@ -19645,14 +19645,14 @@ cell free DNA} (cfDNA).") > > > > > > (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) > > > > > > > > > - `(("node-uglify-js" ,node-uglify-js) > > > ("intro.js" > > > ,(origin > > > (method url-fetch) > > > > > > > > > > > > @@ -23716,14 +23716,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) > > > > > > > > > - `(("uglify-js" ,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 a935d321c5..2dc1c330a2 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 node-xyz) > > > > > > #:use-module (gnu packages readline) > > > > > > #:use-module (gnu packages web) > > > > > > #:use-module (guix packages) > > > > > > @@ -163,7 +163,7 @@ 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))) > > > > > > > > > > > > @@ -179,7 +179,7 @@ context menu in TypeScript.") > > > > > > (native-inputs > > > > > > `(("font-mathjax" ,font-mathjax) > > > > > > ("glibc-utf8-locales" ,glibc-utf8-locales) > > > > > > - ("uglify-js" ,uglify-js) > > > > > > > > > - ("node-uglify-js" ,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, > > > > > > diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm > > > > > > index a4a5d6f543..3c891162ee 100644 > > > > > > --- a/gnu/packages/lisp-xyz.scm > > > > > > +++ b/gnu/packages/lisp-xyz.scm > > > > > > @@ -1276,58 +1276,6 @@ compressor. It works on data produced by @code{parse-js} to generate a > > > > > > (define-public ecl-cl-uglify-js > > > > > > (sbcl-package->ecl-package sbcl-cl-uglify-js)) > > > > > > > It would be better to keep this and deprecate it, then people will have > > > > a warning that it's changed. > > > > (define-public uglify-js > > > > (deprecated-package "uglify-js" node-uglify-js)) > > > > > -(define-public uglify-js > > > > > > - (package > > > > > > - (inherit sbcl-cl-uglify-js) > > > > > > - (name "uglify-js") > > > > > > - (build-system trivial-build-system) > > > > > > - (arguments > > > > > > - `(#:modules ((guix build utils)) > > > > > > > > > - #:builder > > > > > > > > > - (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/")) > > > > > > > > > - (script (string-append bin "uglify-js"))) > > > > > > > > > - (use-modules (guix build utils)) > > > > > > > > > - (mkdir-p bin) > > > > > > > > > - (with-output-to-file script > > > > > > > > > - (lambda _ > > > > > > > > > - (format #t "#!~a/bin/sbcl --script > > > > > > > > > - (require :asdf) > > > > > > - (asdf:initialize-source-registry > > > > > > - #p\"~a/etc/common-lisp/source-registry.conf.d/\") > > > > > > - (asdf:initialize-output-translations > > > > > > - #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")" > > > > > > - (assoc-ref %build-inputs "sbcl") > > > > > > > > > - (assoc-ref %build-inputs "sbcl-cl-uglify-js") > > > > > > > > > - (assoc-ref %build-inputs "sbcl-cl-uglify-js")) > > > > > > > > > - ;; FIXME: cannot use progn here because otherwise it fails to > > > > > > > > > - ;; find cl-uglify-js. > > > > > > > > > - (for-each > > > > > > > > > - write > > > > > > > > > - '(;; Quiet, please! > > > > > > > > > - (let ((*standard-output* (make-broadcast-stream)) > > > > > > > > > - (*error-output* (make-broadcast-stream))) > > > > > > > > > - (asdf:load-system :cl-uglify-js)) > > > > > > > > > - (let ((file (cadr *posix-argv*))) > > > > > > > > > - (if file > > > > > > > > > - (format t "~a" > > > > > > > > > - (cl-uglify-js:ast-gen-code > > > > > > > > > - (cl-uglify-js:ast-mangle > > > > > > > > > - (cl-uglify-js:ast-squeeze > > > > > > > > > - (with-open-file (in file) > > > > > > > > > - (parse-js:parse-js in)))) > > > > > > > > > - :beautify nil)) > > > > > > > > > - (progn > > > > > > > > > - (format *error-output* > > > > > > > > > - "Please provide a JavaScript file.~%") > > > > > > > > > - (sb-ext:exit :code 1)))))))) > > > > > > > > > - (chmod script #o755) > > > > > > > > > - #t))) > > > > > > > > > - (inputs > > > > > > - `(("sbcl" ,sbcl) > > > > > > > > > - ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js))) > > > > > > > > > - (synopsis "JavaScript compressor"))) > > > > > > > > > (define-public sbcl-cl-strings > > > > > > (let ((revision "1") > > > > > > (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae")) > > > > > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > > > > > > index 7818b44d9e..3661fdb0c4 100644 > > > > > > --- a/gnu/packages/node-xyz.scm > > > > > > +++ b/gnu/packages/node-xyz.scm > > > > > > @@ -357,3 +357,27 @@ if desired.") > > > > > > (description "Acornjs is a Javascrip parser with many options and an > > > > > > architecture supporting plugins.") > > > > > > (license license:expat))) > > > > > > +(define-public node-uglify-js > > > > > > - (package > > > > > > - (name "node-uglify-js") > > > > > > - (version "3.13.9") > > > > > > - (source > > > > > > - (origin > > > > > > > > > - (method url-fetch) > > > > > > > > > - (uri (string-append > > > > > > > > > - "https://github.com/mishoo/UglifyJS/archive/refs/tags/v" > > > > > > > > > - version ".tar.gz")) > > > > > > > > > > This one also should be downloaded using git-fetch. > > > > > - (sha256 > > > > > > > > > - (base32 "0dpgkqwyrkqlvixwl841375s134slnj3h0viff1cpxq81mxqph09")))) > > > > > > > > > - (build-system node-build-system) > > > > > > - (inputs > > > > > > - `(("semver" ,node-semver) > > > > > > > > > - ("acorn" ,node-acorn))) > > > > > > > > > - (home-page "https://lisperator.net/uglifyjs/") > > > > > > - (synopsis "JavaScript parser / mangler / compressor / beautifier toolkit") > > > > > > > Make sure you have two spaces between each sentence. > > > > > - (description "UglifyJS is a JavaScript compressor/minifier written in > > > > > > +JavaScript. It also contains tools that allow one to automate working with > > > > > > +JavaScript code: parser, code generator, compressor, mangler, scope analyzer, > > > > > > +tree walker, and tree transformer.") > > > > > > - (license license:bsd-2))) > > > > > > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm > > > > > > index 412308b417..6d39103b5b 100644 > > > > > > --- a/gnu/packages/web.scm > > > > > > +++ b/gnu/packages/web.scm > > > > > > @@ -138,7 +138,7 @@ > > > > > > #:use-module (gnu packages libunistring) > > > > > > #:use-module (gnu packages libunwind) > > > > > > #:use-module (gnu packages linux) > > > > > > - #:use-module (gnu packages lisp-xyz) > > > > > > - #:use-module (gnu packages node-xyz) > > > > > > #:use-module (gnu packages lsof) > > > > > > #:use-module (gnu packages lua) > > > > > > #:use-module (gnu packages mail) > > > > > > @@ -7759,7 +7759,7 @@ compressed JSON header blocks. > > > > > > (native-inputs > > > > > > `(("autoconf" ,autoconf) > > > > > > ("automake" ,automake) > > > > > > - ("uglify-js" ,uglify-js) > > > > > > > > > - ("node-uglify-js" ,node-uglify-js) > > > ("pkg-config" ,pkg-config))) > > > (inputs > > > `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) > > > > > > > > > > > > diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm > > > > > > index 28a6781c06..add6b9f080 100644 > > > > > > --- a/guix/build-system/minify.scm > > > > > > +++ b/guix/build-system/minify.scm > > > > > > @@ -44,8 +44,8 @@ > > > > > > (define (default-uglify-js) > > > > > > "Return the default package to minify JavaScript source files." > > > > > > ;; Lazily resolve the binding to avoid a circular dependency. > > > > > > - (let ((mod (resolve-interface '(gnu packages lisp-xyz)))) > > > > > > - (module-ref mod 'uglify-js))) > > > > > > - (let ((mod (resolve-interface '(gnu packages node-xyz)))) > > > > > > - (module-ref mod 'node-uglify-js))) > > > > > > > > > (define* (lower name > > > > > > #:key source inputs native-inputs outputs system > > > > > > diff --git a/guix/build/minify-build-system.scm b/guix/build/minify-build-system.scm > > > > > > index 92158a033f..c5a876726f 100644 > > > > > > --- a/guix/build/minify-build-system.scm > > > > > > +++ b/guix/build/minify-build-system.scm > > > > > > @@ -39,7 +39,7 @@ > > > > > > (format #t "minifying ~a\n" file) > > > > > > (let* ((base (basename file ".js")) > > > > > > (installed (or target (string-append directory base ".min.js"))) > > > > > > - (minified (open-pipe* OPEN_READ "uglify-js" file))) > > > > > > > > > - (minified (open-pipe* OPEN_READ "uglifyjs" file))) > > > > > > > > > (call-with-output-file installed > > > > > > (cut dump-port minified <>)) > > > > > > #t)) > > > > > > -- > > > > > > 2.32.0 > > > > > > > -- > > > > Efraim Flashner efraim@flashner.co.il אפרים פלשנר > > > > GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > > > > Confidentiality cannot be guaranteed on emails sent or received unencrypted From 27fcf3b50fcef94d66f18917aa3786e6c8ce6096 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 12 Jul 2021 22:50:44 -0500 Subject: [PATCH 4/4] build: Use updated Uglifyjs for minify-build-system. * guix/build-system/minify.scm (default-uglify-js): Update uglify-js package used. * guix/build/minify-build-system.scm (minify): Use updated UglifyJs command name. --- guix/build-system/minify.scm | 4 ++-- guix/build/minify-build-system.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index 28a6781c06..9d53760685 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -44,8 +44,8 @@ (define (default-uglify-js) "Return the default package to minify JavaScript source files." ;; Lazily resolve the binding to avoid a circular dependency. - (let ((mod (resolve-interface '(gnu packages lisp-xyz)))) - (module-ref mod 'uglify-js))) + (let ((mod (resolve-interface '(gnu packages uglifyjs)))) + (module-ref mod 'uglifyjs))) (define* (lower name #:key source inputs native-inputs outputs system diff --git a/guix/build/minify-build-system.scm b/guix/build/minify-build-system.scm index 92158a033f..c5a876726f 100644 --- a/guix/build/minify-build-system.scm +++ b/guix/build/minify-build-system.scm @@ -39,7 +39,7 @@ (format #t "minifying ~a\n" file) (let* ((base (basename file ".js")) (installed (or target (string-append directory base ".min.js"))) - (minified (open-pipe* OPEN_READ "uglify-js" file))) + (minified (open-pipe* OPEN_READ "uglifyjs" file))) (call-with-output-file installed (cut dump-port minified <>)) #t)) -- 2.32.0