;;; 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.
;;;
#: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)
libvorbis
libtheora
speex
+ speexdsp
ao
flac
libkate
vorbis-tools
opus
+ opusfile
opus-tools))
(define libogg
(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.
(define speex
(package
(name "speex")
- (version "1.2rc1")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
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
(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)
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))
(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"))))
(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
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
"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)
(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
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")
(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
version ".tar.gz"))
(sha256
(base32
- "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23"))))
+ "14n5vm2xnyn8y7kl46lnnlgv6v5fjykhc57ffdsh0qaxfs6a8p68"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
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+)))