Subject: Re: [bug#54529] [PATCH v5] Added orca-music package.

From: Christine Lemmer-Webber <[email-masked]>
Date: Sun, 26 Jun 2022 15:43:14 -0400

Cool, I pushed it upstream.

This last version was good, the only thing missing which would be good
in future versions is that it would be good to include the Guix-style
(ie, changelog entry type) commit message within the email you send... I
filled it in, but it looks like so:

> gnu: Add orca-music.
> 
> * gnu/packages/music.scm (orca-music): New variable.

With that, it's good enough to push, so I did!  Congrats and thanks,
I look forward to playing with this myself in my (ha ha) downtime
(ha ha ha ha). :)

 - Christine

Christopher Rodriguez <[email-masked]> writes:

> [Ticket: 54529]
> ---
>  gnu/packages/music.scm | 58 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>
> 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