1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-14 11:00:36 +02:00

gnu: Really move lisp libraries to lisp-xyz, uglify-js to javascript and stumpwm to wm.

* gnu/local.mk: Include lisp-xyz.scm.
* gnu/packages/lisp-xyz.scm: New file.
* gnu/packages/lisp.scm: Move all lisp libraries to lisp-xyz.scm, uglify-js to
  javascript.scm and stumpwm to wm.scm.
* gnu/packages/javascript.scm: Add uglify-js.
* gnu/packages/wm.scm: Add stumpwm.
* gnu/packages/bioinformatics.scm: Find uglify-js in javascript.scm.
* gnu/packages/machine-learning.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* gnu/packages/web.scm: Find uglify-js in javascript.scm.
* gnu/packages/web-browsers.scm: Depend on lisp-xyz.scm instead of lisp.scm.
* guix/build-system/minify.scm (default-uglify-js): Find uglify-js in
  javascript module instead of lisp.
This commit is contained in:
Pierre Neidhardt 2019-11-28 21:37:28 +01:00
parent ba362ec867
commit 88f06fd015
No known key found for this signature in database
GPG key ID: 9BDCF497A4BBCC7F
11 changed files with 7387 additions and 7323 deletions

View file

@ -26,6 +26,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages lisp)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages readline)
#:use-module (guix packages)
#:use-module (guix download)
@ -452,3 +453,50 @@ to use, and is very similar to Lua. There is no need to interact with byzantine
C++ template mechanisms, or worry about marking and unmarking garbage collection
roots, or wrestle with obscure build systems.")
(license license:isc)))
(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)
(push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
(assoc-ref %build-inputs "sbcl")
(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")))