Package: guix-patches;
Reported by: Christopher Rodriguez <yewscion <at> gmail.com>
Date: Tue, 22 Mar 2022 22:47:01 UTC
Severity: normal
Tags: patch
Done: Christine Lemmer-Webber <cwebber <at> dustycloud.org>
Bug is archived. No further changes may be made.
Message #68 received at 54529 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Rodriguez <yewscion <at> gmail.com> To: 54529 <at> debbugs.gnu.org Cc: Christopher Rodriguez <yewscion <at> gmail.com> Subject: [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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.