From a21583de5452d11f1446c44fbb8bf8c1d28bfee2 Mon Sep 17 00:00:00 2001 From: Christopher Rodriguez Date: Sun, 12 Jun 2022 22:48:05 -0400 Subject: gnu: Add orca-music. * gnu/packages/music.scm (orca-music): New variable. --- gnu/packages/music.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 60cb176320..ce0fb2d500 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6769,3 +6769,61 @@ local music library, along with flexible search capabilities. It includes 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)))) -- cgit v1.2.1