gnu: r-org-dm-eg-db: Update to 3.5.0.
[jackhill/guix/guix.git] / gnu / packages / xiph.scm
index a1a3f3f..9277f57 100644 (file)
@@ -4,6 +4,9 @@
 ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,7 +28,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
-  #:use-module (gnu packages doxygen)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
             libvorbis
             libtheora
             speex
+            speexdsp
             ao
             flac
             libkate
             vorbis-tools
             opus
+            opusfile
             opus-tools))
 
 (define libogg
@@ -108,7 +113,7 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to
              (sha256
               (base32
                "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk"))
-             (patches (list (search-patch "libtheora-config-guess.patch")))))
+             (patches (search-patches "libtheora-config-guess.patch"))))
     (build-system gnu-build-system)
     (inputs `(("libvorbis" ,libvorbis)))
     ;; The .pc files refer to libogg.
@@ -124,7 +129,7 @@ compressed video format.")
 (define speex
   (package
     (name "speex")
-    (version "1.2rc1")
+    (version "1.2.0")
     (source
      (origin
       (method url-fetch)
@@ -132,9 +137,13 @@ compressed video format.")
                           version ".tar.gz"))
       (sha256
        (base32
-        "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"))))
+        "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa"))))
     (build-system gnu-build-system)
-    (inputs `(("libogg" ,libogg)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libogg" ,libogg)
+       ("speexdsp" ,speexdsp)))
     (home-page "https://gnu.org/software/speex")
     (synopsis "Library for patent-free audio compression format")
     (description
@@ -146,10 +155,35 @@ stereo encoding, and voice activity detection.")
     (license (license:non-copyleft "file://COPYING"
                                 "See COPYING in the distribution."))))
 
+(define speexdsp
+  (package
+    (name "speexdsp")
+    (version "1.2rc3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://downloads.xiph.org/releases/speex/"
+                                  "speexdsp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1wcjyrnwlkayb20zdhp48y260rfyzg925qpjpljd5x9r01h8irja"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '(,@(if (string=? "aarch64-linux"
+                                           (%current-system))
+                               '("--enable-neon=no") ; neon defaults to armv7-a
+                               '()))))
+    (home-page "https://speex.org/")
+    (synopsis "Speex processing library")
+    (description
+     "SpeexDSP is a @dfn{DSP} (Digital Signal Processing) library based on
+work from the @code{speex} codec.")
+    (license (license:non-copyleft "file://COPYING"
+                                   "See COPYING in the distribution."))))
+
 (define ao
   (package
     (name "ao")
-    (version "1.1.0")
+    (version "1.2.0")
     (source
      (origin
       (method url-fetch)
@@ -157,51 +191,56 @@ stereo encoding, and voice activity detection.")
                           version ".tar.gz"))
       (sha256
        (base32
-        "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9"))))
+        "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83"))))
     (build-system gnu-build-system)
     ;; FIXME: Add further backends, see the summary printed after configure.
     ;; XXX: Should back-ends be pushed to different outputs?  For instance,
     ;; "out" would include only the ALSA back-end, while "pulse" would
     ;; contain 'lib/ao/plugins-4/libpulse.*'.
