Artyom Bologov wrote 2 years ago
(address . guix-patches@gnu.org)
Hello Guix,
This add LASS, a Common Lisp library for CSS generation.
From 15f475e66aecb429e9113fb410d2f800cf6225ba Mon Sep 17 00:00:00 2001
From: Artyom Bologov <mail@aartaka.me>
Date: Wed, 9 Nov 2022 17:09:14 +0400
Subject: [PATCH] gnu: Add cl-lass.
* gnu/packages/lisp-xyz.scm (sbcl-lass, cl-lass, ecl-lass): New variables.
---
gnu/packages/lisp-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
Toggle diff (56 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index cc19efec25..cd012e21bb 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -8583,6 +8583,49 @@ (define-public cl-array-utils
(define-public ecl-array-utils
(sbcl-package->ecl-package sbcl-array-utils))
+(define-public sbcl-lass
+ (let ((commit "a7a4452f6a670b8fb01a73d3007030d16bd1ec2c")
+ (revision "0"))
+ (package
+ (name "sbcl-lass")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Shinmera/LASS")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06wds1qzj8s862pmmza1427n7gdpplqplxqnxyqkrr0hgxdl4xbf"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-trivial-indent sbcl-trivial-mimes cl-base64))
+ (synopsis "LASS (Lisp Augmented Style Sheets) compiles Lisp to CSS.")
+ (description
+ "With lispy syntax, shortcuts, and improvements, LASS aims to help you
+out in writing CSS quick and easy. LASS was largely inspired by SASS. LASS
+supports two modes, one being directly in your lisp code, the other in pure
+LASS files.
+
+LASS works on the following simple principles: A list is a block. The first
+argument in the list is a selector. The body of the list makes up the
+properties and sub-blocks. A property is started with a keyword that is used
+as the property name. Following is a bunch of property arguments until a new
+keyword, list, or the end is reached. A list inside a block is, again, a block
+with the twist that the parent block's selector is prepended to the
+sub-block's selector.")
+ (home-page "https://shinmera.github.io/LASS/")
+ (license license:zlib))))
+
+(define-public cl-lass
+ (sbcl-package->cl-source-package sbcl-lass))
+
+(define-public ecl-lass
+ (sbcl-package->ecl-package sbcl-lass))
+
(define-public sbcl-plump
(let ((commit "3584275f0be9d06c0c51b5c08f89005deafc4ada")
(revision "2"))
--
2.37.1
Thanks,
--
Artyom Bologov.