unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [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
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ 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] 9+ 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
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ 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] 9+ 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
  2024-10-22  9:02 ` [bug#73839] comment on the new patchest Grigory Shepelev
  3 siblings, 0 replies; 9+ 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] 9+ 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
  3 siblings, 4 replies; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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
  3 siblings, 0 replies; 9+ 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] 9+ messages in thread

end of thread, other threads:[~2024-10-22  9:03 UTC | newest]

Thread overview: 9+ 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

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).