From e3cfef22c4a18cacf33356a70788503fd689b96d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 27 Mar 2018 20:14:05 -0400 Subject: gnu: Use invoke and return #t from all builders. * gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/avr.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/certs.scm, gnu/packages/check.scm, gnu/packages/code.scm, gnu/packages/commencement.scm, gnu/packages/dictionaries.scm, gnu/packages/docbook.scm, gnu/packages/emacs.scm, gnu/packages/embedded.scm, gnu/packages/fonts.scm, gnu/packages/games.scm, gnu/packages/gnome.scm, gnu/packages/gnu-doc.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/javascript.scm, gnu/packages/libreoffice.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/pkg-config.scm, gnu/packages/qt.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/sdl.scm, gnu/packages/statistics.scm, gnu/packages/syncthing.scm, gnu/packages/tex.scm, gnu/packages/web.scm, gnu/packages/wine.scm, gnu/packages/xfce.scm: In the builders of packages using 'trivial-build-system', use invoke where appropriate, raise exceptions on errors, and otherwise return #t. --- gnu/packages/javascript.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'gnu/packages/javascript.scm') diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index b52edb2254..6288c443ad 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -60,10 +60,10 @@ %build-inputs)) (let ((install-directory (string-append %output "/share/fonts/mathjax"))) (mkdir-p install-directory) - (zero? (system* "tar" "-C" install-directory "-xvf" - (assoc-ref %build-inputs "source") - ,(string-append "MathJax-" version "/fonts") - "--strip" "2")))))) + (invoke "tar" "-C" install-directory "-xvf" + (assoc-ref %build-inputs "source") + ,(string-append "MathJax-" version "/fonts") + "--strip" "2"))))) (native-inputs `(("gzip" ,gzip) ("tar" ,tar))) @@ -94,10 +94,10 @@ (list (assoc-ref %build-inputs "glibc-utf8-locales"))) (setenv "LANG" "en_US.UTF-8") (let ((install-directory (string-append %output "/share/javascript/mathjax"))) - (system* "tar" "xvf" (assoc-ref %build-inputs "source") - ,(string-append "MathJax-" (package-version font-mathjax) - "/unpacked") - "--strip" "2") + (invoke "tar" "xvf" (assoc-ref %build-inputs "source") + ,(string-append "MathJax-" (package-version font-mathjax) + "/unpacked") + "--strip" "2") (mkdir-p install-directory) (symlink (string-append (assoc-ref %build-inputs "font-mathjax") "/share/fonts/mathjax") @@ -118,7 +118,9 @@ (dump-port minified port))))) (else (install-file file (dirname installed)))))) - (find-files ".")))))) + (find-files ".")) + + #t)))) (native-inputs `(("font-mathjax" ,font-mathjax) ("glibc-utf8-locales" ,glibc-utf8-locales) @@ -159,9 +161,9 @@ be able to view it naturally and easily."))) %build-inputs)) (let ((install-directory (string-append %output "/share/javascript/respond/"))) - (system* "tar" "xvf" - (assoc-ref %build-inputs "source") - "--strip" "1") + (invoke "tar" "xvf" + (assoc-ref %build-inputs "source") + "--strip" "1") (mkdir-p install-directory) (let* ((file "src/respond.js") (installed (string-append install-directory "respond.min.js"))) -- cgit v1.3 From 11b43f996e08fa4789fb245bfd516071cbbf37b2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 9 May 2018 23:14:58 +0200 Subject: gnu: Add js-filesaver. * gnu/packages/javascript.scm (js-filesaver): New variable. --- gnu/packages/javascript.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu/packages/javascript.scm') diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index a54d4ecabd..e2742faa11 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2018 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -368,6 +369,44 @@ to ES5 without causing run-time errors in older engines. In many cases, this means that these shams cause many ES5 methods to silently fail.") (license license:expat))) +(define-public js-filesaver + (package + (name "js-filesaver") + (version "1.3.8") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/eligrey/FileSaver.js/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "1rkhfqs5plaj628kzj7qgm5qahy4v7ihygifidqr6g6265mil97h")))) + (build-system minify-build-system) + (arguments + `(#: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 + ;; the minified version of the library some projects are using, + ;; e.g., + ;; + (lambda _ + (substitute* "src/FileSaver.js" + (("export ") "")) + #t))))) + (home-page + "https://eligrey.com/blog/saving-generated-files-on-the-client-side/") + (synopsis "HTML5 saveAs() FileSaver implementation") + (description "@file{FileSaver.js} implements the @code{saveAs()} +FileSaver interface in browsers that do not natively support it. + +@file{FileSaver.js} is the solution to saving files on the +client-side, and is perfect for webapps that need to generate files, +or for saving sensitive information that shouldn't be sent to an +external server.") + (license license:expat))) + (define-public mujs (package (name "mujs") -- cgit v1.3