aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorGrigory Shepelev <shegeley@gmail.com>2024-10-28 21:28:59 +0000
committerGuillaume Le Vaillant <glv@posteo.net>2024-10-29 15:22:08 +0100
commit653121e1abe7e5400d39b326522ea327d90c9e58 (patch)
tree5b378b1853a4994f61d72c780c2d094f91a53252 /gnu
parent958f9175bde167aa809791501812248d0cc87b92 (diff)
downloadguix-653121e1abe7e5400d39b326522ea327d90c9e58.tar.gz
guix-653121e1abe7e5400d39b326522ea327d90c9e58.zip
gnu: Add cl-wayflan.
* gnu/packages/lisp-xyz.scm (cl-wayflan, sbcl-wayflan): New variables. Change-Id: I65982ad6f5c034f611292d4f660b15e4e42f8da0 Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com> Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp-xyz.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 90dcbee8d3..bacd1b54b7 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31720,6 +31720,59 @@ has a small codebase that's easy to understand and use.")
(define-public ecl-vom
(sbcl-package->ecl-package sbcl-vom))
+(define-public sbcl-wayflan
+ (package
+ (name "sbcl-wayflan")
+ (version "0.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/wayflan")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-wayflan" version))
+ (sha256
+ (base32 "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-parachute))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-babel
+ sbcl-cffi
+ sbcl-closer-mop
+ sbcl-plump))
+ (home-page "https://git.sr.ht/~shunter/wayflan")
+ (synopsis "Wayland communication library for Common Lisp")
+ (description
+ "Wayflan is a from-scratch Wayland communication library for Common Lisp.
+It makes a good-faith effort to mimic @code{libwayland} behavior not defined
+in the Wayland spec, to keep compatibility between the two libraries.
+
+Wayflan is not a compositor nor a GUI toolkit. Its purpose is to parse Wayland
+protocol XML documents and exchange Wayland messages between other processes.
+
+Features:
+@itemize
+@item Client support
+@item All implementation done in Common Lisp from the socket up
+@item Enum values are translated into keywords
+@item Wayland protocol introspection
+@item ASDF component @code{:wayflan-client-impl} generates code from
+XML. ASDF's extensible components make it possible to teach your program new
+protocols for Wayland without the need of a special build system.
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public cl-wayflan
+ (sbcl-package->cl-source-package sbcl-wayflan))
+
+;; XXX: Error detected: The function CMSG-ALIGN is undefined.An error
+;; occurred during initialization: COMPILE-FILE-ERROR while compiling
+;; #<cl-source-file "wayflan/common" "wire">.
+;; (define-public ecl-wayflan
+;; (sbcl-package->ecl-package sbcl-wayflan))
+
(define-public sbcl-websocket-driver
(let ((commit "17ba5535fb1c4fe43e7e8ac786e8b61a174fcba3")
(revision "1"))