Message ID | 20220323023029.7747-1-yewscion@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#54529,v2] Added orca-lang package | expand |
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (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.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + `(#:tests? > + #f Why?
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (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?
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (inputs `(("ncurses" ,ncurses) > + ("portmidi" ,portmidi))) Preferably use the new inputs style: (inputs (list ncurses portmidi)).
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (propagated-inputs `(("alsa-plugins" ,alsa-plugins) > + ("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio"))) Why are these propagated?
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> + (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.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> *bang*
This is not texinfo markup.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> +(define-public orca-lang
Personally I'd go with "orca-music".
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (let ((commit "5ba56ca67baae3db140f8b7a2b2fc46bbac5602f") > + (revision "5")) Where does this revision come from? This is the first version of orca in Guix.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> + (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.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (dest-exa > + (string-append dest-lib "/examples")) I don't think that abbreviations are necessary here, these's enough space here.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) Spacing went wrong here, try running "./pre-inst-env guix style" on the package.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> + (license license:agpl3))))
Is it agpl3-only or agpl3+?
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]: > + (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.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> + #t))))))
Phases do not need to return #f anymore.
Christopher Rodriguez schreef op di 22-03-2022 om 22:30 [-0400]:
> + (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.
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))))