[PATCH 1/2] gnu: Add cl-collider.

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • jgart
Owner
unassigned
Submitted by
jgart
Severity
normal
J
(address . guix-patches@gnu.org)
5a7282791b5c076e6c51466198aec4ac@dismail.de

J
[PATCH 1/2] gnu: Add cl-osc.
(address . 62393@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
20230322215737.17811-1-jgart@dismail.de
* gnu/packages/lisp-xyz.scm (cl-osc, ecl-osc, sbcl-osc): New variables.
---
gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 3feeb7cca1..876f8f08c5 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23960,6 +23960,37 @@ (define-public sbcl-vernacular
(define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular))
+(define-public sbcl-osc
+ (let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
+ (revision "0"))
+ (package
+ (name "sbcl-osc")
+ (version (git-version "0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zzkt/osc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-usocket))
+ (synopsis "Implementation of the Open Sound Control protocol")
+ (description "This package provides a common lisp implementation
+of the Open Sound Control Protocol aka OSC. The code should be close
+to the ansi standard, and does not rely on any external code/ffi/etc+
+to do the basic encoding and decoding of packets.")
+ (home-page "https://github.com/zzkt/osc/")
+ (license license:llgpl))))
+
+(define-public cl-osc
+ (sbcl-package->cl-source-package sbcl-osc))
+
+(define-public ecl-osc
+ (sbcl-package->ecl-package sbcl-osc))
+
(define-public sbcl-cmn
(package
(name "sbcl-cmn")
--
2.39.2
J
[PATCH 2/2] gnu: Add cl-collider.
(address . 62393@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
20230322215737.17811-2-jgart@dismail.de
* gnu/packages/lisp-xyz.scm (cl-collider, ecl-cl-collider,
sbcl-cl-collider): New variables.
---
gnu/packages/lisp-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (66 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 876f8f08c5..8f40880630 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23960,6 +23960,59 @@ (define-public sbcl-vernacular
(define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular))
+(define-public sbcl-cl-collider
+ (let ((commit "a46908896982868955b29bfb3a5337a0af489b0b")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-collider")
+ (version (git-version "2018.7.15" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/byulparan/cl-collider")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10wvjbwvbgr0b57hpfxycg90yjmb29pirygr1sxrdaqxll328sz1"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-executables
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "server.lisp"
+ (("which scsynth")
+ (search-input-file inputs "/bin/scsynth"))
+ (("jack_connect")
+ (search-input-file inputs "/bin/scsynth"))))))))
+ (inputs
+ (list supercollider
+ jack-2
+ sbcl-osc
+ sbcl-alexandria
+ sbcl-cffi
+ sbcl-bordeaux-threads
+ sbcl-pileup
+ sbcl-flexi-streams
+ sbcl-split-sequence
+ sbcl-named-readtables
+ sbcl-simple-inferiors ; For ecl.
+ sbcl-cl-ppcre
+ sbcl-ieee-floats ; sc-osc dependencies.
+ sbcl-usocket))
+ (synopsis "SuperCollider client for CommonLisp")
+ (description "This package provides a SuperCollider client for
+CommonLisp.")
+ (home-page "https://github.com/byulparan/cl-collider/")
+ (license license:public-domain))))
+
+(define-public cl-collider
+ (sbcl-package->cl-source-package sbcl-cl-collider))
+
+(define-public ecl-cl-collider
+ (sbcl-package->ecl-package sbcl-cl-collider))
+
(define-public sbcl-osc
(let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
(revision "0"))
--
2.39.2
G
G
Guillaume Le Vaillant wrote on 27 Mar 2023 11:07
Re: [bug#62393] [PATCH 1/2] gnu: Add cl-collider.
(name . jgart)(address . jgart@dismail.de)(address . 62393@debbugs.gnu.org)
87leji366i.fsf@kitej
Patch for cl-osc pushed as acbdaec070f39b723a1b964ffa7fbd4b640bbd8e.

Concerning the patch for cl-collider, the 'patch-executables' phase
replaces "jack-connect" with "scsynth":

Toggle snippet (9 lines)
(add-after 'unpack 'patch-executables
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "server.lisp"
(("which scsynth")
(search-input-file inputs "/bin/scsynth"))
(("jack_connect")
(search-input-file inputs "/bin/scsynth")))))

Is it really supposed to be like that?

Also, in "server.lisp", doesn't the path for plugins (*sc-plugin-paths*
variable) need to be patched too?
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZCFe9Q8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9k2wD/UpFxlzFXNbprQWQy3GPZFd1XKTGddmPTbDSe
q1UEYckBAKRhEe8yBnBYZOXhe7TNdyBgXCpdH7ZXxe71JrYinbmb
=FKYY
-----END PGP SIGNATURE-----

J
[PATCH v2] gnu: Add cl-collider.
(address . 62393@debbugs.gnu.org)
20230328042340.4324-1-jgart@dismail.de
* gnu/packages/lisp-xyz.scm (cl-collider, sbcl-cl-collider): New variables.
---

Hi Guillaume,

Here's v2 and a log of me trying out the sbcl-cl-collider package in a sly REPL:

```lisp
CL-USER> (require :cl-collider)
WARNING: System definition file #P"/gnu/store/w2wi00p7d1waiqzyv3i1mz7qv3lxbnba-sbcl-ieee-floats-20170924-1.566b51a/share/common-lisp/sbcl/ieee-floats/ieee-floats.asd" contains definition for system "ieee-floats-tests". Please only define "ieee-floats" and secondary systems with a name starting with "ieee-floats/" (e.g. "ieee-floats/test") in that file.
WARNING: System definition file #P"/gnu/store/m3qjf3i4if0p0by4z5j1cgg8mayvzl39-sbcl-pileup-1.0.1-1.f269473/share/common-lisp/sbcl/pileup/pileup.asd" contains definition for system "pileup-tests". Please only define "pileup" and secondary systems with a name starting with "pileup/" (e.g. "pileup/test") in that file.
WARNING: System definition file #P"/gnu/store/19jk4gkxpz1g406shg32sp573y31rkr6-sbcl-flexi-streams-1.0.19/share/common-lisp/sbcl/flexi-streams/flexi-streams.asd" contains definition for system "flexi-streams-test". Please only define "flexi-streams" and secondary systems with a name starting with "flexi-streams/" (e.g. "flexi-streams/test") in that file.
("OSC")
CL-USER> (in-package :sc-user)
#<PACKAGE "SC-USER">
SC-USER> (in-package :sc-user)
#<PACKAGE "SC-USER">
SC-USER> *sc-synth-program*
"/gnu/store/1bzz28dx9c0qs79hrbs0gpbbnvk10a2l-supercollider-3.12.1/bin/scsynth"
SC-USER> (setf *s* (make-external-server "localhost" :port 48800))
#<CL-COLLIDER::EXTERNAL-SERVER localhost-127.0.0.1:48800>
SC-USER> (server-boot *s*)
SC FFT global init: cosTable initialised.
;; This I fixed by creating the directory. TODO: Add a guix home service or bloat?
*** ERROR: open directory failed '/home/jgart/.local/share/SuperCollider/synthdefs'
could not initialize audio.
; Debugger entered on #<SIMPLE-ERROR "Server failed to boot." {10025AC6E3}>
[1] SC-USER> (server-boot *s*)
SC FFT global init: cosTable initialised.
could not initialize audio.
; Debugger entered on #<SIMPLE-ERROR "Server failed to boot." {1002A98573}>
[2] SC-USER> (jack-connect)
NIL
[2] SC-USER> (defvar *synth*)
*SYNTH*
[2] SC-USER> (setf *synth* (play (sin-osc.ar [320 321] 0 .2)))
; in: SETF *SYNTH*
; (CL-COLLIDER:SIN-OSC.AR SC-USER::[320 SC-USER::321] 0 0.2)
;
; caught WARNING:
; undefined variable: SC-USER::321]
;
; caught WARNING:
; undefined variable: SC-USER::[320
;
; compilation unit finished
; Undefined variables:
; 321] [320
; caught 2 WARNING conditions
; Debugger entered on #<UNBOUND-VARIABLE [320 {1003258A93}>
[3] SC-USER>
; Evaluation aborted on #<UNBOUND-VARIABLE [320 {1003258A93}>
[2] SC-USER>
; Evaluation aborted on #<SIMPLE-ERROR "Server failed to boot." {1002A98573}>
[1] SC-USER>
; Evaluation aborted on #<SIMPLE-ERROR "Server failed to boot." {10025AC6E3}>
SC-USER> (setf *synth* (play (sin-osc.ar)))
; Debugger entered on #<USOCKET:BAD-FILE-DESCRIPTOR-ERROR {1004DD4043}>
[1] SC-USER>
; Evaluation aborted on #<USOCKET:BAD-FILE-DESCRIPTOR-ERROR {1004DD4043}>
SC-USER> (setf *synth* (play (sin-osc.ar)))
; Debugger entered on #<USOCKET:BAD-FILE-DESCRIPTOR-ERROR {10051215C3}>
[1] SC-USER>
; Evaluation aborted on #<USOCKET:BAD-FILE-DESCRIPTOR-ERROR {10051215C3}>
SC-USER>
```

I'm not able to get sound. Would you like to test it yourself?


I'll give it another try soon once I find more time. The ecl package
fails. I opened an issue for it.

all best,

jgart

gnu/packages/lisp-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (66 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e0025b784c..ed2e6ff468 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23959,6 +23959,59 @@ (define-public sbcl-vernacular
(define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular))
+(define-public sbcl-cl-collider
+ (let ((commit "a46908896982868955b29bfb3a5337a0af489b0b")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-collider")
+ (version (git-version "2018.7.15" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/byulparan/cl-collider")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10wvjbwvbgr0b57hpfxycg90yjmb29pirygr1sxrdaqxll328sz1"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-executables
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "server.lisp"
+ (("which scsynth")
+ (search-input-file inputs "/bin/scsynth"))
+ (("jack_connect")
+ (search-input-file inputs "/bin/scsynth"))))))))
+ (inputs
+ (list supercollider
+ jack-2
+ sbcl-osc
+ sbcl-alexandria
+ sbcl-cffi
+ sbcl-bordeaux-threads
+ sbcl-pileup
+ sbcl-flexi-streams
+ sbcl-split-sequence
+ sbcl-named-readtables
+ sbcl-simple-inferiors ; For ecl.
+ sbcl-cl-ppcre
+ sbcl-ieee-floats ; sc-osc dependencies.
+ sbcl-usocket))
+ (synopsis "SuperCollider client for CommonLisp")
+ (description "This package provides a SuperCollider client for
+CommonLisp.")
+ (home-page "https://github.com/byulparan/cl-collider/")
+ (license license:public-domain))))
+
+(define-public cl-collider
+ (sbcl-package->cl-source-package sbcl-cl-collider))
+
+(define-public ecl-cl-collider
+ (sbcl-package->ecl-package sbcl-cl-collider))
+
(define-public sbcl-osc
(let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
(revision "0"))
--
2.39.2
J
[PATCH v3] gnu: Add cl-collider.
(address . 62393@debbugs.gnu.org)
20230329013100.8594-1-jgart@dismail.de
* gnu/packages/lisp-xyz.scm (cl-collider, sbcl-cl-collider): New variables.
---

Hi,

I just realized that v2 was the same as v1. I forgot to commit my staging
area when sending that ;()

Here is v3.

I think what I am debugging here is my alsa/pulseaudio/jack setup and
this package.

I'll need to find time to do that but I have a feeling that this package
is probably good to go now and I just need to get jack2 working on
guix system.

I tried following this blog post to no avail:


all best,

jgart

gnu/packages/lisp-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

Toggle diff (71 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e0025b784c..8f62947d97 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23959,6 +23959,64 @@ (define-public sbcl-vernacular
(define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular))
+(define-public sbcl-cl-collider
+ (let ((commit "a46908896982868955b29bfb3a5337a0af489b0b")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-collider")
+ (version (git-version "2018.7.15" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/byulparan/cl-collider")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10wvjbwvbgr0b57hpfxycg90yjmb29pirygr1sxrdaqxll328sz1"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-executables-and-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "server.lisp"
+ (("/usr/local/lib/SuperCollider/plugins/")
+ (search-input-directory inputs "/lib/SuperCollider/plugins"))
+ (("/usr/local/share/SuperCollider/Extensions/")
+ (search-input-directory inputs "/share/SuperCollider/Extensions"))
+ (("which scsynth")
+ (string-append "which " (search-input-file inputs "/bin/scsynth")))
+ (("jack_connect")
+ (string-append "which " (search-input-file inputs "/bin/jack_connect")))))))))
+ (inputs
+ (list jack-1
+ supercollider
+ sbcl-alexandria
+ sbcl-bordeaux-threads
+ sbcl-cffi
+ sbcl-cl-ppcre
+ sbcl-flexi-streams
+ sbcl-ieee-floats ; sc-osc dependencies.
+ sbcl-named-readtables
+ sbcl-osc
+ sbcl-pileup
+ sbcl-simple-inferiors ; For ecl.
+ sbcl-split-sequence
+ sbcl-usocket))
+ (synopsis "SuperCollider client for CommonLisp")
+ (description "This package provides a SuperCollider client for
+CommonLisp.")
+ (home-page "https://github.com/byulparan/cl-collider/")
+ (license license:public-domain))))
+
+(define-public cl-collider
+ (sbcl-package->cl-source-package sbcl-cl-collider))
+
+;;; Build fails: https://github.com/byulparan/cl-collider/issues/127
+#;(define-public ecl-cl-collider
+ (sbcl-package->ecl-package sbcl-cl-collider))
+
(define-public sbcl-osc
(let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
(revision "0"))
--
2.39.2
G
G
Guillaume Le Vaillant wrote on 30 Mar 2023 11:36
(name . jgart)(address . jgart@dismail.de)(address . 62393-done@debbugs.gnu.org)
875yai8tou.fsf@kitej
Patch pushed as 314c59973946d642d3c7f860867c494f0bb356dd with a few
modifications. I enabled the ecl package as the build succeeded.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZCVYsQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8tzwD/Q/RNMzXyKDGvnSpsNqOHnVdlCdy89bwVC7uX
0lSgMjIA/16kq2kQTr8Noe7Jp1QoJfWPp43OGNziYI//aq+9AksU
=DBaj
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 62393
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