summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-12-11 22:18:05 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-12-11 22:18:05 +0100
commitb03e4fd5269897448124a7b61a737802b2c638ee (patch)
treee4eaab1d3076e335c57eea462ff7fda7919f0831 /gnu/packages/music.scm
parentda3c6a7f19ef1243af725f63c16c8fd92fde33b4 (diff)
parent99aad42138e0895df51e64e1261984f277952516 (diff)
downloadguix-b03e4fd5269897448124a7b61a737802b2c638ee.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm303
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))