gnu: python-pandas: Fix build on 32-bit.
[jackhill/guix/guix.git] / gnu / packages / mp3.scm
index 5dec2a8..78c2b2f 100644 (file)
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
@@ -37,6 +39,7 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages linux)               ;alsa-lib
+  #:use-module (gnu packages video)               ;ffmpeg
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
             (sha256
              (base32
               "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
-            (patches (map search-patch '("libmad-armv7-thumb-pt1.patch"
-                                         "libmad-armv7-thumb-pt2.patch"
-                                         "libmad-frame-length.patch"
-                                         "libmad-mips-newgcc.patch")))))
+            (patches (search-patches "libmad-armv7-thumb-pt1.patch"
+                                     "libmad-armv7-thumb-pt2.patch"
+                                     "libmad-frame-length.patch"
+                                     "libmad-mips-newgcc.patch"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
@@ -107,11 +110,11 @@ versions of ID3v2.")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://sourceforge/id3lib/id3lib/"
-                                version "/id3lib-"
-                                version ".tar.gz"))
+                                version "/id3lib-" version ".tar.gz"))
             (sha256
              (base32
-              "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))))
+              "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))
+            (patches (search-patches "id3lib-CVE-2007-4460.patch"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
@@ -142,14 +145,14 @@ a highly stable and efficient implementation.")
 (define-public taglib
   (package
     (name "taglib")
-    (version "1.9.1")
+    (version "1.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://taglib.github.io/releases/taglib-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj"))))
+                "1alv6vp72p0x9i9yscmz2a71anjwqy53y9pbcbqxvc1c0i82vhr4"))))
     (build-system cmake-build-system)
     (arguments '(#:tests? #f))                    ;no 'test' target
     (inputs `(("zlib" ,zlib)))
@@ -227,7 +230,7 @@ pre-defined or user-specifiable output format.")
 (define-public libmp3splt
   (package
    (name "libmp3splt")
-   (version "0.8.1a")
+   (version "0.9.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/"
@@ -235,7 +238,7 @@ pre-defined or user-specifiable output format.")
                                 version ".tar.gz"))
             (sha256
              (base32
-              "0d20r1bd4fgp9kp7w3qixjgll34czck9dgw59mx2kbhb0mhh00d8"))))
+              "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih"))))
    (build-system gnu-build-system)
    (inputs `(("libid3tag" ,libid3tag)
              ("libmad" ,libmad)
@@ -260,7 +263,7 @@ This package contains the library.")
 (define-public mp3splt
   (package
    (name "mp3splt")
-   (version "2.5.1")
+   (version "2.6.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/"
@@ -268,8 +271,9 @@ This package contains the library.")
                                 version ".tar.gz"))
             (sha256
              (base32
-              "106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh"))))
+              "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"))))
    (build-system gnu-build-system)
+   (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("libmp3splt" ,libmp3splt)))
    (synopsis "Utility for splitting mp3 and ogg vorbis files")
    (description
@@ -286,14 +290,14 @@ This package contains the binary.")
 (define-public mpg123
   (package
     (name "mpg123")
-    (version "1.22.4")
+    (version "1.23.8")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://sourceforge/mpg123/mpg123-"
-                                  version ".tar.bz2"))
+              (uri (string-append "mirror://sourceforge/mpg123/mpg123/" version
+                                  "/mpg123-" version ".tar.bz2"))
               (sha256
                (base32
-                "1lj0xv0b6sgqsbhx10dg60cnzgz98i76gxy51kqh11hka0pf0sah"))))
+                "13ngfzk84k4ks7ymanmq8f6707yrybra5h0mk3ir6mdnxk4068yy"))))
     (build-system gnu-build-system)
     (arguments '(#:configure-flags '("--with-default-audio=pulse")))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -310,14 +314,14 @@ command-line tool as well as a C library, libmpg123.")
 (define-public mpg321
   (package
     (name "mpg321")
-    (version "0.3.1")
+    (version "0.3.2")
     (source (origin
              (method url-fetch)
-             (uri (string-append "mirror://sourceforge/mpg321/"
+             (uri (string-append "mirror://sourceforge/mpg321/mpg321/"
                                  version "/mpg321-" version ".tar.gz"))
              (sha256
               (base32
-               "0yamsqvj15nsxxnjs9mgyslzx7krgsfk3q1hk3g6l8w9bbbj770b"))))
+               "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5"))))
     (build-system gnu-build-system)
     (arguments '(#:configure-flags '("--disable-alsa")))
     (inputs
@@ -367,8 +371,7 @@ use with CD-recording software).")
             (sha256
              (base32
               "1ss3c1a5hx6c99q1cryxg0jhbnbdj6ga9xyz0dzlz9qhzg5qswfs"))
