[PATCH 1/5] lisp-xyz: + sbcl-posix-shm

  • Done
  • quality assurance status badge
Details
3 participants
  • Guillaume Le Vaillant
  • Sharlatan Hellseher
  • Grigory Shepelev
Owner
unassigned
Submitted by
Grigory Shepelev
Severity
normal
G
G
Grigory Shepelev wrote on 16 Oct 14:02 +0200
(address . guix-patches@gnu.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241016120244.12778-1-shegeley@gmail.com
Toggle diff (48 lines)
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(+)

Toggle diff (55 lines)
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(+)

Toggle diff (45 lines)
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(+)

Toggle diff (35 lines)
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(+)

Toggle diff (69 lines)
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
G
G
Grigory Shepelev wrote on 16 Oct 14:41 +0200
Clarification
(address . 73839@debbugs.gnu.org)
CAGJuR-4AWDiv5NcDwn6rGjcY6XYbOTr_=6pFbKVMNObxyo71TA@mail.gmail.com
This patch series adds wayflan and all the missed dependencies for it.
Attachment: file
S
S
Sharlatan Hellseher wrote on 18 Oct 10:31 +0200
[PATCH 1/5] lisp-xyz: + sbcl-posix-shm
(address . 73839@debbugs.gnu.org)(name . Grigory Shepelev)(address . 73839@debbugs.gnu.org)
87ed4dq0ay.fsf@gmail.com
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.

Toggle snippet (5 lines)
+(define-public sbcl-posix-shm
+ (let ((commit "9443da23bcda0a2bd727aed675f92ee7d3c51802")
+ (revision "0.0.7")
+ (hash "0ah7xh7dxvdk58slic60gx7k56idjw5x30q5ifg90hxfhd32qz6l"))
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.

Toggle snippet (4 lines)
+ (inputs (list sbcl-cffi sbcl-alexandria sbcl-trivial-features
+ ;;↓ for tests
+ sbcl-osicat sbcl-parachute))
Any tests inputs goes to native-inputs

Toggle snippet (3 lines)
+ (description "This library provides two strata to access the POSIX shm API:
+@itemize
Start sentence from a new line in description.

Toggle snippet (2 lines)
+@item Open, close, create, resize, change ownership of, change permissions of, and memory map to shared memory objects.
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).

Toggle snippet (5 lines)
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cl-xkb.lisp"
+ (("/usr/lib64/libxkbcommon.so.0")
+ (search-input-file inputs "/lib/libxkbcommon.so"))))))))
As far as I noticed the new style to link to libraries is to use
"this-package-input" or "this-package-native-input" procedures.

Toggle snippet (2 lines)
+ (description "cl-xkb started development to support @url{https://github.com/malcolmstill/ulubis, ulubis}.
Description starts from Capital letter.

Waiting v2 for the second round of review =)!

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmcSHPUACgkQdtcnv/Ys
0rX2VxAAv/8qdxzez0PNKvLs9svT34ofFDPssxXUOaATXiUqaIpe//e5eRhNRaT8
mlifU1RyrCZ2A9SjfjpDcW7jrHTn3idYw6K0jJLV1FKDHk0fyOtyu73UFh5RVI/x
pyLJYDmIy8weYCnFZ+hiGyNfgGsqAG8gQYkwGBww1jfOBa7JEkrtK7ABSiM3capN
AM5SouFxErjAmcYRlGQD2QA9VI913WYrpf1wTELWqjnE3uevc4lOx6Kj43cVjB5O
yPVSTtMPkIC36zl/UfIwqS2TDF+P8LBLLCYyDobsvLl7496rFSxCaSpXKIGQheHN
nQnghnN9Cj9/jhfdBrlnQDn5bSqW9Hqe2B4XBZaDdXk4k0gZjlZmG4u+B/109Q1F
UbUfCwv3ZTvVodAGdKfSmtd2brdrQ52Z8BrU1MKpRKMzYIdSmRgZWhc7qLxT9a5X
qz9ZweixZs+7CVPxZvu/XqCiMwj3DzlTxRHHO2iWq4pUX/N/OYIWS2ARwnEwqotW
cThu0aFTVFQIATNWUAZ3itdFJV9sGa99O82L+FV+RKWXBEp0IZNSmjfi4JjusoVm
GoJ2eGmIMShHVcin5OnfiaW7Ndq9UtU/WSE/COTOIXXUjb7dW1vfJ5E213Js5tIm
PBlWwvOBwTO0IBx1cI4jOWjYNi+GuBuAvbe2SiZmGGYJ66QAYag=
=vAJT
-----END PGP SIGNATURE-----

