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