[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54529] [PATCH v4] Added orca-lang package
From: |
Christopher Rodriguez |
Subject: |
[bug#54529] [PATCH v4] Added orca-lang package |
Date: |
Tue, 29 Mar 2022 14:51:10 -0400 |
---
> 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(+)
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
- [bug#54529] [PATCH v2] Added orca-lang package, (continued)
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v2] Added orca-lang package, Maxime Devos, 2022/03/23
- [bug#54529] [PATCH v3] Added orca-lang package, Christopher Rodriguez, 2022/03/23
- [bug#54529] [PATCH v4] Added orca-lang package,
Christopher Rodriguez <=