diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 151 |
1 files changed, 116 insertions, 35 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index daefbc57fa..824b03dc0c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 nee <nee.git@hidamari.blue> ;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,10 +42,12 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system ant) #:use-module (guix build-system cmake) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system scons) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages apr) @@ -554,14 +557,14 @@ MusePack, Monkey's Audio, and WavPack files.") (name "extempore") (version "0.7.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/digego/extempore/archive/" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/digego/extempore.git") + (commit version))) (sha256 (base32 - "1wap1mvsicrhlazikf7l8zxg37fir8bmnh9rin28m1rix730vcch")) - (file-name (string-append name "-" version ".tar.gz")))) + "12fsp7zkfxb9kykwq46l88kcbbici9arczrrsl4qn87m6vm5349l")) + (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments `(;; The default target also includes ahead-of-time compilation of the @@ -918,8 +921,8 @@ Guile.") (define-public non-sequencer ;; The latest tagged release is three years old and uses a custom build ;; system, so we take the last commit. - (let ((commit "10c31e57291b6e42be53371567a722b62b32d220") - (revision "3")) + (let ((commit "5ae43bb27c42387052a73e5ffc5d33efb9d946a9") + (revision "4")) (package (name "non-sequencer") (version (string-append "1.9.5-" revision "." (string-take commit 7))) @@ -930,7 +933,7 @@ Guile.") (commit commit))) (sha256 (base32 - "080rha4ffp7qycyg1mqcf4vj0s7z8qfvz6bxm0w29xgg2kkmb3fx")) + "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx")) (file-name (string-append name "-" version "-checkout")))) (build-system waf-build-system) (arguments @@ -3196,7 +3199,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") (origin (method git-fetch) (uri (git-reference - (url "http://git.drobilla.net/ingen.git") + (url "https://git.drobilla.net/ingen.git") (commit commit))) (file-name (string-append name "-" version "-checkout")) (sha256 @@ -3257,7 +3260,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") (native-inputs `(("pkg-config" ,pkg-config) ("python-pygments" ,python-pygments))) - (home-page "http://drobilla.net/software/ingen") + (home-page "https://drobilla.net/software/ingen") (synopsis "Modular audio processing system") (description "Ingen is a modular audio processing system for JACK and LV2 based systems. Ingen is built around LV2 technology and a strict @@ -3781,32 +3784,43 @@ notation and includes basic support for digital audio.") (license license:gpl2))) (define-public patchmatrix - (package - (name "patchmatrix") - (version "0.12.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/OpenMusicKontrollers/patchmatrix.git") - (commit version))) - (file-name (string-append "patchmatrix-" version "-checkout")) - (sha256 - (base32 - "19ivp7h5vq6r1qhmycjxzvrgg7fc4a3v5vb3n4c7afs4z3pj53zi")))) - (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; no test target - (inputs - `(("jack" ,jack-1) - ("lv2" ,lv2) - ("mesa" ,mesa))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://github.com/OpenMusicKontrollers/patchmatrix") - (synopsis "Simple JACK patch bay") - (description "PatchMatrix is a patch bay for the JACK audio connection + ;; There have been no releases for more than a year. + (let ((commit "a0b0b1e791f4574d5abd059cfe1819c71e8b18d5") + (revision "1")) + (package + (name "patchmatrix") + (version (git-version "0.12.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenMusicKontrollers/patchmatrix.git") + (commit commit))) + (file-name (string-append "patchmatrix-" version "-checkout")) + (sha256 + (base32 + "0pph4ra7aci3rbpqvvr564pi16vxrk448bmvp8985cd9lbjlrp3m")))) + (build-system meson-build-system) + (arguments + '(#:tests? #f ; no test target + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map make-file-writable + (find-files (assoc-ref outputs "out") ".*\\.gz$")) + #t))))) + (inputs + `(("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/OpenMusicKontrollers/patchmatrix") + (synopsis "Simple JACK patch bay") + (description "PatchMatrix is a patch bay for the JACK audio connection kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and OSC connections.") - (license license:artistic2.0))) + (license license:artistic2.0)))) (define-public sorcer (package @@ -4004,3 +4018,70 @@ ISRCs and the MCN (=UPC/EAN) from disc.") mb_client, is a development library geared towards developers who wish to add MusicBrainz lookup capabilities to their applications.") (license license:lgpl2.1+))) + +(define-public clyrics + (package + (name "clyrics") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/trizen/clyrics/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1l0cg26afnjv8cgk0jbiavbyvq55q1djyigzmi526rpcjjwq9jwn")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system trivial-build-system) + (native-inputs `(("tar" ,tar) + ("gzip" ,gzip))) + (inputs + `(("bash" ,bash) ;for the wrapped program + ("perl" ,perl) + ("perl-www-mechanize" ,perl-www-mechanize) + ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ;; Required or else LWP will fail with "GET https://www.google.com/ ==> + ;; 500 Can't verify SSL peers without knowing which Certificate + ;; Authorities to trust". + ("perl-mozilla-ca" ,perl-mozilla-ca))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils) + (ice-9 match) + (srfi srfi-26)) + (let* ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar")) + (gzip (assoc-ref %build-inputs "gzip")) + (output (assoc-ref %outputs "out"))) + (setenv "PATH" + (string-append + (assoc-ref %build-inputs "gzip") "/bin" ":" + (assoc-ref %build-inputs "bash") "/bin" ":" + (assoc-ref %build-inputs "perl") "/bin" ":")) + (invoke (string-append tar "/bin/tar") "xvf" + source) + (chdir ,(string-append "clyrics-" version)) + (patch-shebang "clyrics") + (substitute* "clyrics" + (("/usr/share") output)) + (install-file "clyrics" (string-append output "/bin")) + (wrap-program (string-append output "/bin/clyrics") + `("PERL5LIB" ":" = + ,(delete + "" + (map (match-lambda + (((? (cut string-prefix? "perl-" <>) name) . dir) + (string-append dir "/lib/perl5/site_perl")) + (_ "")) + %build-inputs)))) + (copy-recursively "plugins" (string-append output "/clyrics")) + #t)))) + (home-page "https://github.com/trizen/clyrics") + (synopsis "Extensible lyrics fetcher") + (description + "Clyrics is an extensible command-line tool to fetch the lyrics of songs. +It can be used in daemon mode along with the Music-on-Console (MOC) and cmus +console music players.") + (license license:gpl3+))) |