-            (patches
-             (list (search-patch "ripperx-missing-file.patch")))))
+            (patches (search-patches "ripperx-missing-file.patch"))))
    (build-system gnu-build-system)
    (propagated-inputs
     `(("gs-fonts" ,gs-fonts)
@@ -390,7 +393,7 @@ Ogg, MP3, or FLAC formats.  Its goal is to be easy to use, requiring only
 a few mouse clicks to convert an entire album.  It supports CDDB lookups
 for album and track information.")
    (license license:gpl2)
-   (home-page "http://sourceforge.net/projects/ripperx/")))
+   (home-page "https://sourceforge.net/projects/ripperx/")))
 
 (define-public libmpcdec
   (package
@@ -418,36 +421,35 @@ format.")
     (version "0.2.4")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://sourceforge/mpc123/version%20"
-                                  version "/mpc123-" version ".tar.gz"))
+              (uri (list (string-append "mirror://sourceforge/mpc123/version%20"
+                                        version "/mpc123-" version ".tar.gz")
+                         (string-append "mirror://debian/pool/main/m/" name
+                                        "/" name "_" version ".orig.tar.gz")))
               (sha256
                (base32
                 "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
-              (patches (list (search-patch "mpc123-initialize-ao.patch")))))
+              (patches (search-patches "mpc123-initialize-ao.patch"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-replace
-                 'configure
-                 (lambda _
-                   (substitute* "Makefile"
-                     (("CC[[:blank:]]*:=.*")
-                      "CC := gcc\n")))
-                 (alist-replace
-                  'install
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let* ((out (assoc-ref outputs "out"))
-                           (bin (string-append out "/bin")))
-                      (mkdir-p bin)
-                      (install-file "mpc123" bin)))
-                  %standard-phases))
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (substitute* "Makefile"
+               (("CC[[:blank:]]*:=.*")
+                "CC := gcc\n"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "mpc123" bin)))))
        #:tests? #f))
-
     (native-inputs
-     `(("gettext" ,gnu-gettext)))
+     `(("gettext" ,gettext-minimal)))
     (inputs
      `(("libao" ,ao)
        ("libmpcdec" ,libmpcdec)))
-    (home-page "http://mpc123.sourceforge.net/")
+    (home-page "https://github.com/bucciarati/mpc123")
     (synopsis "Audio player for Musepack-formatted files")
     (description
      "Mpc123 is a command-line player for files in the Musepack audio
@@ -457,7 +459,7 @@ compression format (.mpc files).")
 (define-public eyed3
   (package
     (name "eyed3")
-    (version "0.7.8")
+    (version "0.7.10")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -465,13 +467,12 @@ compression format (.mpc files).")
                   version ".tar.gz"))
              (sha256
               (base32
-               "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86"))))
+               "0wjicszs64ksj2y5jbk09yjd08znc1qnarlq8ssmx13f2d4x59wq"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2))
     (native-inputs
-     `(("python2-setuptools" ,python2-setuptools)
-       ("python2-nose" ,python2-nose)
+     `(("python2-nose" ,python2-nose)
        ("python2-sphinx" ,python2-sphinx)
        ("python2-coverage" ,python2-coverage)))
     (synopsis "MP3 tag ID3 metadata editor")
@@ -482,3 +483,31 @@ to write your own applications or plugins that are callable from the
 command-line tool.")
     (home-page "http://eyed3.nicfit.net/")
     (license license:gpl2+)))
+
+(define-public chromaprint
+  (package
+    (name "chromaprint")
+    (version "1.3.2")
+    (source (origin
+      (method url-fetch)
+      (uri (string-append
+            "https://bitbucket.org/acoustid/chromaprint/downloads/"
+            "chromaprint-" version ".tar.gz"))
+      (sha256
+       (base32 "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; tests require googletest *sources*
+       ;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests
+       #:test-target "check"))
+    (inputs
+     ;; requires one of FFmpeg (prefered), FFTW3 or vDSP
+     ;; use the same ffmpeg version as for acoustid-fingerprinter
+     `(("ffmpeg" ,ffmpeg)
+       ("boots" ,boost)))
+    (home-page "https://acoustid.org/chromaprint")
+    (synopsis "Audio fingerprinting library")
+    (description "Chromaprint is a library for calculating audio
+fingerprints which are used by the Acoustid service.  Its main purpose
+is to provide an accurate identifier for record tracks.")
+    (license license:lgpl2.1+)))