G
G
Grigory Shepelev wrote on 22 Oct 10:51 +0200
(address . 73839@patchwise.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241022085129.29947-1-shegeley@gmail.com
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(+)

Toggle diff (53 lines)
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
G
G
Grigory Shepelev wrote on 22 Oct 10:51 +0200
[PATCH 2/5] lisp-xyz: + sbcl-xkb (from @malcolmstill)
(address . 73839@patchwise.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241022085129.29947-2-shegeley@gmail.com
Change-Id: Iaced3e5e084cc320a076ffb81d10fd9dde6be4de
---
gnu/packages/lisp-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (61 lines)
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
G
G
Grigory Shepelev wrote on 22 Oct 10:51 +0200
[PATCH 3/5] lisp-xyz: + sbcl-cl-pango
(address . 73839@patchwise.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241022085129.29947-3-shegeley@gmail.com
Change-Id: I3615ef64197e8bee5cbb733bc427a54607bae4b2
---
gnu/packages/lisp-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
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
G
G
Grigory Shepelev wrote on 22 Oct 10:51 +0200
[PATCH 4/5] lisp-xyz: + sbcl-input-event-codes
(address . 73839@patchwise.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241022085129.29947-4-shegeley@gmail.com
Change-Id: I47e65729f907e46d9deeb7dc0219ac9b1ba1a291
---
gnu/packages/lisp-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
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
G
G
Grigory Shepelev wrote on 22 Oct 10:51 +0200
[PATCH 5/5] lisp-xyz: + sbcl-wayflan
(address . 73839@patchwise.org)(name . Grigory Shepelev)(address . shegeley@gmail.com)
20241022085129.29947-5-shegeley@gmail.com
Change-Id: I65982ad6f5c034f611292d4f660b15e4e42f8da0
---
gnu/packages/lisp-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
G
G
Grigory Shepelev wrote on 22 Oct 11:02 +0200
comment on the new patchest
87o73c7boq.fsf@gmail.com
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 0/5] gnu: Add cl-wayflan.
(address . 73839@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
cover.1730150632.git.sharlatanus@gmail.com
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 2/5] gnu: Add cl-xkb.
(address . 73839@debbugs.gnu.org)
e21141c9287df23fb4d25dd5af522eb0ed18e74b.1730150632.git.sharlatanus@gmail.com
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(+)

Toggle diff (69 lines)
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 4/5] gnu: Add cl-input-event-codes.
(address . 73839@debbugs.gnu.org)
841b5e82afaa66a5192d57f81e613c4b079a1dab.1730150632.git.sharlatanus@gmail.com
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(+)

Toggle diff (45 lines)
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 3/5] gnu: Add cl-pango.
(address . 73839@debbugs.gnu.org)
3fa9387ba3f1415585338662ecbdd73f462e88da.1730150632.git.sharlatanus@gmail.com
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(+)

Toggle diff (72 lines)
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 5/5] gnu: Add cl-wayflan.
(address . 73839@debbugs.gnu.org)
9b100535d6cacf41eb16797f0ab4f173f3829fcb.1730150632.git.sharlatanus@gmail.com
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(+)

Toggle diff (96 lines)
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
S
S
Sharlatan Hellseher wrote on 28 Oct 22:28 +0100
[PATCH v3 1/5] gnu: Add cl-posix-shm.
(address . 73839@debbugs.gnu.org)
9de791b66a21303bf55d7cadcde5945bba79827b.1730150632.git.sharlatanus@gmail.com
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(+)

Toggle diff (88 lines)
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
G
G
Guillaume Le Vaillant wrote on 29 Oct 15:35 +0100
Re: [bug#73839] [PATCH v3 0/5] gnu: Add cl-wayflan.
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
877c9r2d02.fsf@kitej
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.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZyDyrQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+v5QEAiLUAFQMfZkIqFI55HaOmPxLMdDyblNm3SMUV
oSFt78AA/3IT2fPeZCPXPF8x+7mTZroBBq86nh02C5WhQ8XaegML
=2iXj
-----END PGP SIGNATURE-----

Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73839@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73839
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch