gnu: hidapi: Fix 'license'.
[jackhill/guix/guix.git] / gnu / packages / xiph.scm
index 526a559..708b31b 100644 (file)
@@ -4,6 +4,8 @@
 ;;; 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 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #: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 openssl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -46,6 +48,7 @@
             libkate
             vorbis-tools
             opus
+            opusfile
             opus-tools))
 
 (define libogg
@@ -108,7 +111,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.
@@ -149,7 +152,7 @@ stereo encoding, and voice activity detection.")
 (define ao
   (package
     (name "ao")
-    (version "1.1.0")
+    (version "1.2.0")
     (source
      (origin
       (method url-fetch)
@@ -157,37 +160,42 @@ 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/")))
 
@@ -221,8 +229,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 +241,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 +257,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 +269,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,7 +300,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
 (define opus
   (package
     (name "opus")
-    (version "1.1")
+    (version "1.1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -296,7 +308,7 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
                     ".tar.gz"))
               (sha256
                (base32
-                "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"))))
+                "0cxnd7pjxbgh6l3cbzsw29phpr5cq28fikfhjlp1hc3y5s0gxdjq"))))
     (build-system gnu-build-system)
     (synopsis "Versatile audio codec")
     (description
@@ -315,15 +327,15 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
     (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 
+               (base32
                 "0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi"))))
     (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 +345,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 "http://www.opus-codec.org")))
+
+(define opusfile
+  (package
+    (name "opusfile")
+    (version "0.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.xiph.org/releases/opus/opusfile-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "00f3wwjv3hxwg05g22s6mkkxikz80ljsn70g39cmi43jph9ysawy"))))
+    (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 +392,7 @@ decoding .opus files")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23"))))
+                "14n5vm2xnyn8y7kl46lnnlgv6v5fjykhc57ffdsh0qaxfs6a8p68"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -372,3 +412,31 @@ create an Internet radio station or a privately running jukebox and many
 things in between.")
     (home-page "http://icecast.org/")
     (license license:gpl2)))
+
+(define-public libshout
+  (package
+    (name "libshout")
+    (version "2.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.xiph.org/releases/libshout/"
+                    name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     ;; shout.pc refers to all these.
+     `(("libtheora" ,libtheora)
+       ("libvorbis" ,libvorbis)
+       ("speex"     ,speex)))
+    (home-page "http://www.icecast.org/")
+    (synopsis "Audio streaming library for icecast encoders")
+    (description
+     "Libshout is a library for communicating with and sending data to an
+icecast server.  It handles the socket connection, the timing of the data,
+and prevents bad data from getting to the icecast server.")
+    (license license:gpl2+)))