diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 303 |
1 files changed, 160 insertions, 143 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index ac2ed81895..e16e64af73 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -284,7 +285,7 @@ score, keyboard, guitar, drum and controller views.") ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras) - ("sqlite" ,sqlite) + ("sqlite" ,sqlite-with-column-metadata) ("sparsehash" ,sparsehash) ("taglib" ,taglib))) (home-page "http://clementine-player.org") @@ -309,29 +310,27 @@ playing your music.") (name "cmus") (version "2.7.1") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/" name "/" name "/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cmus/cmus.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1")))) + "0xd96py21bl869qlv1353zw7xsgq6v5s8szr0ldr63zj5fgc2ps5")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; cmus does not include tests #:phases (modify-phases %standard-phases - (replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - - ;; It's an idiosyncratic configure script that doesn't - ;; understand --prefix=..; it wants prefix=.. instead. - (zero? - (system* "./configure" - (string-append "prefix=" out))))))))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; It's an idiosyncratic configure script that doesn't + ;; understand --prefix=..; it wants prefix=.. instead. + (invoke "./configure" + (string-append "prefix=" out)) + #t)))))) ;; TODO: cmus optionally supports the following formats, which haven't yet ;; been added to Guix: ;; @@ -889,9 +888,10 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro #t)) (add-after 'install 'install-info (lambda _ - (zero? (system* "make" - "-j" (number->string (parallel-job-count)) - "conf=www" "install-info"))))))) + (invoke "make" + "-j" (number->string (parallel-job-count)) + "conf=www" "install-info") + #t))))) (inputs `(("guile" ,guile-1.8) ("font-dejavu" ,font-dejavu) @@ -1144,14 +1144,14 @@ your own lessons.") (name "powertabeditor") (version "2.0.0-alpha10") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/powertab/powertabeditor/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/powertab/powertabeditor.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1fr14ql0yhlqvh6y08yaanszm2nvca5i50rqym396kfvga3ky18x")) + "1z4fhdp71ck9synr12rg1p6365xnypd8ih40c5icj4si36khvksk")) (modules '((guix build utils))) (snippet '(begin @@ -1185,14 +1185,14 @@ add_library( rapidjson INTERFACE IMPORTED )")) (modify-phases %standard-phases (replace 'check (lambda _ - (zero? (system* "bin/pte_tests" - ;; FIXME: these tests fail - "exclude:Actions/EditStaff" - "exclude:Formats/PowerTabOldImport/MergeMultiBarRests" - "exclude:Score/ViewFilter/FilterRule" - "exclude:Score/ViewFilter/ViewFilter" - "exclude:Formats/PowerTabOldImport/Directions" - )))) + (invoke "bin/pte_tests" + ;; FIXME: these tests fail + "exclude:Actions/EditStaff" + "exclude:Formats/PowerTabOldImport/MergeMultiBarRests" + "exclude:Score/ViewFilter/FilterRule" + "exclude:Score/ViewFilter/ViewFilter" + "exclude:Formats/PowerTabOldImport/Directions") + #t)) ;; FIXME: This bug has been fixed upstream, but no release has been ;; made yet. See https://github.com/powertab/powertabeditor/issues/257 (add-after 'unpack 'fix-boost-bug @@ -1257,12 +1257,14 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.") (name "jalv-select") (version "0.8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/jalv_select/" - "archive/V" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/jalv_select.git") + (commit (string-append "V" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0zraagwr681b5s3qifxf399c7q93jz23c8sr42gmff9zqnvxc75q")))) + "0gqh768sbvn9ffyx1vqg9i57py9x9v4l65bk6wjsvgga4d7m83k1")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1277,6 +1279,13 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.") (string-append "ls -1 " (assoc-ref inputs "jalv") "/bin"))) (substitute* "jalv.select.h" (("gtkmm.h") "gtkmm-2.4/gtkmm.h")) + #t)) + (add-before 'reset-gzip-timestamps 'make-manpages-writable + (lambda* (#:key outputs #:allow-other-keys) + (for-each make-file-writable + (find-files (string-append (assoc-ref outputs "out") + "/share/man") + ".*\\.gz$")) #t))))) (inputs `(("lilv" ,lilv) @@ -1751,9 +1760,7 @@ export.") (lambda _ (substitute* "tcl/pd-gui.tcl" (("exec wish ") (string-append "exec " (which "wish8.6") " "))) - #t)) - (add-after 'unpack 'autoconf - (lambda _ (zero? (system* "bash" "./autogen.sh"))))))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1861,13 +1868,14 @@ using a system-independent interface.") (name "portmidi-for-extempore") (version "217") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/extemporelang/portmidi/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/portmidi.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0gjikwciyr8kk4y3qiv1pcq58xpgw38ql1m2gs6g0qc1s8sx4235")))) + "1inriyrjf7xx2b7r54x0vmf9ngyqgr7g5060c22bwkbsgg53apzv")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests (native-inputs '()) @@ -2239,14 +2247,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr")))) + "1010gvkzdzdk39g1g6wx2j19ls0kdl6l9q51xzk2qik7h2fwxl71")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -2278,59 +2286,66 @@ follows a traditional multi-track tape recorder control paradigm.") (license license:gpl2+))) (define-public ams-lv2 - (package - (name "ams-lv2") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/blablack/ams-lv2/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1xacxyzqcj83g9c1gwfn36gg1c6yi15v7km4vidfidrjzb4x27fq")))) - (build-system waf-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-sse-flags - (lambda* (#:key system #:allow-other-keys) - (when (not (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system))) - (substitute* "wscript" - (("'-msse', '-mfpmath=sse', ") "")) - #t)))) - #:tests? #f)) ; no tests - (inputs - `(("lv2" ,lv2) - ("lvtk" ,lvtk) - ("gtkmm" ,gtkmm-2) - ("gtk" ,gtk+-2) - ("cairo" ,cairo) - ("fftw" ,fftw))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://objectivewave.wordpress.com/ams-lv2/") - (synopsis "Port of Alsa Modular Synth internal modules into LV2") - (description "This set of LV2 plugins is a port of the internal modules + ;; Version 1.2.1 built with Python 3.7 raises an error in the waf-script. + ;; Therefore, we take two more commmits than 1.2.1 that introduce an updated + ;; waf-script and fix one error. + (let ((commit "377d166db54a787b48979171c5652d2eb4f1bbb5") + (revision "1")) + (package + (name "ams-lv2") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/blablack/ams-lv2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ndgxcxjxwidg7436k0nb5clxkyi878k1j999sbbd1gk2fm0kcqm")))) + (build-system waf-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-sse-flags + (lambda* (#:key system #:allow-other-keys) + (unless (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + (substitute* "wscript" + (("'-msse', '-mfpmath=sse', ") ""))) + #t))) + #:tests? #f)) ; no tests + (inputs + `(("lv2" ,lv2) + ("lvtk" ,lvtk) + ("gtkmm" ,gtkmm-2) + ("gtk" ,gtk+-2) + ("cairo" ,cairo) + ("fftw" ,fftw))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://objectivewave.wordpress.com/ams-lv2/") + (synopsis "Port of Alsa Modular Synth internal modules into LV2") + (description "This set of LV2 plugins is a port of the internal modules found in Alsa Modular Synth. These plugins are used to create modular synthesizers and contain: VCO, VCF, VCA, LFO, slew limiter, envelopes, sample and hold, etc.") - (license license:gpl2))) + (license license:gpl2)))) (define-public gxtuner (package (name "gxtuner") (version "2.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/brummer10/gxtuner/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/brummer10/gxtuner.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1hn5qjac7qd00v0sp7ijhhc3sb26ks9bni06nngivva21h61xrjr")))) + "1fxd2akan2njlr7fpkh84830783qhh1gg7yakswqk5dd466dcn96")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -2436,13 +2451,14 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (name "pianobar") (version "2016.06.02") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/PromyLOPh/" - name "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/PromyLOPh/pianobar.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1hi5rr6jcr0kwf4xfz007ndwkjkp287lhwlsgfz6iryqa5n6jzcp")))) + "058fbdxp7n35hxwy3b8slfy4pb4n63cb173vfmywqa06wh1dv6f6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -2672,13 +2688,14 @@ Songs can be searched by artist, name or even by a part of the song text.") (define-public beets (package (name "beets") - (version "1.4.6") + (version "1.4.7") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) + (patches (search-patches "beets-python-3.7-fix.patch")) (sha256 (base32 - "0l2vfrknwcsm6bn83m7476qrz45qwgxcb5k0h7kn96kr70irn1v2")))) + "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs")))) (build-system python-build-system) (arguments `(#:phases @@ -2687,6 +2704,12 @@ Songs can be searched by artist, name or even by a part of the song text.") (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) + (add-after 'unpack 'make-python3.7-compatible + (lambda _ + ;; See <https://github.com/beetbox/beets/issues/2978>. + (substitute* "beets/autotag/hooks.py" + (("re\\._pattern_type") "re.Pattern")) + #t)) (replace 'check (lambda _ (invoke "nosetests" "-v")))))) @@ -2723,14 +2746,14 @@ of tools for manipulating and accessing your music.") (name "milkytracker") (version "1.02.00") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/milkytracker/" - "MilkyTracker/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/milkytracker/MilkyTracker.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "08v0l4ipvvwkwv4ywkc6c8a6xnpkyb02anj36w8q6gikxrs6xjvb")) + "05a6d7l98k9i82dwrgi855dnccm3f2lkb144gi244vhk1156n0ca")) (modules '((guix build utils))) ;; Remove non-FSDG compliant sample songs. (snippet @@ -2763,16 +2786,16 @@ for improved Amiga ProTracker 2/3 compatibility.") (define-public schismtracker (package (name "schismtracker") - (version "20180513") + (version "20180810") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/" name "/" name "/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/schismtracker/schismtracker.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1yjfd02arb51n0vyv11qgpn6imh7hcqnc3953cbvgwb4cnrswk9f")) + "0cwp5fna14hjrlf652l96ja5cjq63is3cwg6pp4wbpx43mb7qb2d")) (modules '((guix build utils))) (snippet ;; Remove use of __DATE__ and __TIME__ for reproducibility. @@ -2785,8 +2808,6 @@ for improved Amiga ProTracker 2/3 compatibility.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autoconf - (lambda _ (invoke "autoreconf" "-vfi"))) (add-before 'configure 'link-libm (lambda _ (setenv "LIBS" "-lm") #t))))) (native-inputs @@ -3284,7 +3305,8 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") "1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no "check" target + `(#:python ,python-2 + #:tests? #f ; no "check" target #:configure-flags (list "--no-webkit") #:phases (modify-phases %standard-phases @@ -3524,13 +3546,14 @@ are a C compiler and glib. Full API documentation and examples are included.") (version "1.1.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/LMMS/lmms/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/LMMS/lmms.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr")))) + "03hhymc6d73fa3wbcqb7rm1l03zkw605k5i9kvkvjmv488bqh3pd")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests @@ -3919,9 +3942,9 @@ OSC connections.") (lambda* (#:key inputs #:allow-other-keys) (with-directory-excursion "faust" (delete-file "main.cpp") - (zero? (system* "faust" "-i" - "-a" "lv2synth.cpp" - "-o" "main.cpp" "main.dsp")))))))) + (invoke "faust" "-i" + "-a" "lv2synth.cpp" + "-o" "main.cpp" "main.dsp"))))))) (inputs `(("boost" ,boost) ("lv2" ,lv2) @@ -4071,14 +4094,15 @@ ISRCs and the MCN (=UPC/EAN) from disc.") (base32 "0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7")))) (build-system cmake-build-system) - (arguments `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (and - ;; requires network connections - ;; (zero? (system* "tests/mbtest")) - (zero? (system* "tests/ctest")))))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; requires network connections + ;; (invoke "tests/mbtest") + (invoke "tests/ctest") + #t))))) (inputs `(("neon" ,neon) ("libxml2" ,libxml2))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -4146,17 +4170,15 @@ at @code{musicbrainz.org}.") (version "0.10") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/trizen/clyrics/archive/" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/trizen/clyrics.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l0cg26afnjv8cgk0jbiavbyvq55q1djyigzmi526rpcjjwq9jwn")) - (file-name (string-append name "-" version ".tar.gz")))) + "1qvj4dyipkkdccx5hci4z0q23i54ldk6hh7x5m35a7f70rrj6fbk")))) (build-system trivial-build-system) - (native-inputs `(("tar" ,tar) - ("gzip" ,gzip))) (inputs `(("bash" ,bash) ;for the wrapped program ("perl" ,perl) @@ -4173,17 +4195,12 @@ at @code{musicbrainz.org}.") (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)) + (copy-recursively source (getcwd)) (patch-shebang "clyrics") (substitute* "clyrics" (("/usr/share") output)) |