* [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm
@ 2024-10-16 12:02 Grigory Shepelev
2024-10-16 12:41 ` [bug#73839] Clarification Grigory Shepelev
` (4 more replies)
0 siblings, 5 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-16 12:02 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 16b1b8d873..7fb3141aaa 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -30226,6 +30226,43 @@ (define-public sbcl-trivial-raw-io
Lisp.")
(license license:bsd-2))))
+(define-public sbcl-posix-shm
+ (let ((commit "9443da23bcda0a2bd727aed675f92ee7d3c51802")
+ (revision "0.0.7")
+ (hash "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"))
+ (package
+ (name "sbcl-posix-shm")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/posix-shm")
+ (commit commit)))
+ (file-name (git-file-name "sbcl-posix-shm" version))
+ (sha256 (base32 hash))))
+ (build-system asdf-build-system/sbcl)
+ (arguments (list #:asd-systems ''("posix-shm" "posix-shm/ffi" "posix-shm/test")))
+ (inputs (list sbcl-cffi sbcl-alexandria sbcl-trivial-features
+ ;;↓ for tests
+ sbcl-osicat sbcl-parachute))
+ (home-page "https://git.sr.ht/~shunter/posix-shm")
+ (synopsis "Common Lisp bindings and wrapper for the POSIX shared memory API")
+ (description "This library provides two strata to access the POSIX shm API:
+@itemize
+@item The package @code{posix-shm/ffi}, a collection of slim bindings to the POSIX API
+@item The package @code{posix-shm}, a lispy wrapper around the FFI that integrates more closely to the features of Common Lisp, and provides a handful of utilities and macros
+@end itemize
+
+Features include:
+@itemize
+@item Open, close, create, resize, change ownership of, change permissions of, and memory map to shared memory objects.
+@item @code{open-shm} appears more like open from the standard library.
+@item @code{open-shm*}, for creating anonymous shm objects.
+@item @code{with-open-shm}, @code{with-mmap} and similar @code{with-} macros for safely accessing resources with dynamic extent.
+@end itemize")
+ (license license:bsd-3))))
+
(define-public cl-trivial-raw-io
(sbcl-package->cl-source-package sbcl-trivial-raw-io))
--
2.46.0
From fe238bc3f5ce2342e58e1b98ee829cf970102b94 Mon Sep 17 00:00:00 2001
From: Grigory Shepelev <shegeley@gmail.com>
Date: Fri, 11 Oct 2024 11:20:39 +0300
Subject: [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill)
---
gnu/packages/lisp-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 7fb3141aaa..933e4d48eb 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31864,6 +31864,50 @@ (define-public cl-xkbcommon
(define-public ecl-xkbcommon
(sbcl-package->ecl-package sbcl-xkbcommon))
+(define-public sbcl-xkb
+ (let ((commit "e69c0e85e59fd8271efa2e9659cfffa9b59d1ece")
+ (revision "0")
+ (hash "01k4hf316xr2h149vf7sh45rrdkfppqnzakzn91i7lw46dwl57wh"))
+ (package
+ (name "sbcl-xkb")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/malcolmstill/cl-xkb")
+ (commit commit)))
+ (file-name (git-file-name "cl-xkb" version))
+ (sha256 (base32 hash))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list pkg-config))
+ (arguments
+ (list
+ #:asd-systems ''("cl-xkb")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'add-xkbcommon
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cl-xkb.lisp"
+ (("/usr/lib64/libxkbcommon.so.0")
+ (search-input-file inputs "/lib/libxkbcommon.so"))))))))
+ (inputs (list libxkbcommon sbcl-cffi))
+ (home-page "https://github.com/malcolmstill/cl-xkb")
+ (synopsis "@code{cl-xkb} is a Common Lisp wrapper for @code{libxkbcommon}")
+ (description "cl-xkb started development to support @url{https://github.com/malcolmstill/ulubis, ulubis}.
+The library currently supports these xkb modules:
+@itemize
+@item Keysyms
+@item Library Context
+@item Include Paths
+@item Logging Handling
+@item Keymap Creation
+@item Keymap Components
+@item Keyboard State
+@item Compose and dead-keys support
+@end itemize")
+ (license license:bsd-3))))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
From 697fe999051f1a51c11170f4a8b44367e418213c Mon Sep 17 00:00:00 2001
From: Grigory Shepelev <shegeley@gmail.com>
Date: Fri, 11 Oct 2024 12:16:50 +0300
Subject: [PATCH 3/5] lisp-xyz: + sbcl-cl-pango
---
gnu/packages/lisp-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 933e4d48eb..c7274e1f43 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -4496,6 +4496,40 @@ (define-public cl-cairo2
(define-public ecl-cl-cairo2
(sbcl-package->ecl-package sbcl-cl-cairo2))
+(define-public sbcl-cl-pango
+ (let ((commit "ee4904d19ce22d00eb2fe17a4fe42e5df8ac8701")
+ (revision "1")
+ (hash "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i"))
+ (package
+ (name "sbcl-cl-pango")
+ (version revision)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BradWBeer/cl-pango")
+ (commit commit)))
+ (file-name (git-file-name "cl-pango" version))
+ (sha256 (base32 hash))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:asd-systems ''("cl-pango")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "library.lisp"
+ (("libpango-[0-9.]*\\.so" all)
+ (search-input-file inputs (string-append "/lib/" all)))
+ (("libpangocairo-[0-9.]*\\.so" all)
+ (search-input-file inputs (string-append "/lib/" all)))))))))
+ (inputs (list sbcl-cffi sbcl-cl-cairo2 sbcl-xmls pango cairo))
+ (home-page "https://github.com/BradWBeer/cl-pango")
+ (synopsis "Pango bindings for Common Lisp")
+ (description "Bindings to the pango text layout library")
+ (license license:expat))))
+
(define-public sbcl-cl-cffi-gtk
(let ((commit "1700fe672c65455c1fc33061ec92a3df84287ec7")
(revision "3"))
--
2.46.0
From f59728ef1d12e4eeebcab9fbb7ac10f6ca41f17a Mon Sep 17 00:00:00 2001
From: Grigory Shepelev <shegeley@gmail.com>
Date: Sat, 12 Oct 2024 19:22:57 +0300
Subject: [PATCH 4/5] lisp-xyz: + sbcl-input-event-codes
Change-Id: Ib063f55a32c570741a05957139452de2b1514558
---
gnu/packages/lisp-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index c7274e1f43..ee99e213c3 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31942,6 +31942,30 @@ (define-public sbcl-xkb
@end itemize")
(license license:bsd-3))))
+(define-public sbcl-input-event-codes
+ (let ((commit "9804fe1e8fcfaab51097ea30e1045b7cc5e0ef3e")
+ (revision "1")
+ (hash "1m96m9ia4frcn2xqaw4mfspjjzwl8gyj4k4rv0lq28va4s6mkgii"))
+ (package
+ (name "sbcl-input-event-codes")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/input-event-codes")
+ (commit commit)))
+ (file-name (git-file-name "sbcl-input-event-codes" version))
+ (sha256 (base32 hash))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list pkg-config))
+ (arguments (list #:asd-systems ''("input-event-codes" "input-event-codes/test")))
+ (inputs (list sbcl-trivial-features sbcl-parachute))
+ (home-page "https://git.sr.ht/~shunter/input-event-codes")
+ (synopsis "This little library is a port of all constants found in input-event-codes.h, an event code header file found on both Linux and FreeBSD")
+ (description "")
+ (license license:expat))))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
From 0446be519d70817768b8b1e229a82759ac36a510 Mon Sep 17 00:00:00 2001
From: Grigory Shepelev <shegeley@gmail.com>
Date: Fri, 11 Oct 2024 12:25:42 +0300
Subject: [PATCH 5/5] lisp-xyz: + wayflan
---
gnu/packages/lisp-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ee99e213c3..5ede6a4ace 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -10452,6 +10452,64 @@ (define-public cl-wayland
(define-public ecl-cl-wayland
(sbcl-package->ecl-package sbcl-cl-wayland))
+(define-public sbcl-wayflan
+ (let ((commit "3fbd2164e96aece3993929c7076593a2ee594f50")
+ (revision "1")
+ (hash "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"))
+ (package
+ (name "sbcl-wayflan")
+ (version (git-version "0.0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/wayflan")
+ (commit commit)))
+ (file-name (git-file-name "wayflan" version))
+ (sha256 (base32 hash))))
+ (build-system asdf-build-system/sbcl)
+ (arguments (list
+ #:tests? #f ;; tries to look for wayflan-client/test
+ #:asd-systems
+ ''("wayflan-client"
+ ;; "wayflan-client/examples" fails on wayland-keyboard-demo.lisp cos xkb not required verbosely, just used as "xkb:…"
+ "wayflan"
+ "wayflan/common"
+ "wayflan/test")))
+ (inputs
+ (list sbcl-cffi
+ sbcl-alexandria
+ sbcl-babel
+ sbcl-plump
+ sbcl-parachute
+ sbcl-cl-colors
+ sbcl-cl-cairo2
+ sbcl-closer-mop
+
+ sbcl-input-event-codes
+ sbcl-xkb
+ sbcl-cl-pango
+ sbcl-posix-shm
+
+ wayland))
+ (home-page "https://git.sr.ht/~shunter/wayflan")
+ (synopsis "Wayflan is a from-scratch Wayland communication library for Common Lisp. It is not a binding or a wrapper around libwayland, but a re-implementation of the Wayland protocol. This unties Lisp applications from per-proxy manual memory allocation, toplevel-only C callbacks, and enables a closer interface with lisp")
+ (description "Wayflan 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.
+
+Wayflan is an ongoing project. Things may change to make Wayflan the best client for Common Lisp projects, such as iterating on a better API. If you use Wayflan in any projects, let me know! I'd love to give a heads up and help transition projects to any breaking changes I make along the way.
+
+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-imp}l 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 sbcl-cl-webkit
(package
(name "sbcl-cl-webkit")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] Clarification
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
@ 2024-10-16 12:41 ` Grigory Shepelev
2024-10-18 8:31 ` [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Sharlatan Hellseher
` (3 subsequent siblings)
4 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-16 12:41 UTC (permalink / raw)
To: 73839
[-- Attachment #1: Type: text/plain, Size: 71 bytes --]
This patch series adds wayflan and all the missed dependencies for it.
[-- Attachment #2: Type: text/html, Size: 97 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
2024-10-16 12:41 ` [bug#73839] Clarification Grigory Shepelev
@ 2024-10-18 8:31 ` Sharlatan Hellseher
2024-10-22 8:51 ` Grigory Shepelev
` (2 subsequent siblings)
4 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-18 8:31 UTC (permalink / raw)
To: 73839
[-- Attachment #1: Type: text/plain, Size: 2827 bytes --]
Hi,
Than you for the patches.
I see all patches has no commit message, it would be reasonable to split
each package into individiual commit/patch. You may apply
etc/commiter.scm script which will add commit message and commit each
package individually.
I've not applied patches or built them yet, here are some suggestions on
package style in general.
--8<---------------cut here---------------start------------->8---
+(define-public sbcl-posix-shm
+ (let ((commit "9443da23bcda0a2bd727aed675f92ee7d3c51802")
+ (revision "0.0.7")
+ (hash "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"))
--8<---------------cut here---------------end--------------->8---
Please check other packages in lisp-xyz and maybe try to follow the same
style, e.g. "hash" field is extra here.
Check possibility of adding "sbcl-package->cl-source-package" and
"sbcl-package->ecl-package" variants of sbcl implementation of each
package.
--8<---------------cut here---------------start------------->8---
+ (inputs (list sbcl-cffi sbcl-alexandria sbcl-trivial-features
+ ;;↓ for tests
+ sbcl-osicat sbcl-parachute))
--8<---------------cut here---------------end--------------->8---
Any tests inputs goes to native-inputs
--8<---------------cut here---------------start------------->8---
+ (description "This library provides two strata to access the POSIX shm API:
+@itemize
--8<---------------cut here---------------end--------------->8---
Start sentence from a new line in description.
--8<---------------cut here---------------start------------->8---
+@item Open, close, create, resize, change ownership of, change permissions of, and memory map to shared memory objects.
--8<---------------cut here---------------end--------------->8---
Feature lists may be started from lower case and don't have to be
finalized with full stop (.) . Indent long lines with C-M-\ (Emacs).
--8<---------------cut here---------------start------------->8---
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cl-xkb.lisp"
+ (("/usr/lib64/libxkbcommon.so.0")
+ (search-input-file inputs "/lib/libxkbcommon.so"))))))))
--8<---------------cut here---------------end--------------->8---
As far as I noticed the new style to link to libraries is to use
"this-package-input" or "this-package-native-input" procedures.
--8<---------------cut here---------------start------------->8---
+ (description "cl-xkb started development to support @url{https://github.com/malcolmstill/ulubis, ulubis}.
--8<---------------cut here---------------end--------------->8---
Description starts from Capital letter.
Waiting v2 for the second round of review =)!
--
Oleg
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
2024-10-16 12:41 ` [bug#73839] Clarification Grigory Shepelev
2024-10-18 8:31 ` [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Sharlatan Hellseher
@ 2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill) Grigory Shepelev
` (3 more replies)
2024-10-22 9:02 ` [bug#73839] comment on the new patchest Grigory Shepelev
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
4 siblings, 4 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 8:51 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
Change-Id: I5ac9a3751977bf98d817acd8b98d1a2ad9d393f7
---
1. Add spaces between @itemize
2. Move hash from upper let to the package def (according to lisp-xyz style)
3. Applied guix style sbcl-posix-shm
gnu/packages/lisp-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 16b1b8d873..5dce85d341 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -30226,6 +30226,48 @@ (define-public sbcl-trivial-raw-io
Lisp.")
(license license:bsd-2))))
+(define-public sbcl-posix-shm
+ (let ((commit "9443da23bcda0a2bd727aed675f92ee7d3c51802")
+ (revision "0.0.7"))
+ (package
+ (name "sbcl-posix-shm")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/posix-shm")
+ (commit commit)))
+ (file-name (git-file-name "sbcl-posix-shm" version))
+ (sha256
+ (base32 "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:asd-systems ''("posix-shm" "posix-shm/ffi" "posix-shm/test")))
+ (inputs (list sbcl-cffi sbcl-alexandria sbcl-trivial-features))
+ (native-inputs (list sbcl-osicat sbcl-parachute))
+ (home-page "https://git.sr.ht/~shunter/posix-shm")
+ (synopsis
+ "Common Lisp bindings and wrapper for the POSIX shared memory API")
+ (description
+ "This library provides two strata to access the POSIX shm API:
+
+@itemize
+@item The package @code{posix-shm/ffi}, a collection of slim bindings to the POSIX API
+@item The package @code{posix-shm}, a lispy wrapper around the FFI that integrates more closely to the features of Common Lisp, and provides a handful of utilities and macros
+@end itemize
+
+Features include:
+
+@itemize
+@item open, close, create, resize, change ownership of, change permissions of, and memory map to shared memory objects
+@item @code{open-shm} appears more like @code{open} from the standard library
+@item @code{open-shm*}, for creating anonymous shm objects
+@item @code{with-open-shm}, @code{with-mmap} and similar @code{with-} macros for safely accessing resources with dynamic extent
+@end itemize")
+ (license license:bsd-3))))
+
(define-public cl-trivial-raw-io
(sbcl-package->cl-source-package sbcl-trivial-raw-io))
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill)
2024-10-22 8:51 ` Grigory Shepelev
@ 2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 3/5] lisp-xyz: + sbcl-cl-pango Grigory Shepelev
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 8:51 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
Change-Id: Iaced3e5e084cc320a076ffb81d10fd9dde6be4de
---
gnu/packages/lisp-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5dce85d341..3fda647272 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31869,6 +31869,54 @@ (define-public cl-xkbcommon
(define-public ecl-xkbcommon
(sbcl-package->ecl-package sbcl-xkbcommon))
+(define-public sbcl-xkb
+ (let ((commit "e69c0e85e59fd8271efa2e9659cfffa9b59d1ece")
+ (revision "0"))
+ (package
+ (name "sbcl-xkb")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/malcolmstill/cl-xkb")
+ (commit commit)))
+ (file-name (git-file-name "cl-xkb" version))
+ (sha256
+ (base32 "01k4hf316xr2h149vf7sh45rrdkfppqnzakzn91i7lw46dwl57wh"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list pkg-config))
+ (arguments
+ (list
+ #:asd-systems ''("cl-xkb")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'add-xkbcommon
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cl-xkb.lisp"
+ (("/usr/lib64/libxkbcommon.so.0")
+ (string-append #$(this-package-input "libxkbcommon")
+ "/lib/libxkbcommon.so"))))))))
+ (inputs (list libxkbcommon sbcl-cffi))
+ (home-page "https://github.com/malcolmstill/cl-xkb")
+ (synopsis
+ "@code{cl-xkb} is a Common Lisp wrapper for @code{libxkbcommon}")
+ (description
+ "@code{cl-xkb} started development to support @url{https://github.com/malcolmstill/ulubis, ulubis}
+
+The library currently supports these xkb modules:
+
+@itemize
+@item Keysyms
+@item Library Context
+@item Include Paths
+@item Logging Handling
+@item Keymap Creation
+@item Keymap Components
+@item Keyboard State
+@item Compose and dead-keys support
+@end itemize")
+ (license license:bsd-3))))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 3/5] lisp-xyz: + sbcl-cl-pango
2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill) Grigory Shepelev
@ 2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 4/5] lisp-xyz: + sbcl-input-event-codes Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 5/5] lisp-xyz: + sbcl-wayflan Grigory Shepelev
3 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 8:51 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
Change-Id: I3615ef64197e8bee5cbb733bc427a54607bae4b2
---
gnu/packages/lisp-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 3fda647272..39517c720c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -4496,6 +4496,41 @@ (define-public cl-cairo2
(define-public ecl-cl-cairo2
(sbcl-package->ecl-package sbcl-cl-cairo2))
+(define-public sbcl-cl-pango
+ (let ((commit "ee4904d19ce22d00eb2fe17a4fe42e5df8ac8701")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-pango")
+ (version revision)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BradWBeer/cl-pango")
+ (commit commit)))
+ (file-name (git-file-name "cl-pango" version))
+ (sha256
+ (base32 "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:asd-systems ''("cl-pango")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "library.lisp"
+ (("libpango-[0-9.]*\\.so" all)
+ (string-append #$(this-package-input "pango")
+ "/lib/libpango-1.0.so.0"))
+ (("libpangocairo-[0-9.]*\\.so" all)
+ (string-append #$(this-package-input "pango")
+ "/lib/libpangocairo-1.0.so.0"))))))))
+ (inputs (list sbcl-cffi sbcl-cl-cairo2 sbcl-xmls pango cairo))
+ (home-page "https://github.com/BradWBeer/cl-pango")
+ (synopsis "Pango bindings for Common Lisp")
+ (description "Bindings to the pango text layout library")
+ (license license:expat))))
+
(define-public sbcl-cl-cffi-gtk
(let ((commit "1700fe672c65455c1fc33061ec92a3df84287ec7")
(revision "3"))
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 4/5] lisp-xyz: + sbcl-input-event-codes
2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill) Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 3/5] lisp-xyz: + sbcl-cl-pango Grigory Shepelev
@ 2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 5/5] lisp-xyz: + sbcl-wayflan Grigory Shepelev
3 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 8:51 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
Change-Id: I47e65729f907e46d9deeb7dc0219ac9b1ba1a291
---
gnu/packages/lisp-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 39517c720c..aea0530802 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31952,6 +31952,34 @@ (define-public sbcl-xkb
@end itemize")
(license license:bsd-3))))
+(define-public sbcl-input-event-codes
+ (let ((commit "9804fe1e8fcfaab51097ea30e1045b7cc5e0ef3e")
+ (revision "1"))
+ (package
+ (name "sbcl-input-event-codes")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/input-event-codes")
+ (commit commit)))
+ (file-name (git-file-name "sbcl-input-event-codes" version))
+ (sha256
+ (base32 "1m96m9ia4frcn2xqaw4mfspjjzwl8gyj4k4rv0lq28va4s6mkgii"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list pkg-config sbcl-parachute))
+ (arguments
+ (list
+ #:asd-systems ''("input-event-codes" "input-event-codes/test")))
+ (inputs (list sbcl-trivial-features))
+ (home-page "https://git.sr.ht/~shunter/input-event-codes")
+ (synopsis
+ "This little library is a port of all constants found in input-event-codes.h, an event code header file found on both Linux and FreeBSD")
+ (description
+ "There is currently only support for Linux and FreeBSD. The library uses trivial-features to conditionally load the appropriate constant set.")
+ (license license:expat))))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH 5/5] lisp-xyz: + sbcl-wayflan
2024-10-22 8:51 ` Grigory Shepelev
` (2 preceding siblings ...)
2024-10-22 8:51 ` [bug#73839] [PATCH 4/5] lisp-xyz: + sbcl-input-event-codes Grigory Shepelev
@ 2024-10-22 8:51 ` Grigory Shepelev
3 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 8:51 UTC (permalink / raw)
To: 73839; +Cc: Grigory Shepelev
Change-Id: I65982ad6f5c034f611292d4f660b15e4e42f8da0
---
gnu/packages/lisp-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index aea0530802..73ceb84223 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -10453,6 +10453,61 @@ (define-public cl-wayland
(define-public ecl-cl-wayland
(sbcl-package->ecl-package sbcl-cl-wayland))
+(define-public sbcl-wayflan
+ (let ((commit "3fbd2164e96aece3993929c7076593a2ee594f50")
+ (revision "1"))
+ (package
+ (name "sbcl-wayflan")
+ (version (git-version "0.0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/wayflan")
+ (commit commit)))
+ (file-name (git-file-name "wayflan" version))
+ (sha256
+ (base32 "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:tests? #f ;tries to look for wayflan-client/test
+ #:asd-systems ''("wayflan-client"
+ ;; "wayflan-client/examples" fails on wayland-keyboard-demo.lisp because xkb used as :xkb, not required properly
+ "wayflan" "wayflan/common" "wayflan/test")))
+ (inputs (list sbcl-cffi
+ sbcl-alexandria
+ sbcl-babel
+ sbcl-plump
+ sbcl-cl-colors
+ sbcl-cl-cairo2
+ sbcl-closer-mop
+ sbcl-input-event-codes
+ sbcl-xkb
+ sbcl-cl-pango
+ sbcl-posix-shm
+ wayland))
+ (native-inputs (list sbcl-parachute))
+ (home-page "https://git.sr.ht/~shunter/wayflan")
+ (synopsis
+ "Wayflan is a from-scratch Wayland communication library for Common Lisp. It is not a binding or a wrapper around libwayland, but a re-implementation of the Wayland protocol. This unties Lisp applications from per-proxy manual memory allocation, toplevel-only C callbacks, and enables a closer interface with lisp")
+ (description
+ "Wayflan 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.
+
+Wayflan is an ongoing project. Things may change to make Wayflan the best client for Common Lisp projects, such as iterating on a better API. If you use Wayflan in any projects, let me know! I'd love to give a heads up and help transition projects to any breaking changes I make along the way.
+
+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 sbcl-cl-webkit
(package
(name "sbcl-cl-webkit")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] comment on the new patchest
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
` (2 preceding siblings ...)
2024-10-22 8:51 ` Grigory Shepelev
@ 2024-10-22 9:02 ` Grigory Shepelev
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
4 siblings, 0 replies; 16+ messages in thread
From: Grigory Shepelev @ 2024-10-22 9:02 UTC (permalink / raw)
To: 73839, sharlatanus
Execuse me. I wanted to add comment in every patch on what's changed,
but failed because I'm new with git+email workflow. Had to add this message.
Mostly the fixes are as you've mentioned
1. Move hash out of upper let
2. Move test inputs to native-inputs
3. Fix/add description where it's relevant
4. `search-inputs` -> `this-package-inputs/native-inputs` where possible
5. guix style all of them
Coundn't figure out cl transformations for cl-pango (sbcl-package->[cl/ecl]-source-package
sbcl-cl-pango) will fail with "error: sbcl-xmls: unbound
variable". Seems like there is no cl transformations for sbcl-xmls which
is an input.
This message and patches were sent to patchwise.org, not guix debuggs cos
access to the guix domain are unstable in my country. I hope it's not a problem.
--
Best regards,
Grigory Shepelev
^ permalink raw reply [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan.
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
` (3 preceding siblings ...)
2024-10-22 9:02 ` [bug#73839] comment on the new patchest Grigory Shepelev
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 1/5] gnu: Add cl-posix-shm Sharlatan Hellseher
` (5 more replies)
4 siblings, 6 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Guillaume Le Vaillant, Katherine Cox-Buday,
Munyoki Kilyungi, Sharlatan Hellseher, jgart
Hi,
I've restile and fix build for the series with attempt to make ECL and CL
variants.
It looks like this-package-inputs does not work well with Common Lisp
packages, sorry for confusion.
I might need someone else to check the series from lisp team.
v3 to v2 adjustments:
* sbcl-posix-shm
- Add cl-posix-shm and ecl-posix-shm
- Use version tag instead commit
- Adjust synopsis
- Style and indent description
* sbcl-xkb
- Rename to sbcl-cl-xkb, as the system is called cl-xkb, not just xkb
- Style and indent description
* sbcl-cl-pango
- Add cl-pango and ecl-cl-pango
- Style and indent description
* sbcl-input-event-codes
- Add cl-input-event-codes and ecl-input-event-codes
- Use version tag instead commit
- Adjust synopsis
- Style and indent description
* sbcl-wayflan
- Add cl-wayflan and ecl-wayflan
- Use version tag instead commit
- Adjust synopsis
- Style and indent description
Grigory Shepelev (5):
gnu: Add cl-posix-shm.
gnu: Add cl-xkb.
gnu: Add cl-pango.
gnu: Add cl-input-event-codes.
gnu: Add cl-wayflan.
gnu/packages/lisp-xyz.scm | 305 ++++++++++++++++++++++++++++++++++++++
1 file changed, 305 insertions(+)
base-commit: d29090727b328f96e79285379e4fac9a7dee316e
--
2.46.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 1/5] gnu: Add cl-posix-shm.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 2/5] gnu: Add cl-xkb Sharlatan Hellseher
` (4 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Grigory Shepelev, Guillaume Le Vaillant,
Katherine Cox-Buday, Munyoki Kilyungi, Sharlatan Hellseher, jgart
From: Grigory Shepelev <shegeley@gmail.com>
* gnu/packages/lisp-xyz.scm (cl-posix-shm, ecl-posix-shm, sbcl-shm): New
variables.
Change-Id: I5ac9a3751977bf98d817acd8b98d1a2ad9d393f7
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/lisp-xyz.scm | 75 +++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index d93c67ca5d..429541e377 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -30217,6 +30217,81 @@ (define-public cl-trivial-raw-io
(define-public ecl-trivial-raw-io
(sbcl-package->ecl-package sbcl-trivial-raw-io))
+(define-public sbcl-posix-shm
+ (package
+ (name "sbcl-posix-shm")
+ (version "0.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/posix-shm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "posix-shm" version))
+ (sha256
+ (base32 "1lk8sach64zgj81988q3z8i153gi3dkda3fkb11cxgsmymawddk9"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:asd-systems ''("posix-shm" "posix-shm/ffi" "posix-shm/test")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ffi/ffi.lisp"
+ (("libc.so.6")
+ (search-input-file inputs "/lib/libc.so.6"))
+ (("librt.so.1")
+ (search-input-file inputs "/lib/librt.so.1"))))))))
+ (native-inputs
+ (list sbcl-osicat
+ sbcl-parachute))
+ (inputs
+ (list sbcl-cffi
+ sbcl-alexandria
+ sbcl-trivial-features))
+ (home-page "https://git.sr.ht/~shunter/posix-shm")
+ (synopsis "Common Lisp bindings and wrapper for the POSIX shared memory API")
+ (description
+ "This library provides two strata to access the POSIX shm API:
+
+@itemize
+@item the package @code{posix-shm/ffi}, a collection of slim bindings to the
+POSIX API
+
+@item the package @code{posix-shm}, a lispy wrapper around the FFI that
+integrates more closely to the features of Common Lisp, and provides a handful
+of utilities and macros
+@end itemize
+
+Features include:
+
+@itemize
+@item open, close, create, resize, change ownership of, change permissions of,
+and memory map to shared memory objects
+@item @code{open-shm} appears more like @code{open} from the standard library
+@item @code{open-shm*}, for creating anonymous shm objects
+@item @code{with-open-shm}, @code{with-mmap} and similar @code{with-} macros
+for safely accessing resources with dynamic extent
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public cl-posix-shm
+ (sbcl-package->cl-source-package sbcl-posix-shm))
+
+(define-public ecl-posix-shm
+ (let ((pkg (sbcl-package->ecl-package sbcl-posix-shm)))
+ (package
+ (inherit pkg)
+ ;; XXX: An error occurred during initialization: Attempt to redefine
+ ;; function FTRUNCATE in locked package..
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'build)
+ (delete 'check))))))))
+
(define-public sbcl-trivial-rfc-1123
(let ((commit "9ef59c3fdec08b0e3c9ed02d39533887b6d1b8e3")
(revision "0"))
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 2/5] gnu: Add cl-xkb.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 1/5] gnu: Add cl-posix-shm Sharlatan Hellseher
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 3/5] gnu: Add cl-pango Sharlatan Hellseher
` (3 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Grigory Shepelev, Guillaume Le Vaillant,
Katherine Cox-Buday, Munyoki Kilyungi, Sharlatan Hellseher, jgart
From: Grigory Shepelev <shegeley@gmail.com>
* gnu/packages/lisp-xyz.scm (cl-xkb, ecl-cl-xkb, sbcl-cl-xkb): New variables.
Change-Id: Iaced3e5e084cc320a076ffb81d10fd9dde6be4de
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/lisp-xyz.scm | 56 +++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 429541e377..e6dfefc79b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -31887,6 +31887,62 @@ (define-public cl-xkbcommon
(define-public ecl-xkbcommon
(sbcl-package->ecl-package sbcl-xkbcommon))
+(define-public sbcl-cl-xkb
+ (let ((commit "e69c0e85e59fd8271efa2e9659cfffa9b59d1ece")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-xkb")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/malcolmstill/cl-xkb")
+ (commit commit)))
+ (file-name (git-file-name "cl-xkb" version))
+ (sha256
+ (base32 "01k4hf316xr2h149vf7sh45rrdkfppqnzakzn91i7lw46dwl57wh"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'add-xkbcommon
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cl-xkb.lisp"
+ (("/usr/lib64/libxkbcommon.so.0")
+ (search-input-file inputs "/lib/libxkbcommon.so"))))))))
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list libxkbcommon
+ sbcl-cffi))
+ (home-page "https://github.com/malcolmstill/cl-xkb")
+ (synopsis "Common Lisp wrapper for @code{libxkbcommon}")
+ (description
+ "@code{cl-xkb} started development to support
+@url{https://github.com/malcolmstill/ulubis, ulubis}
+
+The library currently supports these xkb modules:
+
+@itemize
+@item Keysyms
+@item Library Context
+@item Include Paths
+@item Logging Handling
+@item Keymap Creation
+@item Keymap Components
+@item Keyboard State
+@item Compose and dead-keys support
+@end itemize")
+ (license license:bsd-3))))
+
+(define-public cl-xkb
+ (sbcl-package->cl-source-package sbcl-cl-xkb))
+
+(define-public ecl-cl-xkb
+ (sbcl-package->ecl-package sbcl-cl-xkb))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 3/5] gnu: Add cl-pango.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 1/5] gnu: Add cl-posix-shm Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 2/5] gnu: Add cl-xkb Sharlatan Hellseher
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 4/5] gnu: Add cl-input-event-codes Sharlatan Hellseher
` (2 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Grigory Shepelev, Guillaume Le Vaillant,
Katherine Cox-Buday, Munyoki Kilyungi, Sharlatan Hellseher, jgart
From: Grigory Shepelev <shegeley@gmail.com>
* gnu/packages/lisp-xyz.scm (cl-pango, ecl-cl-pango, sbcl-cl-pango): New
variables.
Change-Id: I3615ef64197e8bee5cbb733bc427a54607bae4b2
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/lisp-xyz.scm | 59 +++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e6dfefc79b..ab15e3b901 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -4496,6 +4496,65 @@ (define-public cl-cairo2
(define-public ecl-cl-cairo2
(sbcl-package->ecl-package sbcl-cl-cairo2))
+(define-public sbcl-cl-pango
+ (let ((commit "ee4904d19ce22d00eb2fe17a4fe42e5df8ac8701")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-pango")
+ (version (git-version "0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BradWBeer/cl-pango")
+ (commit commit)))
+ (file-name (git-file-name "cl-pango" version))
+ (sha256
+ (base32 "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "library.lisp"
+ (("libpango-1.0.so")
+ (search-input-file inputs "/lib/libpango-1.0.so"))
+ (("libpangocairo-1.0.so")
+ (search-input-file inputs "/lib/libpangocairo-1.0.so.0"))))))))
+ (inputs
+ (list pango
+ sbcl-cffi
+ sbcl-cl-cairo2
+ sbcl-xmls))
+ (home-page "https://github.com/BradWBeer/cl-pango")
+ (synopsis "Pango bindings for Common Lisp")
+ (description "Bindings to the pango text layout library")
+ (license license:expat))))
+
+(define-public cl-pango
+ (sbcl-package->cl-source-package sbcl-cl-pango))
+
+(define-public ecl-cl-pango
+ (let ((pkg (sbcl-package->ecl-package sbcl-cl-pango)))
+ (package
+ (inherit pkg)
+ (inputs
+ (list pango
+ sbcl-alexandria
+ sbcl-cffi
+ sbcl-cl-cairo2
+ sbcl-xmls))
+ ;; XXX: It tries to recompile sbcl-cl-colours for some reasone and
+ ;; failes: C library error: Permission denied.
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'build)
+ (delete 'check))))))))
+
(define-public sbcl-cl-cffi-gtk
(let ((commit "1700fe672c65455c1fc33061ec92a3df84287ec7")
(revision "3"))
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 4/5] gnu: Add cl-input-event-codes.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
` (2 preceding siblings ...)
2024-10-28 21:28 ` [bug#73839] [PATCH v3 3/5] gnu: Add cl-pango Sharlatan Hellseher
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 5/5] gnu: Add cl-wayflan Sharlatan Hellseher
2024-10-29 14:35 ` bug#73839: [PATCH v3 0/5] " Guillaume Le Vaillant
5 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Grigory Shepelev, Guillaume Le Vaillant,
Katherine Cox-Buday, Munyoki Kilyungi, Sharlatan Hellseher, jgart
From: Grigory Shepelev <shegeley@gmail.com>
* gnu/packages/lisp-xyz.scm (cl-input-event-codes,
ecl-input-event-codes, sbcl-input-event-codes): New variables.
Change-Id: I47e65729f907e46d9deeb7dc0219ac9b1ba1a291
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/lisp-xyz.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ab15e3b901..bae84e8345 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -32002,6 +32002,38 @@ (define-public cl-xkb
(define-public ecl-cl-xkb
(sbcl-package->ecl-package sbcl-cl-xkb))
+(define-public sbcl-input-event-codes
+ (package
+ (name "sbcl-input-event-codes")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~shunter/input-event-codes")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "input-event-codes" version))
+ (sha256
+ (base32 "0bygspj84jzyiy06z4q64z1nzsmvvrviqxw73wzqaq2wk2p56vs6"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list pkg-config
+ sbcl-parachute))
+ (inputs
+ (list sbcl-trivial-features))
+ (home-page "https://git.sr.ht/~shunter/input-event-codes")
+ (synopsis "Common Lisp port of all constants from event code header file")
+ (description
+ "There is currently only support for Linux and FreeBSD. The library
+uses trivial-features to conditionally load the appropriate constant set.")
+ (license license:expat)))
+
+(define-public cl-input-event-codes
+ (sbcl-package->cl-source-package sbcl-input-event-codes))
+
+(define-public ecl-input-event-codes
+ (sbcl-package->ecl-package sbcl-input-event-codes))
+
(define-public sbcl-xml-emitter
(package
(name "sbcl-xml-emitter")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [bug#73839] [PATCH v3 5/5] gnu: Add cl-wayflan.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
` (3 preceding siblings ...)
2024-10-28 21:28 ` [bug#73839] [PATCH v3 4/5] gnu: Add cl-input-event-codes Sharlatan Hellseher
@ 2024-10-28 21:28 ` Sharlatan Hellseher
2024-10-29 14:35 ` bug#73839: [PATCH v3 0/5] " Guillaume Le Vaillant
5 siblings, 0 replies; 16+ messages in thread
From: Sharlatan Hellseher @ 2024-10-28 21:28 UTC (permalink / raw)
To: 73839
Cc: Sharlatan Hellseher, Grigory Shepelev, Guillaume Le Vaillant,
Katherine Cox-Buday, Munyoki Kilyungi, Sharlatan Hellseher, jgart
From: Grigory Shepelev <shegeley@gmail.com>
* gnu/packages/lisp-xyz.scm (cl-wayflan, ecl-wayflan, sbcl-wayflan): New
variables.
Change-Id: I65982ad6f5c034f611292d4f660b15e4e42f8da0
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
gnu/packages/lisp-xyz.scm | 83 +++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index bae84e8345..f2d4d640df 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -10477,6 +10477,89 @@ (define-public cl-wayland
(define-public ecl-cl-wayland
(sbcl-package->ecl-package sbcl-cl-wayland))
+(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 "wayflan" version))
+ (sha256
+ (base32 "0y6hzskp1vgaigzj5b3i695sc6dn5mk7nlxs21nh5ybzmf4chhyy"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:tests? #f ;tries to look for wayflan-client/test
+ #:asd-systems ''("wayflan-client"
+ ;; "wayflan-client/examples" fails on
+ ;; wayland-keyboard-demo.lisp because xkb used as
+ ;; :xkb, not required properly
+ "wayflan"
+ "wayflan/common")))
+ (native-inputs
+ (list sbcl-parachute))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-babel
+ sbcl-cffi
+ sbcl-cl-cairo2
+ sbcl-cl-colors
+ sbcl-cl-pango
+ sbcl-cl-xkb
+ sbcl-closer-mop
+ sbcl-input-event-codes
+ sbcl-plump
+ sbcl-posix-shm
+ wayland))
+ (home-page "https://git.sr.ht/~shunter/wayflan")
+ (synopsis "Wayland communication library for Common Lisp")
+ (description
+ "Wayflan 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.
+
+Wayflan is an ongoing project. Things may change to make Wayflan the best
+client for Common Lisp projects, such as iterating on a better API. If you use
+Wayflan in any projects, let me know! I'd love to give a heads up and help
+transition projects to any breaking changes I make along the way.
+
+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))
+
+(define-public ecl-wayflan
+ (let ((pkg (sbcl-package->ecl-package sbcl-wayflan)))
+ (package
+ (inherit pkg)
+ (outputs '("out"))
+ ;; 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">.
+ (arguments
+ (substitute-keyword-arguments (package-arguments pkg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'build)
+ (delete 'check))))))))
+
(define-public sbcl-cl-webkit
(package
(name "sbcl-cl-webkit")
--
2.46.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* bug#73839: [PATCH v3 0/5] gnu: Add cl-wayflan.
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
` (4 preceding siblings ...)
2024-10-28 21:28 ` [bug#73839] [PATCH v3 5/5] gnu: Add cl-wayflan Sharlatan Hellseher
@ 2024-10-29 14:35 ` Guillaume Le Vaillant
5 siblings, 0 replies; 16+ messages in thread
From: Guillaume Le Vaillant @ 2024-10-29 14:35 UTC (permalink / raw)
To: Sharlatan Hellseher; +Cc: 73839-done, Grigory Shepelev
[-- Attachment #1: Type: text/plain, Size: 342 bytes --]
Patches applied as 7a961ba75839c837558364b0a87bc5faf97d6ad5 and
following with a few modifications:
- packages moved in the right place in the file (sbcl-* packages sorted
alphabetically).
- ecl-* packages that don't build commented out
- some simplifications in some package definitions, some improved
descriptions, etc...
Thanks.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-10-29 14:36 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-16 12:02 [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Grigory Shepelev
2024-10-16 12:41 ` [bug#73839] Clarification Grigory Shepelev
2024-10-18 8:31 ` [bug#73839] [PATCH 1/5] lisp-xyz: + sbcl-posix-shm Sharlatan Hellseher
2024-10-22 8:51 ` Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill) Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 3/5] lisp-xyz: + sbcl-cl-pango Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 4/5] lisp-xyz: + sbcl-input-event-codes Grigory Shepelev
2024-10-22 8:51 ` [bug#73839] [PATCH 5/5] lisp-xyz: + sbcl-wayflan Grigory Shepelev
2024-10-22 9:02 ` [bug#73839] comment on the new patchest Grigory Shepelev
2024-10-28 21:28 ` [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 1/5] gnu: Add cl-posix-shm Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 2/5] gnu: Add cl-xkb Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 3/5] gnu: Add cl-pango Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 4/5] gnu: Add cl-input-event-codes Sharlatan Hellseher
2024-10-28 21:28 ` [bug#73839] [PATCH v3 5/5] gnu: Add cl-wayflan Sharlatan Hellseher
2024-10-29 14:35 ` bug#73839: [PATCH v3 0/5] " Guillaume Le Vaillant
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).