Added binary generation tools.

This commit is contained in:
Shinmera 2014-09-05 13:15:58 +02:00
parent 5475166e36
commit e00b7c8e6b
3 changed files with 60 additions and 0 deletions

21
binary-lass.asd Normal file
View File

@ -0,0 +1,21 @@
#|
This file is a part of LASS
(c) 2014 TymoonNET/NexT http://tymoon.eu (shinmera@tymoon.eu)
Author: Nicolas Hafner <shinmera@tymoon.eu>
|#
(defpackage #:org.tymoonnext.lass.binary.asdf
(:use #:cl #:asdf))
(in-package #:org.tymoonnext.lass.binary.asdf)
(defsystem binary-lass
:name "LASS Binary"
:version "0.1.1"
:license "Artistic"
:author "Nicolas Hafner <shinmera@tymoon.eu>"
:maintainer "Nicolas Hafner <shinmera@tymoon.eu>"
:description "System to create a binary executable for LASS."
:homepage "https://github.com/Shinmera/LASS"
:serial T
:components ((:file "binary"))
:depends-on (:lass))

29
binary.lisp Normal file
View File

@ -0,0 +1,29 @@
#|
This file is a part of LASS
(c) 2014 TymoonNET/NexT http://tymoon.eu (shinmera@tymoon.eu)
Author: Nicolas Hafner <shinmera@tymoon.eu>
|#
(defpackage #:binary-lass
(:nicknames #:org.tymoonnext.lass.bianry)
(:use #:cl)
(:export
#:main
#:cmd-wrapper))
(in-package #:binary-lass)
(defun main (&optional in out (pretty "false"))
(if in
(let* ((in (uiop:parse-native-namestring in))
(out (or (when out (uiop:parse-native-namestring out))
(merge-pathnames (make-pathname :type "css") in)))
(pretty (or (string-equal pretty "true")
(string-equal pretty "T"))))
(lass:generate in :out out :pretty pretty)
(uiop:native-namestring out))
(format T "Usage: lass LASS-FILE [ OUTPUT-CSS-FILE [ PRETTY-PRINTING ] ] ~%~%LASS v~a ~a~%"
(asdf:component-version (asdf:find-system :LASS))
(asdf:system-homepage (asdf:find-system :LASS)))))
(defun cmd-wrapper (args)
(apply #'main (cddr args)))

10
generate-binary.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
readonly BUILDAPP=/usr/bin/buildapp
readonly SOURCE_TREE=~/quicklisp/local-projects/
$BUILDAPP --output lass \
--entry "BINARY-LASS:CMD-WRAPPER" \
--load-system "binary-lass" \
--asdf-tree $SOURCE_TREE \
--compress-core