[PATCH] Added orca-lang package

OpenSubmitted by Christopher Rodriguez.
Details
3 participants
  • Christine Lemmer-Webber
  • Maxime Devos
  • Christopher Rodriguez
Owner
unassigned
Severity
normal
C
C
Christopher Rodriguez wrote on 22 Mar 23:46 +0100
(address . guix-patches@gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
20220322224614.5605-1-yewscion@gmail.com
---
gnu/packages/music.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9c8203aa80..32ab263f84 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6879,3 +6879,63 @@ (define-public musikcube
 streaming audio server.")
     (home-page "https://musikcube.com/")
     (license license:bsd-3)))
+(define-public orca-lang
+  (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f")
+        (revision "4"))
+    (package
+     (name "orca-lang")
+     (version (git-version "git" revision commit))
+     (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~rabbits/orca")
+                    (commit commit)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mnhk68slc6g5y5348vj86pmnz90a385jxvm3463fic79k90gckd"))))
+     (build-system gnu-build-system)
+     (arguments
+      `(#:tests?
+        #f
+        #:phases
+        (modify-phases
+         %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (delete 'patch-shebangs)
+         (delete 'validate-documentation-location)
+         (delete 'delete-info-dir-file)
+         (delete 'patch-dot-desktop-files)
+         (delete 'reset-gzip-timestamps)
+         (replace 'build
+                  (lambda* (#:key inputs outputs #:allow-other-keys)
+                           (setenv "CC" "gcc")
+                           (invoke "make" "release")))
+         (replace 'install
+                  (lambda* (#:key outputs #:allow-other-keys)
+                           (let* ((out
+                                   (assoc-ref outputs "out"))
+                                  (dest-bin
+                                   (string-append out "/bin"))
+                                  (dest-lib
+                                   (string-append out "/share"))
+                                  (dest-exa
+                                   (string-append dest-lib "/examples"))
+                                  (dest-doc
+                                   (string-append dest-lib "/doc")))
+                             (install-file "./build/orca" dest-bin)
+                             (copy-recursively "./examples" dest-exa)
+                             (install-file "./README.md" dest-doc)
+                             #t))))))
+     (inputs `(("ncurses" ,ncurses)
+               ("portmidi" ,portmidi)))
+     (native-inputs `(("pkg-config" ,pkg-config)))
+     (synopsis "Musical Esoteric Programming Language")
+     (description
+      "Orca is an esoteric programming language and live editor designed to
+quickly create procedural sequencers.  Every letter of the alphabet is an
+operation, lowercase letters execute on *bang*, and uppercase letters execute
+each frame.")
+     (home-page "https://wiki.xxiivv.com/site/uxn.html")
+     (license license:agpl3))))
-- 
2.34.0
C
C
Christopher Rodriguez wrote on 23 Mar 03:30 +0100
[PATCH v2] Added orca-lang package
(address . 54529@debbugs.gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
20220323023029.7747-1-yewscion@gmail.com
---

Added the alsa-plugins package (out and pulseaudio outputs) as
propogated inputs because MIDI output depends on being able to use
libasound_module_conf_pulse.so.

gnu/packages/music.scm | 62 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)

Toggle diff (72 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9c8203aa80..9e1b078436 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6879,3 +6879,65 @@ (define-public musikcube
 streaming audio server.")
     (home-page "https://musikcube.com/")
     (license license:bsd-3)))
+(define-public orca-lang
+  (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f")
+        (revision "5"))
+    (package
+     (name "orca-lang")
+     (version (git-version "git" revision commit))
+     (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~rabbits/orca")
+                    (commit commit)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mnhk68slc6g5y5348vj86pmnz90a385jxvm3463fic79k90gckd"))))
+     (build-system gnu-build-system)
+     (arguments
+      `(#:tests?
+        #f
+        #:phases
+        (modify-phases
+         %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (delete 'patch-shebangs)
+         (delete 'validate-documentation-location)
+         (delete 'delete-info-dir-file)
+         (delete 'patch-dot-desktop-files)
+         (delete 'reset-gzip-timestamps)
+         (replace 'build
+                  (lambda* (#:key inputs outputs #:allow-other-keys)
+                           (setenv "CC" "gcc")
+                           (invoke "make" "release")))
+         (replace 'install
+                  (lambda* (#:key outputs #:allow-other-keys)
+                           (let* ((out
+                                   (assoc-ref outputs "out"))
+                                  (dest-bin
+                                   (string-append out "/bin"))
+                                  (dest-lib
+                                   (string-append out "/share"))
+                                  (dest-exa
+                                   (string-append dest-lib "/examples"))
+                                  (dest-doc
+                                   (string-append dest-lib "/doc")))
+                             (install-file "./build/orca" dest-bin)
+                             (copy-recursively "./examples" dest-exa)
+                             (install-file "./README.md" dest-doc)
+                             #t))))))
+     (inputs `(("ncurses" ,ncurses)
+               ("portmidi" ,portmidi)))
+     (native-inputs `(("pkg-config" ,pkg-config)))
+     (propagated-inputs `(("alsa-plugins" ,alsa-plugins)
+                          ("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio")))
+     (synopsis "Musical Esoteric Programming Language")
+     (description
+      "Orca is an esoteric programming language and live editor designed to
+quickly create procedural sequencers.  Every letter of the alphabet is an
+operation, lowercase letters execute on *bang*, and uppercase letters execute
+each frame.")
+     (home-page "https://100r.co/site/orca.html")
+     (license license:agpl3))))
-- 
2.34.0
M
M
Maxime Devos wrote on 23 Mar 08:29 +0100
3e0b3c98cec40eafed7bfafa955dcdf1f0534a7e.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +                  (lambda* (#:key inputs outputs #:allow-other-keys)
> +                           (setenv "CC" "gcc")

This is broken when cross-compiling, try 'cc-for-target'.
Additionally, 'outputs' and 'inputs' are unused here.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrMaBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qDPAP4nD842IhHE4FdsFudtfDuJ6aM0
W4tYkJVleweOJHe9QAD/dl6LR7b3Yl0rugO6+pxRSqY0NBOFLdJRmR5LUG+ItAI=
=Xj+R
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:29 +0100
c5f719a42812a53aa6da0bd08472aba9ffb9374f.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +      `(#:tests?
> +        #f

Why?
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrMdRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7pq3AQDTTtwa3ltlZyqT/7M19uJ008n0
y+LpEV6eH1hxHqkQqAEAs9uapuCsnwcyGWaC+9Bho7QsbzOJSBsl1ABYcbdpBw4=
=3Nj1
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:30 +0100
4cd391b34d6f0f14a1c598fef8f4a93406be3f1a.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (8 lines)
> +         (delete 'configure)
> +         (delete 'check)
> +         (delete 'patch-shebangs)
> +         (delete 'validate-documentation-location)
> +         (delete 'delete-info-dir-file)
> +         (delete 'patch-dot-desktop-files)
> +         (delete 'reset-gzip-timestamps)

Why are these phases deleted?
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrMhhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jcNAP97PLhemr7iLhUHQ+ix73/O1rwJ
60AyV114aC/VCAlAGwEA1j4GAQ1r2S+O8FLKxGueJ7mmYDBRepF4ZrrNfpJb1wM=
=Hftt
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:30 +0100
dd85047299991442fa6ddba09ac64f7d16a3abfb.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +     (inputs `(("ncurses" ,ncurses)
> +               ("portmidi" ,portmidi)))

Preferably use the new inputs style: (inputs (list ncurses portmidi)).
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrMpBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qXzAQDloQaUJR7tDEigmBqDRyzEuV2t
UTz1+DvoTqHm1OelawD/R3uyqJvCH98eK/QUBpkTSogqLUWAOUbxd9oYviK9cwA=
=kU82
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:30 +0100
d7679c3929a9626a453949db352e4daa4776f0a1.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +     (propagated-inputs `(("alsa-plugins" ,alsa-plugins)
> +                          ("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio")))

Why are these propagated?
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrMrxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kVbAQCGVU/fDBBVySEE401e539f2Gfb
vGyHMaGm815YwGtUzQEA5I1eGpsWmgdklNvw/gbPoCYdfiHE9wxJA83Z0wNBDgc=
=T459
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:32 +0100
9a3dc05cb52dd29ee12f69ce46b8d2efc4d50f82.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +     (synopsis "Musical Esoteric Programming Language")

Why the capital letters? And why mention ‘Esoteric’ in the synopsis and
description? Also, it is not actually a programming language, it is
more an implementation of a language for producing music.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrNKRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tetAQCg5lXwP1rfjUuTYYXrjz/Htz3f
46GpNExBknlRZSzHdwD/S5qqnGklLN/+jqPjl1CVrrnGYpQbwXtB6OS3h58WwwM=
=wl5L
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:33 +0100
feaab265d90c957a6777f44cadb923ee268c2fa6.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> *bang*

This is not texinfo markup.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrNPBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7s0kAP91jtedKqkqE3gXNfGUyWGisCBy
L96EzxBGFByKtzzDQQEAhPAlN4fs9s90GlczRG1pystgSPjwAssrRhcR5bAgCwc=
=nejE
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:33 +0100
14cc83fff72a30d398c62d96f5c8804f9426c837.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +(define-public orca-lang

Personally I'd go with "orca-music".
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrNTxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gF6AP9AdVzgRmGKa8og3UK5BFeWcfXz
ZLjt1NFCS4TvaPjylwD9ETOqi3VWDbD4mP4R/qAQdfyrmVJBYYhu1uOgl1R2cQ4=
=uDZc
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:34 +0100
739f19860a09450f693d4a66233653a54d78c667.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +  (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f")
> +        (revision "5"))

Where does this revision come from? This is the first version of orca
in Guix.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrNchccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gYwAQDVQ2wevcNYWrVUuklAk/K8biOh
JyFrwT8cv/+ET806VwD/Uw56WucxRe2fswsfFPaI6ZnKlgFyNfQu9Qm3wnr4kAE=
=irS0
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:35 +0100
57c85dc908698abbc20034efeff20ed6e1f99c35.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +     (version (git-version "git" revision commit))

"git" is not a version numberr, I suggest "0" instead.
Also, why is a ‘random’ git commit used instead of an upstream version?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrNrRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7mt6AQC0mNTL1b9S8Z5JbjxMjhGbKvvR
LRz+GdiFQrKBxLq9tgEA/eXj5P3JfzkAVpjPYcJ6LtfJBdd1eIvHIhLeBLSeuQs=
=3Fjh
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:36 +0100
75fa92d0339111472b75ed3f8af0553d1f231987.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +                                  (dest-exa
> +                                   (string-append dest-lib "/examples"))

I don't think that abbreviations are necessary here, these's enough
space here.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrN5RccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vA7AP9wqI6r/yHv73oPC75Ezca+fjyL
ue5qlcjGbbU+ft9kEQD9FnlBaPBpwRP9rUPFgLWeGhhZv0+Nijg3AVUdKsKBewk=
=T+Zp
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:36 +0100
3cf48a2a39cd94eb4f22f2491bfbef9b34e50934.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +         (replace 'install
> +                  (lambda* (#:key outputs #:allow-other-keys)

Spacing went wrong here, try running "./pre-inst-env guix style" on the
package.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrOABccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kbuAP9++6DXEAXlWp2muTsTrFD//vYQ
cl1NmRW8D9rLwxYeIgEAx12c1nYRP5jmC2iQYJ16xIHorEAcx/W8T/4d8ku4aQo=
=F0Gr
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:36 +0100
e5ccc6b7bf6f6b75fe06ad0152ec0305ccd1bccf.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +     (license license:agpl3))))

Is it agpl3-only or agpl3+?
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrOGBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gPHAP42ssmKvVaJ89e1sakpbkdX6rmn
Ke+eq0XqYhWO+LGaLgEA7d58xd49qBFo+Yk2Rbm8AcOpv7mEJ125BIJOJqCUJQU=
=qqBl
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:38 +0100
3f5258cd97d6129845fa11a945a6ace37c1a2a2a.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (3 lines)
> +                                  (dest-lib
> +                                   (string-append out "/share"))

This seems rather confusing naming. Libraries are put in [...]/lib,
not [...]/share. Alsso, I think you could drop the 'dest-' prefix
here.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrOZhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jscAQCss2o1ZpgHFqw7JavrGvNOyNpL
og7ePpJUVDhbqJt4fAD9EjltLJqFiLW35kfbDZM7zE/5PgQ348/ThlJbilq+dAo=
=lI5F
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:38 +0100
3ba6707bc95239185a7033009d13e71d3f59111c.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +                             #t))))))

Phases do not need to return #f anymore.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrOdRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uqOAQCa5aDOBU1H42393+0AO+rNlyRA
duh+/Gw9cUY9Ibo+pgEAsG9ZqvMdrLYP8KjZSFbfSgNoN3+HdTo3gZqj7FeOfAg=
=Qtfo
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 23 Mar 08:40 +0100
3289a98e19739efe9de017714d6d9b4d8bbf3556.camel@telenet.be
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
Toggle quote (2 lines)
> +     (inputs `(("ncurses" ,ncurses)

If you do this, you'll have to add the native-search-paths of ncurses
to orca-lang, because of https://issues.guix.gnu.org/issue/22138.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjrO5hccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uN2AQDpqD6yy+wM+2YNDbeD8JOFclW1
4WYqcc+GiARQncaoxQD6Aq9CydCxE06zYxi7eZ3Sz3x1IUKP5H0AzYGFzKrL9w0=
=Wb5T
-----END PGP SIGNATURE-----


C
C
Christopher Rodriguez wrote on 23 Mar 15:45 +0100
[PATCH v3] Added orca-lang package
(address . 54529@debbugs.gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
20220323144547.23041-1-yewscion@gmail.com
---

Toggle quote (25 lines)
> This is broken when cross-compiling, try 'cc-for-target'.
> Additionally, 'outputs' and 'inputs' are unused here.

> Why?

> Why the capital letters? And why mention ‘Esoteric’ in the synopsis and
> description? Also, it is not actually a programming language, it is
> more an implementation of a language for producing music.

> This is not texinfo markup.

> Personally I'd go with "orca-music".

> I don't think that abbreviations are necessary here, these's enough
> space here.

> Spacing went wrong here, try running "./pre-inst-env guix style" on the
> package.

> This seems rather confusing naming. Libraries are put in [...]/lib,
> not [...]/share. Alsso, I think you could drop the 'dest-' prefix
> here.

> Phases do not need to return #f anymore.

All of the above were amended as written in this version of the patch.

Toggle quote (2 lines)
> Why are these phases deleted?

Went back and audited the phases I initially deleted; Two remain
deleted in this patch: configure, and check. This is due to the
package not using a configure script, nor having any 'check' defined
for make.

Toggle quote (2 lines)
> Why are these propagated?

I've propagated both alsa-plugins and alsa-plugins:pulseaudio because
this package using portmidi for midi output, and needs to load the
`libasound_module_conf_pulse.so` shared library to interface with MIDI
when using `pulseaudio`. Is there another way to do this without
propagating these?

Toggle quote (3 lines)
> Where does this revision come from? This is the first version of orca
> in Guix.

The revision was in my personal channel; I kept bumping the revision
number because I needed to recompile the package, and `guix build -f`
would assume the package was already compiled. I've reverted it to
revision 1.

Toggle quote (3 lines)
> "git" is not a version numberr, I suggest "0" instead.
> Also, why is a ‘random’ git commit used instead of an upstream version?

The upstream package at https://git.sr.ht/~rabbits/orcadoes not have
any tags, let alone version tags. And as near as I can tell, it does
not use semantic versioning at all. I used "git" because of my
experience with rpm packaging; I have changed this to 0 here, to align
with Guix conventions.

Toggle quote (2 lines)
> Is it agpl3-only or agpl3+?

It is actually expat; apparently I neglected to update this field when
defining this package. I have fixed this here.

Toggle quote (3 lines)
> If you do this, you'll have to add the native-search-paths of ncurses
> to orca-lang, because of https://issues.guix.gnu.org/issue/22138.

Discussed this with maximed on #guix. When I tried to apply
`(package-native-search-paths ncurses)` it introduced a bunch of
undefined variable errors. This may be due to cyclic imports; either
way, it seems to be an issue outside the scope of this package.

I've chosen to instead explicitly define the same native search path
(namely, for TERMINFO_DIRS) as ncurses in this package, to work around
this bug.

Here's the patch. Let me know what else can be improved.

Particularly, I am worried about the name of the binary. It is
currently installed as `orca`, which is (I believe) the same name
given to the binary for the orca screen reader.

Should I change this? And if so, how?

gnu/packages/music.scm | 57 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9c8203aa80..1240027050 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6879,3 +6879,60 @@ (define-public musikcube
 streaming audio server.")
     (home-page "https://musikcube.com/")
     (license license:bsd-3)))
+(define-public orca-music
+  (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f") (revision "1"))
+    (package
+      (name "orca-music")
+      ;; No upstream version numbers; Using commit instead.
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~rabbits/orca")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1mnhk68slc6g5y5348vj86pmnz90a385jxvm3463fic79k90gckd"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (delete 'configure) ;; No autoconf
+                    (delete 'check) ;; No make check
+                    (replace 'build
+                      (lambda* (#:key inputs outputs #:allow-other-keys)
+                        (setenv "CC"
+                                ,(cc-for-target))
+                        (invoke "make" "release")))
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let* ((out (assoc-ref outputs "out")) (dest-bin (string-append
+                                                                          out
+                                                                          "/bin"))
+                               (share (string-append out "/share"))
+                               (dest-examples (string-append share "/examples"))
+                               (dest-doc (string-append share "/doc")))
+                          (install-file "./build/orca" dest-bin)
+                          (copy-recursively "./examples" dest-examples)
+                          (install-file "./README.md" dest-doc)))))))
+      (inputs (list ncurses portmidi))
+      (native-inputs (list pkg-config))
+      ;; The below are needed as propagated inputs to let orca interact with
+      ;; alsa/pulse MIDI.
+      (propagated-inputs `(("alsa-plugins" ,alsa-plugins) ("alsa-plugins:pulseaudio" ,alsa-plugins
+                                                           "pulseaudio")))
+      (native-search-paths (list
+                             (search-path-specification
+                              (variable "TERMINFO_DIRS")
+                              (files '("share/terminfo")))))
+      (synopsis "musical live-coding environment")
+      (description
+       "This is the C implementation of the ORCΛ language and terminal
+livecoding environment. It's designed to be power efficient. It can handle
+large files, even if your terminal is small.
+
+Orca is not a synthesizer, but a flexible livecoding environment capable of
+sending MIDI, OSC, and UDP to your audio/visual interfaces like Ableton,
+Renoise, VCV Rack, or SuperCollider.")
+      (home-page "https://100r.co/site/orca.html")
+      (license license:expat))))
-- 
2.34.0
C
C
Christine Lemmer-Webber wrote on 25 Mar 22:55 +0100
(name . Christopher Rodriguez)(address . yewscion@gmail.com)
87zgldwvaw.fsf@dustycloud.org
First: this is awesome. Second...

Christopher Rodriguez <yewscion@gmail.com> writes:

Toggle quote (8 lines)
> Here's the patch. Let me know what else can be improved.
>
> Particularly, I am worried about the name of the binary. It is
> currently installed as `orca`, which is (I believe) the same name
> given to the binary for the orca screen reader.
>
> Should I change this? And if so, how?

I think you could probably just add a post-install phase that moves the
binary file in its output directory from "orca" to "orca-music"?

Why not give it a try anyway? :)

Toggle quote (68 lines)
> gnu/packages/music.scm | 57 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 57 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index 9c8203aa80..1240027050 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -6879,3 +6879,60 @@ (define-public musikcube
> streaming audio server.")
> (home-page "https://musikcube.com/")
> (license license:bsd-3)))
> +(define-public orca-music
> + (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f") (revision "1"))
> + (package
> + (name "orca-music")
> + ;; No upstream version numbers; Using commit instead.
> + (version (git-version "0" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.sr.ht/~rabbits/orca")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1mnhk68slc6g5y5348vj86pmnz90a385jxvm3463fic79k90gckd"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:phases (modify-phases %standard-phases
> + (delete 'configure) ;; No autoconf
> + (delete 'check) ;; No make check
> + (replace 'build
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (setenv "CC"
> + ,(cc-for-target))
> + (invoke "make" "release")))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out")) (dest-bin (string-append
> + out
> + "/bin"))
> + (share (string-append out "/share"))
> + (dest-examples (string-append share "/examples"))
> + (dest-doc (string-append share "/doc")))
> + (install-file "./build/orca" dest-bin)
> + (copy-recursively "./examples" dest-examples)
> + (install-file "./README.md" dest-doc)))))))
> + (inputs (list ncurses portmidi))
> + (native-inputs (list pkg-config))
> + ;; The below are needed as propagated inputs to let orca interact with
> + ;; alsa/pulse MIDI.
> + (propagated-inputs `(("alsa-plugins" ,alsa-plugins) ("alsa-plugins:pulseaudio" ,alsa-plugins
> + "pulseaudio")))
> + (native-search-paths (list
> + (search-path-specification
> + (variable "TERMINFO_DIRS")
> + (files '("share/terminfo")))))
> + (synopsis "musical live-coding environment")
> + (description
> + "This is the C implementation of the ORCΛ language and terminal
> +livecoding environment. It's designed to be power efficient. It can handle
> +large files, even if your terminal is small.
> +
> +Orca is not a synthesizer, but a flexible livecoding environment capable of
> +sending MIDI, OSC, and UDP to your audio/visual interfaces like Ableton,
> +Renoise, VCV Rack, or SuperCollider.")
> + (home-page "https://100r.co/site/orca.html")
> + (license license:expat))))
C
C
Christopher Rodriguez wrote on 29 Mar 20:51 +0200
[PATCH v4] Added orca-lang package
(address . 54529@debbugs.gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
20220329185109.4557-1-yewscion@gmail.com
---

Toggle quote (5 lines)
> I think you could probably just add a post-install phase that moves the
> binary file in its output directory from "orca" to "orca-music"?
>
> Why not give it a try anyway? :)

Done! I actually made it a post-build, because I was manually selecting the
files to install anyway.

Updated patch below. Should be ready for merge, aside from unmentioned issues
and/or the propagated inputs (if those must be fixed). If that's the case, let
me know.

Otherwise, I look forward to contributing my first (of hopefully many!) bits of
code to Guix! Thank You all for Your help!

gnu/packages/music.scm | 81 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)

Toggle diff (91 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9c8203aa80..04b3cd4b4b 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6879,3 +6879,84 @@ (define-public musikcube
 streaming audio server.")
     (home-page "https://musikcube.com/")
     (license license:bsd-3)))
+(define-public orca-music
+  (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f") (revision "1"))
+    (package
+      (name "orca-music")
+      ;; No upstream version numbers; Using commit instead.
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~rabbits/orca")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1mnhk68slc6g5y5348vj86pmnz90a385jxvm3463fic79k90gckd"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (delete 'configure) ;; No autoconf
+                    ;; (add-after 'wrap 'wrap-program
+                    ;;   (lambda* (#:key inputs outputs #:allow-other-keys)
+                    ;;     (let ((out (assoc-ref outputs "out"))
+                    ;;           (pulseaudio-plugins
+                    ;;            (assoc-ref inputs "alsa-plugins:pulseaudio")))
+                    ;;       (with-directory-excursion (string-append out "/bin")
+                    ;;         (for-each
+                    ;;          (lambda (binary)
+                    ;;            (wrap-program binary
+                    ;;              ;; Make QtWebEngineProcess available
+                    ;;              `("QTWEBENGINEPROCESS_PATH" ":" =
+                    ;;                ,(list (string-append
+                    ;;                        qtwebengine
+                    ;;                        "/lib/qt5/libexec/QtWebEngineProcess")))))
+                    ;;          ;; wrap all the binaries shipping with the package, except
+                    ;;          ;; for the wrappings created during the 'wrap standard phase.
+                    ;;          ;; This extends existing .calibre-real wrappers rather than
+                    ;;          ;; create ..calibre-real-real-s.
+                    ;;          ;; For more information see: https://issues.guix.gnu.org/43249
+                    ;;          (find-files "." (lambda (file stat)
+                    ;;                            (not (wrapper? file)))))))))                      
+                    (replace 'build
+                      (lambda* (#:key inputs outputs #:allow-other-keys)
+                        (setenv "CC"
+                                ,(cc-for-target))
+                        (invoke "make" "release")))
+                    (add-after 'build 'rename-orca
+                      (lambda* _
+                        (invoke "mv" "-v" "./build/orca" "./build/orca-music")))
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let* ((out (assoc-ref outputs "out")) (dest-bin (string-append
+                                                                          out
+                                                                          "/bin"))
+                               (share (string-append out "/share"))
+                               (dest-examples (string-append share "/examples"))
+                               (dest-doc (string-append share "/doc")))
+                          (install-file "./build/orca-music" dest-bin)
+                          (copy-recursively "./examples" dest-examples)
+                          (install-file "./README.md" dest-doc)))))))
+      (inputs (list ncurses portmidi alsa-plugins `(,alsa-plugins "pulseaudio")))
+      (native-inputs (list pkg-config))
+      ;; The below are needed as propagated inputs to let orca interact with
+      ;; alsa/pulse MIDI.
+      ;; (propagated-inputs `(("alsa-plugins" ,alsa-plugins) ("alsa-plugins:pulseaudio" ,alsa-plugins
+      ;;                                                      "pulseaudio")))
+      (native-search-paths (list
+                             (search-path-specification
+                              (variable "TERMINFO_DIRS")
+                              (files '("share/terminfo")))))
+      (synopsis "musical live-coding environment")
+      (description
+       "This is the C implementation of the ORCΛ language and terminal
+livecoding environment. It's designed to be power efficient. It can handle
+large files, even if your terminal is small.
+
+Orca is not a synthesizer, but a flexible livecoding environment capable of
+sending MIDI, OSC, and UDP to your audio/visual interfaces like Ableton,
+Renoise, VCV Rack, or SuperCollider.")
+      (home-page "https://100r.co/site/orca.html")
+      (license license:expat))))
-- 
2.34.0
C
C
Christopher Rodriguez wrote on 18 Apr 17:07 +0200
Checking In
(address . 54529@debbugs.gnu.org)
pkmp4eilr61dkz.fsf@crane.ant.amazon.com
Hello all,

Just want to confirm if this is waiting on me for anything. Trying to stay on
top of the issues I'm opening, as I'm planning to open more soon and don't want
to pollute the queue with a bunch of forgotten issues.

Is there anything else that needs done from my end concerning the above patch?

Thanks for Your time!

--

Christopher Rodriguez
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEJMQbvYVxvZ0eF/84XZ6FgaGVz3sFAmJdpfwACgkQXZ6FgaGV
z3sQaw/8C7I50HbHh69Y4rIR8Glrjeg9M7wiDQHM/eWwHK0Teb350ZcZzQZEIcAG
DDUtX0Fr+pK9J6gCGIb46blQNcDJM2jaA8ABk67bE1hw+GHFAWgJ5eIUmPZzfchg
7UwzEF8SXg3Z0cGvBbWcqHipWF0C3evZ8TbHT5YV7eucX/R1k2a8//bNWtQotOrg
A2Oeq2ANwx2sZVzC8ectrNQJ0hUkZg+w0EC7K4U8WiuPkaZufRrimxCmzQcTJN+S
tU2HT/+dg+A78anaVVy8F1lsErWXAs0VP/W1mz7uikhCC8SLQIWb2bF2G8Qb9YKS
x2xfUW/kVMdoCAnOagQlgL3JlO3mnrztyWwtKh6SqjmAW5bDHZ05MBWwtGxyg0mO
sxVGMmyevbT2AFGQMdisoFY0+oS1hmNX2F9P7Fb+3FlEONaQgjshu5JguSSJkeb7
oBKWefdSW4ezbakm1hH42HlBqiQ3vrsu0yzTpJ5N0TGoBoHaJ/PW1nMRwZeFgoid
XAgdrS3LuXZZJkO36GbEps1GZtXfP8tRwV/m5gtiwqh7Y+LRhMd0vwtvKo7R4DEL
/YcR8t5XDYaPwsklsIt5dCxugkUb4UchWazOH6HwEgj4iAZtbhIb19fTt1X8vfX0
LcAajLKL2Co95wlzyC1Iaz2R5xgneVw4+3ZIuv5iNsV2wI+Tiek=
=YpjD
-----END PGP SIGNATURE-----

C
C
Christine Lemmer-Webber wrote on 21 Apr 17:59 +0200
(name . Christopher Rodriguez)(address . yewscion@gmail.com)
87k0bi4eac.fsf@dustycloud.org
Christopher Rodriguez <yewscion@gmail.com> writes:

Toggle quote (11 lines)
> [[PGP Signed Part:Undecided]]
> Hello all,
>
> Just want to confirm if this is waiting on me for anything. Trying to stay on
> top of the issues I'm opening, as I'm planning to open more soon and don't want
> to pollute the queue with a bunch of forgotten issues.
>
> Is there anything else that needs done from my end concerning the above patch?
>
> Thanks for Your time!

I've been overwhelmed with other things, but I did try the patch out and
it did work great. Then I got overwhelmed again. ;P

I think I made a suggestion about the moving the binary name after
install bit. Did you / could you give that a try?
C
C
Christopher Rodriguez wrote on 22 Apr 03:20 +0200
(name . Christine Lemmer-Webber)(address . cwebber@dustycloud.org)
pkmp4eilr1q54z.fsf@crane.ant.amazon.com
Christine Lemmer-Webber <cwebber@dustycloud.org> writes:

Toggle quote (19 lines)
> Christopher Rodriguez <yewscion@gmail.com> writes:
>
>> [[PGP Signed Part:Undecided]]
>> Hello all,
>>
>> Just want to confirm if this is waiting on me for anything. Trying to stay on
>> top of the issues I'm opening, as I'm planning to open more soon and don't want
>> to pollute the queue with a bunch of forgotten issues.
>>
>> Is there anything else that needs done from my end concerning the above patch?
>>
>> Thanks for Your time!
>
> I've been overwhelmed with other things, but I did try the patch out and
> it did work great. Then I got overwhelmed again. ;P
>
> I think I made a suggestion about the moving the binary name after
> install bit. Did you / could you give that a try?

Hi Christine!

I did give it a try, and it worked! I actually decided to do it after
the build step, before the install.

The above patch should have the updated version, though I do notice now
(upon reading through it again) that it includes a rather large section
I had commented out during debugging.

I'll remove that and send a revised patch tonight; With the package name issue
out of the way I believe this /should/ be ready to merge.

--

Christopher Rodriguez
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEJMQbvYVxvZ0eF/84XZ6FgaGVz3sFAmJiBHwACgkQXZ6FgaGV
z3stTRAAhCTu34nJiAHLIdWfb4FJ+6L8zV64+TDs0Mf3W8jLlDbUcp+Qoh9BRM5v
EGmPSYknsHtl3SurjHxtGjJA6qVMEqe5uXG5LHDnc82Un1eXVaz0TkFGP0TlGNVU
aDYE//XmB+iwbdRjiLkDGFWTukT/z9sprwMVENV22MIRO6cwvtGlAQiIacso1b/2
S1FVyw4QO9RzrixsPSWAoi91yF09LX6kd5e47+551owA8cXDseqs73oRMvwrkxQK
GlTVNHCAjrD5ygYDWxMds+MA1GSb2I1P77ArDAPXAH6QZMK1qSzZs1Ut7osLQmZd
KHQ5UvfaFi++17zgQkORipjUff+pR4zkmkRCPTjtoL2wGV++snX2mh+H55IPoHWj
Zby0xrLLyId3PXr3k9+FGFJuSQ48rZKC6CFj4XgmmaQt0D/WJo81O0wgbpY2B2aC
ij4wuYe/R8t0Hzok4bsbo+GQODnrq8h1D5NMtTdyys46AFSc2wdh0gBgRnp/kjPb
iF8GS7qAul3wkFhqfHc4r0PcNbpZ7qz2kd1mRE16dps19bTkn9BnnhnMKHZEBR74
X7QZXht+XuEbZK/K4ZIKo1qqin81xqG8+c46BOgOsqXT3QPMi6rzm8v+fxN6feqD
4IeTADpOIRsJIPj5iCma/vFwNw74e4a4ka7dnXAB9VqFZZUJTgE=
=3qQC
-----END PGP SIGNATURE-----

C
C
Christine Lemmer-Webber wrote on 11 Jun 19:55 +0200
(name . Christopher Rodriguez)(address . yewscion@gmail.com)
87mtejf5hu.fsf@dustycloud.org
Hello! Checking in on this again. If you give an updated version of
the patch, it can be merged I think. With the commented out part, I'm
uncertain whether or not it was commented out because it's no longer
needed or because it was but you were debugging, based on what you've
said so that's the main concern I have.

Could you also use git format-patch for the next version you send?
That'll make it easy to apply!

Thanks! Sorry for the delays on this review cycle! It's busy here.
- Christine

Christopher Rodriguez <yewscion@gmail.com> writes:

Toggle quote (34 lines)
> [[PGP Signed Part:Undecided]]
>
> Christine Lemmer-Webber <cwebber@dustycloud.org> writes:
>
>> Christopher Rodriguez <yewscion@gmail.com> writes:
>>
>>> [[PGP Signed Part:Undecided]]
>>> Hello all,
>>>
>>> Just want to confirm if this is waiting on me for anything. Trying to stay on
>>> top of the issues I'm opening, as I'm planning to open more soon and don't want
>>> to pollute the queue with a bunch of forgotten issues.
>>>
>>> Is there anything else that needs done from my end concerning the above patch?
>>>
>>> Thanks for Your time!
>>
>> I've been overwhelmed with other things, but I did try the patch out and
>> it did work great. Then I got overwhelmed again. ;P
>>
>> I think I made a suggestion about the moving the binary name after
>> install bit. Did you / could you give that a try?
>
> Hi Christine!
>
> I did give it a try, and it worked! I actually decided to do it after
> the build step, before the install.
>
> The above patch should have the updated version, though I do notice now
> (upon reading through it again) that it includes a rather large section
> I had commented out during debugging.
>
> I'll remove that and send a revised patch tonight; With the package name issue
> out of the way I believe this /should/ be ready to merge.
C
C
Christopher Rodriguez wrote on 12 Jun 20:35 +0200
(name . Christine Lemmer-Webber)(address . cwebber@dustycloud.org)
pkmp4eo7yxg20g.fsf@crane.ant.amazon.com
Christine Lemmer-Webber <cwebber@dustycloud.org> writes:

Toggle quote (2 lines)
> Hello! Checking in on this again.

Hi Christine!

Toggle quote (6 lines)
> If you give an updated version of the patch, it can be merged I think.
> With the commented out part, I'm uncertain whether or not it was
> commented out because it's no longer needed or because it was but you
> were debugging, based on what you've said so that's the main concern I
> have.

I will rebase the patch on a new pull of guix from git, clean it up, and
send it here within the next hour or so. That way, I'll be sure that it
still works with all of the changes since then and now.

Toggle quote (3 lines)
> Could you also use git format-patch for the next version you send?
> That'll make it easy to apply!

Between my last comment and now I've become used to the `git send-email`
style workflow. Is that what You are asking for? If not, let me know and
I will send a patch in the preferred format ASAP.

Toggle quote (2 lines)
> Thanks! Sorry for the delays on this review cycle! It's busy here.

No worries! Frankly, looking at the number and depth of the commits that
GNU Guix gets on a daily basis, I'm very impressed with the speed with
which our maintainers work! Thank You all for Your efforts; they are
very appreciated!

Toggle quote (2 lines)
> - Christine

--

Christopher Rodriguez
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEJMQbvYVxvZ0eF/84XZ6FgaGVz3sFAmKmMs8ACgkQXZ6FgaGV
z3vuew/+LvOvl/iJxnI0fdgA5rUKU7BXLJogEcxibep+OyszhagDQXeB4+7kg3Cu
8fWkfIma/igvVr622e+ZJHEQvZX+PJtGvhzCTCn/cFr3Ph/1L8YdYgyC04sQnK8l
Qkjv/nMyJoiY4QsiILLQhDxyCLpmFoogeZlzgAGK7mrzQmSEZm2xRKC7CJckEmyW
/RMRK0XUnRqCKiJl1WhqgLzyRCdb8mzUtj/+6goZDDYGIVAmkLOR/koVxa5i6mQL
8RcHaG/VT0fvLIen76Fy0gvTM6MKzVaPdQOt/S9VtWFSTfVGi3Dkc9Q23VTrFh2Z
cXqL/9DrrMu1Jg3WCbx+pqpZ0WMFzX8R/aOpp+zRO+6CQOjDrdqywXS3Y4n+X3Qa
XAdgEBQSC81LCd2rUa+UgEpKFE8z4tTA7erileI1o9GjYrJbT6zo+JfEUnHv4bhV
maErd7MNtECXsNi7PiPQcdgAIvNw900P/742bimCC2ta0GADwD9ZTnWkxZCopLxO
kZSDzkSVoF+HvNWVeqZ8lM0RJhOP6suo9mEsi3o6jxbz5/R+2BcoKvE0qUJz8hn6
CYlv/ZvXMDJCQPRj+V7SzZgi6Fg5pJzgtWSaAKl3eSjtO6pRmq2UFbkMxUKXBJMZ
YDXjPPbaut4GTSGnuyMqXObtvBquS+kjUYaJGolOO0/89Sl8QKo=
=P5/b
-----END PGP SIGNATURE-----

C
C
Christine Lemmer-Webber wrote on 13 Jun 04:38 +0200
(name . Christopher Rodriguez)(address . yewscion@gmail.com)
8735g9e16x.fsf@dustycloud.org
Christopher Rodriguez <yewscion@gmail.com> writes:

Toggle quote (18 lines)
> [[PGP Signed Part:Undecided]]
>
> Christine Lemmer-Webber <cwebber@dustycloud.org> writes:
>
>> Hello! Checking in on this again.
>
> Hi Christine!
>
>> If you give an updated version of the patch, it can be merged I think.
>> With the commented out part, I'm uncertain whether or not it was
>> commented out because it's no longer needed or because it was but you
>> were debugging, based on what you've said so that's the main concern I
>> have.
>
> I will rebase the patch on a new pull of guix from git, clean it up, and
> send it here within the next hour or so. That way, I'll be sure that it
> still works with all of the changes since then and now.

Awesome!

Toggle quote (7 lines)
>> Could you also use git format-patch for the next version you send?
>> That'll make it easy to apply!
>
> Between my last comment and now I've become used to the `git send-email`
> style workflow. Is that what You are asking for? If not, let me know and
> I will send a patch in the preferred format ASAP.

Yep, that's what i mean :)

Toggle quote (9 lines)
>> Thanks! Sorry for the delays on this review cycle! It's busy here.
>
> No worries! Frankly, looking at the number and depth of the commits that
> GNU Guix gets on a daily basis, I'm very impressed with the speed with
> which our maintainers work! Thank You all for Your efforts; they are
> very appreciated!
>
>> - Christine

I'm not a maintainer, and not nearly often enough a reviewer (or
contributor), but I agree :)
C
C
Christopher Rodriguez wrote on 13 Jun 04:48 +0200
[PATCH v5] Added orca-music package.
(address . 54529@debbugs.gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
20220613024805.11068-1-yewscion@gmail.com
[Ticket: 54529]
---
gnu/packages/music.scm | 58 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 1c34ae621c..765e8440df 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6770,3 +6770,61 @@ (define-public quodlibet
 a tag editor, which can also be invoked as a standalone program, and further
 supports streaming audio and feeds (such as podcasts).")
     (license license:gpl2+)))
+
+(define-public orca-music
+  (let ((commit "e55b8fdc3606341345938d5b24b2d9d9326afdb5") (revision "1"))
+    (package
+      (name "orca-music")
+      ;; No upstream version numbers; Using commit instead.
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~rabbits/orca")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0xf5i9vd2wyrhvfp68j5gvd40iqm9rf6g1p74jan7d875g6kpppq"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure) ;No autoconf
+           (replace 'build
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (setenv "CC"
+                       ,(cc-for-target))
+               (invoke "make" "release")))
+           (add-after 'build 'rename-orca
+             (lambda* _
+               (invoke "mv" "-v" "./build/orca" "./build/orca-music")))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out")) (dest-bin (string-append
+                                                                 out "/bin"))
+                      (share (string-append out "/share"))
+                      (dest-examples (string-append share "/examples"))
+                      (dest-doc (string-append share "/doc")))
+                 (install-file "./build/orca-music" dest-bin)
+                 (copy-recursively "./examples" dest-examples)
+                 (install-file "./README.md" dest-doc)))))))
+      (inputs (list ncurses portmidi alsa-plugins
+                    `(,alsa-plugins "pulseaudio")))
+      (native-inputs (list pkg-config))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "TERMINFO_DIRS")
+              (files '("share/terminfo")))))
+      (synopsis "Musical live-coding environment")
+      (description
+       "This is the C implementation of the ORCΛ language and terminal
+livecoding environment.  It's designed to be power efficient.  It can handle
+large files, even if your terminal is small.
+
+Orca is not a synthesizer, but a flexible livecoding environment capable of
+sending MIDI, OSC, and UDP to your audio/visual interfaces like Ableton,
+Renoise, VCV Rack, or SuperCollider.")
+      (home-page "https://100r.co/site/orca.html")
+      (license license:expat))))

base-commit: d4482e9a9ebe61197a0756ce9048fcb895e6f552
-- 
2.36.1
?