-    (inputs `(("pkg-config" ,pkg-config)
-              ("alsa-lib" ,alsa-lib)
-              ("pulseaudio" ,pulseaudio)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("pulseaudio" ,pulseaudio)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (synopsis "Cross platform audio library")
     (description
      "Libao is a cross-platform audio library that allows programs to
 output audio using a simple API on a wide variety of platforms.
 It currently supports:
-Null output (handy for testing without a sound device),
-WAV files,
-AU files,
-RAW files,
-OSS (Open Sound System, used on Linux and FreeBSD),
-ALSA (Advanced Linux Sound Architecture),
-aRts (Analog RealTime Synth, used by KDE),
-PulseAudio (next generation GNOME sound server),
-esd (EsounD or Enlightened Sound Daemon),
-Mac OS X,
-Windows (98 and later),
-AIX,
-Sun/NetBSD/OpenBSD,
-IRIX,
-NAS (Network Audio Server),
-RoarAudio (Modern, multi-OS, networked Sound System),
-OpenBSD's sndio.")
+@enumerate
+@item Null output (handy for testing without a sound device),
+@item WAV files,
+@item AU files,
+@item RAW files,
+@item OSS (Open Sound System, used on Linux and FreeBSD),
+@item ALSA (Advanced Linux Sound Architecture),
+@item aRts (Analog RealTime Synth, used by KDE),
+@item PulseAudio (next generation GNOME sound server),
+@item esd (EsounD or Enlightened Sound Daemon),
+@item Mac OS X,
+@item Windows (98 and later),
+@item AIX,
+@item Sun/NetBSD/OpenBSD,
+@item IRIX,
+@item NAS (Network Audio Server),
+@item RoarAudio (Modern, multi-OS, networked Sound System),
+@item OpenBSD's sndio.
+@end enumerate
+")
     (license license:gpl2+)
     (home-page "http://www.xiph.org/ao/")))
 
 (define flac
   (package
    (name "flac")
-   (version "1.3.1")
+   (version "1.3.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://downloads.xiph.org/releases/flac/flac-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0v65w7ph6ldwp5a8fbhp0a3w8f737ck468fr7yb7sxmskl4w0ws7"))))
+              "0gymm2j3276kr9nz6vmgfwsdfrq6c449n40a0mzz8h6wc7nw7kwi"))))
    (build-system gnu-build-system)
    (arguments
     `(#:parallel-tests? #f))
@@ -221,8 +260,8 @@ meaning that audio is compressed in FLAC without any loss in quality.")
    (version "0.4.1")
    (source (origin
             (method url-fetch)
-            (uri (string-append "http://libkate.googlecode.com/files/libkate-"
-                                version ".tar.gz"))
+            (uri (string-append "http://downloads.xiph.org/releases/kate/"
+                                "libkate-" version ".tar.gz"))
             (sha256
              (base32
               "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
@@ -233,7 +272,7 @@ meaning that audio is compressed in FLAC without any loss in quality.")
    (inputs `(("bison" ,bison)
              ("libogg" ,libogg)
              ("libpng" ,libpng)
-("python" ,python-wrapper)
+             ("python" ,python-wrapper)
              ("zlib" ,zlib)))
    (synopsis "Karaoke and text codec for embedding in ogg")
    (description
@@ -249,7 +288,7 @@ This allows scrolling or fading text to be defined.  This can even be used
 to draw arbitrary shapes, so hand drawing can also be represented by a
 Kate stream.")
    (license license:bsd-3)
-   (home-page "http://code.google.com/p/libkate/")))
+   (home-page "https://wiki.xiph.org/OggKate")))
 
 (define vorbis-tools
   (package
@@ -261,7 +300,11 @@ Kate stream.")
                                 "vorbis-tools-" version ".tar.gz"))
             (sha256
              (base32
-              "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3"))))
+              "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3"))
+            (patches (search-patches 
+                       "vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch"
+                       "vorbis-tools-CVE-2014-9640.patch"
+                       "vorbis-tools-CVE-2015-6749.patch"))))
    (build-system gnu-build-system)
    (inputs `(("ao" ,ao)
              ("curl" ,curl)
@@ -288,15 +331,14 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
 (define opus
   (package
     (name "opus")
-    (version "1.1")
+    (version "1.2.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "http://downloads.xiph.org/releases/opus/opus-" version
-                    ".tar.gz"))
+              (uri (string-append "https://archive.mozilla.org/pub/opus/opus-"
+                                  version ".tar.gz"))
               (sha256
                (base32
-                "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"))))
+                "0ch7yzgg4bn1g36bpjsfrgs4n19c84d7wpdida6yzifrrhwx7byg"))))
     (build-system gnu-build-system)
     (synopsis "Versatile audio codec")
     (description
@@ -306,24 +348,24 @@ but is also intended for storage and streaming applications.  It is
 standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which
 incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
     (license license:bsd-3)
-    (home-page "http://www.opus-codec.org")))
+    (home-page "https://www.opus-codec.org")))
 
 (define opus-tools
   (package
     (name "opus-tools")
-    (version "0.1.9")
+    (version "0.1.10")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "ftp://ftp.mozilla.org/pub/mozilla.org/opus/opus-tools-"
+                    "http://downloads.xiph.org/releases/opus/opus-tools-"
                     version ".tar.gz"))
               (sha256
-               (base32 
-                "0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi"))))
+               (base32
+                "135jfb9ny3xvd27idsxj7j5ns90lslbyrq70cq3bfwcls4r7add2"))))
     (build-system gnu-build-system)
     (arguments
      ;; The package developers misuse pkg-config such that it doesn't work
-     ;; when cross compiling.  Therefore we avoid it completly and set the 
+     ;; when cross compiling.  Therefore we avoid it completly and set the
      ;; necessary flags ourselves.
      `(#:configure-flags (list (string-append "CFLAGS=-I"
                                               (assoc-ref %build-inputs "libogg")
@@ -333,18 +375,46 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
     (inputs `(("libogg" ,libogg)
               ("opus" ,opus)
               ("flac" ,flac)))
-    (synopsis "Command line utilities to encode, inspect, and decode .opus
-files")
+    (synopsis
+     "Command line utilities to encode, inspect, and decode .opus files")
     (description "Opus is a royalty-free, highly versatile audio codec.
 Opus-tools provide command line utilities for creating, inspecting and
-decoding .opus files")
+decoding .opus files.")
+    (license license:bsd-3)
+    (home-page "https://www.opus-codec.org")))
+
+(define opusfile
+  (package
+    (name "opusfile")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.xiph.org/releases/opus/opusfile-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "192mp2jgn5s9815h31ybzsfipmbppmdhwx1dymrk26xarz9iw8rc"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+     `(("opus" ,opus)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libogg" ,libogg)
+       ("openssl" ,openssl)))
+    (synopsis "Versatile audio codec")
+    (description
+     "The opusfile library provides seeking, decode, and playback of Opus
+streams in the Ogg container (.opus files) including over http(s) on posix and
+windows systems.")
     (license license:bsd-3)
     (home-page "http://www.opus-codec.org")))
 
 (define-public icecast
   (package
     (name "icecast")
-    (version "2.4.1")
+    (version "2.4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -352,7 +422,7 @@ decoding .opus files")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23"))))
+                "14n5vm2xnyn8y7kl46lnnlgv6v5fjykhc57ffdsh0qaxfs6a8p68"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -376,7 +446,7 @@ things in between.")
 (define-public libshout
   (package
     (name "libshout")
-    (version "2.3.1")
+    (version "2.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -384,7 +454,7 @@ things in between.")
                     name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0vlj4dxfxg06xhvv0z2zjjlrjh5di2m28w7v16zcygsy99mmyg6g"))))
+                "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))