[PATCH 0/5] gnu: Add cl-calm.

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Sharlatan Hellseher
Severity
normal

Debbugs page

Sharlatan Hellseher wrote 2 years ago
(address . guix-patches@gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222240.26645-1-sharlatanus@gmail.com
Hi Guix!

This patch series adds Common Lisp CALM system which provides vector graphs
functionality based on SDL2 libraries. It also includes update of cl-sdl2 to
the latest commit with package refactoring.

Toggle quote (13 lines)
> ./pre-inst-env guix build --rounds=2 cl-sdl2 cl-sdl2-mixer cl-cairo2 cl-calm sbcl-sdl2 sbcl-cl-cairo2 sbcl-sdl2-mixer sbcl-calm ecl-sdl2 ecl-cl-cairo2 ecl-sdl2-mixer
> /gnu/store/cifgiw7baw53cfami2a34z3hm2s4ai2c-ecl-sdl2-mixer-1.0-1.fdcc7ee
> /gnu/store/frmqy3lkaa6kz8pj85q6za28maybr418-ecl-cl-cairo2-1.0-1.41ae45a
> /gnu/store/0zjr93chywripsi5r7izmk5d2a11z6qk-ecl-sdl2-0.0.0-2.80410b5
> /gnu/store/wgpcq057mmwa160bwjfydygx01kq765w-sbcl-calm-0.0.33
> /gnu/store/v0fmpl51i5kn5ckjbb297ay94wmx2gq6-sbcl-sdl2-mixer-1.0-1.fdcc7ee
> /gnu/store/jxdvr2q15d9h6ng2kydmrjysilhysh9d-sbcl-cl-cairo2-1.0-1.41ae45a
> /gnu/store/sfiz4bmkhp167fz7p8skfsj18hmm34g7-sbcl-sdl2-0.0.0-2.80410b5
> /gnu/store/ghd779s1qvg4kj5a64222p13kjwij5im-cl-calm-0.0.33
> /gnu/store/8aycsb880v0m9nzl55hh7m2r8drvm9l9-cl-cairo2-1.0-1.41ae45a
> /gnu/store/mw5yr4pfhxrv575h0brjwf6yp0qpr5qz-cl-sdl2-mixer-1.0-1.fdcc7ee
> /gnu/store/2lr7hk5654wdzq9r5ffci7mglzk8zrbv-cl-sdl2-0.0.0-2.80410b5

Sharlatan Hellseher (5):
gnu: cl-sdl2: Update to 0.0.0-2.80410b5.
gnu: cl-sdl2: Remove input labels.
gnu: Add cl-sdl2-mixer.
gnu: Add sbcl-cl-cairo2.
gnu: Add cl-calm.

gnu/packages/lisp-xyz.scm | 156 ++++++++++++++++++++++++++++++++++----
1 file changed, 143 insertions(+), 13 deletions(-)


base-commit: df8b8f0c76388239dac9f2892c97b92e92c92901
--
2.39.1
Sharlatan Hellseher wrote 2 years ago
[PATCH 1/5] gnu: cl-sdl2: Update to 0.0.0-2.80410b5.
(address . 61772@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222349.26750-1-sharlatanus@gmail.com
* gnu/packages/lisp-xyz.scm (sbcl-sdl2): Update to 0.0.0-2.80410b5.
---
gnu/packages/lisp-xyz.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index a4e0c89694..648141b19b 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -20122,8 +20122,8 @@ (define-public cl-glop
(sbcl-package->cl-source-package sbcl-glop))
(define-public sbcl-sdl2
- (let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
- (revision "1"))
+ (let ((commit "80410b514570ca06894675d4a2a5fc93287ea7b6")
+ (revision "2"))
(package
(name "sbcl-sdl2")
(version (git-version "0.0.0" revision commit))
@@ -20135,7 +20135,7 @@ (define-public sbcl-sdl2
(commit commit)))
(file-name (git-file-name "cl-sdl2" version))
(sha256
- (base32 "1a4904310z2wwq80grnlixmyz30452vgd4lh74y105j2yrr43z97"))))
+ (base32 "0sjy4k04k0hdhwpr57ns16ag3za0kz4laclbk17i91ql7qdjw9z2"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
--
2.39.1
Sharlatan Hellseher wrote 2 years ago
[PATCH 2/5] gnu: cl-sdl2: Remove input labels.
(address . 61772@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222349.26750-2-sharlatanus@gmail.com
* gnu/packages/lisp.scm (sbcl-sdl2):
[arguments]{asd-systems}: Add sdl2/examples.
{phases}<fix-path>: Remove trailing #f from lambda, use
search-input-file to link SO library.
[inputs]: Remove labels, add sbcl-cl-opengl.
---
gnu/packages/lisp-xyz.scm | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 648141b19b..4772be6cef 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -20138,21 +20138,22 @@ (define-public sbcl-sdl2
(base32 "0sjy4k04k0hdhwpr57ns16ag3za0kz4laclbk17i91ql7qdjw9z2"))))
(build-system asdf-build-system/sbcl)
(arguments
- `(#:phases
+ `(#:asd-systems '("sdl2" "sdl2/examples")
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/library.lisp"
- (("libSDL2-2.0.so.0" all)
- (string-append (assoc-ref inputs "libsdl2") "/lib/" all)))
- #t)))))
+ (("libSDL2-2.0.so.0")
+ (search-input-file inputs "/lib/libSDL2-2.0.so.0"))))))))
(inputs
- `(("alexandria" ,sbcl-alexandria)
- ("cl-autowrap" ,sbcl-cl-autowrap)
- ("cl-ppcre" ,sbcl-cl-ppcre)
- ("libsdl2" ,sdl2)
- ("trivial-channels" ,sbcl-trivial-channels)
- ("trivial-features" ,sbcl-trivial-features)))
+ (list sbcl-alexandria
+ sbcl-cl-autowrap
+ sbcl-cl-opengl
+ sbcl-cl-ppcre
+ sbcl-trivial-channels
+ sbcl-trivial-features
+ sdl2))
(home-page "https://github.com/lispgames/cl-sdl2")
(synopsis "Common Lisp bindings for SDL2 using C2FFI")
(description
--
2.39.1
Sharlatan Hellseher wrote 2 years ago
[PATCH 3/5] gnu: Add cl-sdl2-mixer.
(address . 61772@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222349.26750-3-sharlatanus@gmail.com
* gnu/packages/lisp-xyz.scm (cl-sdl2-mixer, ecl-sdl2-mixer,
sbcl-sdl2-mixer): New variables.
---
gnu/packages/lisp-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 4772be6cef..808fdb9391 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -20209,6 +20209,49 @@ (define-public ecl-sdl2-image
(define-public cl-sdl2-image
(sbcl-package->cl-source-package sbcl-sdl2-image))
+(define-public sbcl-sdl2-mixer
+ (let ((commit "fdcc7ee7935dd01fd338e22690451db2cf126156")
+ (revision "1"))
+ (package
+ (name "sbcl-sdl2-mixer")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lispgames/cl-sdl2-mixer")
+ (commit commit)))
+ (file-name (git-file-name "sdl2-mixer" version))
+ (sha256
+ (base32 "0g6ywb3gqr0rif4z6kkz6m8vyv8nrr5wr1w9sc6d3zypbbnqgbp6"))))
+ (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* "src/library.lisp"
+ (("libSDL2_mixer-2.0.so.0")
+ (search-input-file inputs "/lib/libSDL2_mixer-2.0.so.0"))))))))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-cl-autowrap
+ sbcl-sdl2
+ sbcl-trivial-garbage
+ sdl2-mixer))
+ (home-page "https://github.com/lispgames/cl-sdl2-mixer")
+ (synopsis "Bindings for sdl2_mixer using autowrap for Common Lisp")
+ (description
+ "This package provides a Common Lisp wrapper system for the SDL 2.0 Mixer C
+Library.")
+ (license license:expat))))
+
+(define-public ecl-sdl2-mixer
+ (sbcl-package->ecl-package sbcl-sdl2-mixer))
+
+(define-public cl-sdl2-mixer
+ (sbcl-package->cl-source-package sbcl-sdl2-mixer))
+
(define-public sbcl-sdl2-ttf
(let ((commit "6dd2df2fb3a79ec4f835e3bc882e60e8da039878")
(revision "1"))
--
2.39.1
Sharlatan Hellseher wrote 2 years ago
[PATCH 4/5] gnu: Add sbcl-cl-cairo2.
(address . 61772@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222349.26750-4-sharlatanus@gmail.com
* gnu/packages/lisp-xyz.scm (cl-cairo2, ecl-cl-cairo2, sbcl-cl-cairo2):
New variables.
---
gnu/packages/lisp-xyz.scm | 50 +++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 808fdb9391..e37a386232 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3567,6 +3567,56 @@ (define-public cl-let-plus
(define-public ecl-let-plus
(sbcl-package->ecl-package sbcl-let-plus))
+(define-public sbcl-cl-cairo2
+ (let ((commit "41ae45aac86553c46f4bb460f80e1fb620930f5b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-cairo2")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rpav/cl-cairo2")
+ (commit commit)))
+ (file-name (git-file-name "cl-cairo2" version))
+ (sha256
+ (base32 "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '(;; "cl-cairo2-gtk2" ; cl-gtk2 is not packed and quite old.
+ ;; "cl-cairo2-quartz" ; Failing when enabled.
+ ;; "cl-cairo2-xlib" ; cl-xcb-xlib is not packed yet and quite old.
+ ;; "cl-cairo2-xcb"
+ "cl-cairo2")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/load-libraries.lisp"
+ (("libcairo.so.2")
+ (search-input-file inputs "/lib/libcairo.so.2"))))))))
+ (inputs
+ (list cairo
+ sbcl-cffi
+ sbcl-cl-colors
+ sbcl-cl-freetype2
+ sbcl-cl-utilities
+ sbcl-metabang-bind
+ sbcl-trivial-features
+ sbcl-trivial-garbage))
+ (home-page "https://github.com/rpav/cl-cairo2")
+ (synopsis "Cairo bindings for Common Lisp")
+ (description
+ "This packages provides a CFFI bindings for Common Lisp to cairo C library.")
+ (license license:boost1.0))))
+
+(define-public ecl-cl-cairo2
+ (sbcl-package->ecl-package sbcl-cl-cairo2))
+
+(define-public cl-cairo2
+ (sbcl-package->cl-source-package sbcl-cl-cairo2))
+
(define-public sbcl-cl-colors
(let ((commit "827410584553f5c717eec6182343b7605f707f75"))
(package
--
2.39.1
Sharlatan Hellseher wrote 2 years ago
[PATCH 5/5] gnu: Add cl-calm.
(address . 61772@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230224222349.26750-5-sharlatanus@gmail.com
* gnu/packages/lisp-xyz.scm (cl-calm, sbcl-calm): New variables.
---
gnu/packages/lisp-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e37a386232..99300e12e2 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -2801,6 +2801,42 @@ (define-public cl-calispel
(define-public ecl-calispel
(sbcl-package->ecl-package sbcl-calispel))
+(define-public sbcl-calm
+ (package
+ (name "sbcl-calm")
+ (version "0.0.33")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VitoVan/calm")
+ (commit version)))
+ (file-name (git-file-name "calm" version))
+ (sha256
+ (base32 "0dh8100facv95yl8j9sbss6v2xplsl57fz32xdxmhbx5qq2vs77x"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-cl-cairo2
+ sbcl-cl-str
+ sbcl-sdl2
+ sbcl-sdl2-image
+ sbcl-sdl2-mixer
+ sbcl-slime-swank))
+ (home-page "https://github.com/VitoVan/calm")
+ (synopsis "Vector graphic library for Common Lisp")
+ (description
+ "This package provides a SDL2 based vector graphic library for Common Lisp.")
+ (license license:gpl2)))
+
+(define-public cl-calm
+ (sbcl-package->cl-source-package sbcl-calm))
+
+;; TODO: ECL is not supported yet:
+;; https://github.com/VitoVan/calm/issues/70
+
+;; (define-public ecl-calm
+;; (sbcl-package->ecl-package sbcl-calm))
+
(define-public sbcl-esrap
(let ((commit "4c82a863871e117f0041b9ef37e61c0b62318aa7")
(revision "3"))
--
2.39.1
Guillaume Le Vaillant wrote 2 years ago
Re: [bug#61772] [PATCH 0/5] gnu: Add cl-calm.
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 61772-done@debbugs.gnu.org)
875ybnqm8o.fsf@kitej
I updated cl-calm to the latest version, which solves the issue with
ECL, and pushed the patches as 4ca869d151637382e8c74908e6d2671d9cea805c
and following.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCY/yt5w8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9NzAEAisj+8/9yCN2pSCQR0I8qnbEidoOzYvwNgTNW
dlbU2ksA/3pfpUD8FB3AFVE/MPwikqUVYrJA5kqQ9eMUUk4DRhdi
=XlfS
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 61772
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help