gnu: Rename (gnu packages oggvorbis) to (gnu packages xiph).
[jackhill/guix/guix.git] / gnu / packages / xiph.scm
CommitLineData
6a06172b
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
1f5ec939 3;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
15e82fb2 4;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
6a06172b
AE
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
54ff0b7d 21(define-module (gnu packages xiph)
dc2e4b0e
AE
22 #:use-module (gnu packages)
23 #:use-module (gnu packages bison)
24 #:use-module (gnu packages compression)
1f73d3b4 25 #:use-module (gnu packages curl)
dc2e4b0e 26 #:use-module (gnu packages libpng)
76e38f0d 27 #:use-module (gnu packages pkg-config)
dc2e4b0e 28 #:use-module (gnu packages python)
ba04571a 29 #:use-module (gnu packages linux)
5ccca004 30 #:use-module (gnu packages pulseaudio)
dc2e4b0e
AE
31 #:use-module ((guix licenses)
32 #:renamer (symbol-prefix-proc 'license:))
6a06172b
AE
33 #:use-module (guix packages)
34 #:use-module (guix download)
cfc8261c
LC
35 #:use-module (guix build-system gnu)
36 #:export (libogg
37 libvorbis
15e82fb2 38 libtheora
cfc8261c
LC
39 speex
40 ao
41 flac
42 libkate
43 vorbis-tools))
6a06172b 44
cfc8261c 45(define libogg
6a06172b
AE
46 (package
47 (name "libogg")
48 (version "1.3.0")
49 (source (origin
50 (method url-fetch)
51 (uri (string-append "http://downloads.xiph.org/releases/ogg/libogg-"
52 version ".tar.xz"))
53 (sha256
54 (base32
55 "0jy79ffkl34vycnwfsj4svqsdg1lwy2l1rr49y8r4d44kh12a5r3"))))
56 (build-system gnu-build-system)
57 (synopsis "libogg, a library for manipulating the ogg multimedia format")
58 (description
59 "The libogg library allows to manipulate the ogg multimedia container
60format, which encapsulates raw compressed data and allows the interleaving of
61audio and video data. In addition to encapsulation and interleaving of
62multiple data streams, ogg provides packet framing, error detection, and
63periodic timestamps for seeking.")
dc2e4b0e
AE
64 (license (license:bsd-style "file://COPYING"
65 "See COPYING in the distribution."))
6a06172b
AE
66 (home-page "http://xiph.org/ogg/")))
67
cfc8261c 68(define libvorbis
6a06172b
AE
69 (package
70 (name "libvorbis")
71 (version "1.3.3")
72 (source (origin
73 (method url-fetch)
74 (uri (string-append "http://downloads.xiph.org/releases/vorbis/libvorbis-"
75 version ".tar.xz"))
76 (sha256
77 (base32
78 "1gby6hapz9njx4l9g0pndyk4q83z5fgrgc30mfwfgx7bllspsk43"))))
79 (build-system gnu-build-system)
bad312e3 80 (propagated-inputs `(("libogg" ,libogg)))
6a06172b
AE
81 (arguments `(#:configure-flags '("LDFLAGS=-lm")))
82 (synopsis "libvorbis, a library implementing the vorbis audio format")
83 (description
84 "The libvorbis library implements the ogg vorbis audio format,
85a fully open, non-proprietary, patent-and-royalty-free, general-purpose
86compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,
87polyphonic) audio and music at fixed and variable bitrates from 16 to
88128 kbps/channel.")
dc2e4b0e
AE
89 (license (license:bsd-style "file://COPYING"
90 "See COPYING in the distribution."))
6a06172b
AE
91 (home-page "http://xiph.org/vorbis/")))
92
15e82fb2
DT
93(define libtheora
94 (package
95 (name "libtheora")
96 (version "1.1.1")
97 (source (origin
98 (method url-fetch)
99 (uri (string-append "http://downloads.xiph.org/releases/theora/libtheora-"
100 version ".tar.xz"))
101 (sha256
102 (base32
46acd054
MW
103 "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk"))
104 (patches (list (search-patch "libtheora-config-guess.patch")))))
15e82fb2
DT
105 (build-system gnu-build-system)
106 (inputs `(("libvorbis" ,libvorbis)))
107 ;; The .pc files refer to libogg.
108 (propagated-inputs `(("libogg" ,libogg)))
109 (synopsis "Library implementing the Theora video format")
110 (description
111 "The libtheora library implements the ogg theora video format,
112a fully open, non-proprietary, patent-and-royalty-free, general-purpose
113compressed video format.")
114 (license license:bsd-3)
115 (home-page "http://xiph.org/theora/")))
116
cfc8261c 117(define speex
1f5ec939
NK
118 (package
119 (name "speex")
120 (version "1.2rc1")
121 (source
122 (origin
123 (method url-fetch)
124 (uri (string-append "http://downloads.xiph.org/releases/speex/speex-"
125 version ".tar.gz"))
126 (sha256
127 (base32
128 "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"))))
129 (build-system gnu-build-system)
130 (inputs `(("libogg" ,libogg)))
131 (home-page "https://gnu.org/software/speex")
f50d2669 132 (synopsis "Library for patent-free audio compression format")
1f5ec939 133 (description
79c311b8
LC
134 "GNU Speex is a patent-free audio compression codec specially designed
135for speech. It is well-adapted to internet applications, such as VoIP. It
a22dc0c4
LC
136features compression of different bands in the same bitstream, intensity
137stereo encoding, and voice activity detection.")
1f5ec939 138 ;; 'src/getopt.c' is under LGPLv2+
dc2e4b0e
AE
139 (license (license:bsd-style "file://COPYING"
140 "See COPYING in the distribution."))))
1f5ec939 141
cfc8261c 142(define ao
76e38f0d
AE
143 (package
144 (name "ao")
145 (version "1.1.0")
146 (source
147 (origin
148 (method url-fetch)
149 (uri (string-append "http://downloads.xiph.org/releases/ao/libao-"
150 version ".tar.gz"))
151 (sha256
152 (base32
153 "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9"))))
154 (build-system gnu-build-system)
155 ;; FIXME: Add further backends, see the summary printed after configure.
5ccca004
LC
156 ;; XXX: Should back-ends be pushed to different outputs? For instance,
157 ;; "out" would include only the ALSA back-end, while "pulse" would
54ff0b7d 158 ;; contain 'lib/ao/plugins-4/libpulse.*'.
ba04571a 159 (inputs `(("pkg-config" ,pkg-config)
5ccca004
LC
160 ("alsa-lib" ,alsa-lib)
161 ("pulseaudio" ,pulseaudio)))
ba04571a 162 (synopsis "Cross platform audio library")
76e38f0d
AE
163 (description
164 "Libao is a cross-platform audio library that allows programs to
165output audio using a simple API on a wide variety of platforms.
166It currently supports:
167Null output (handy for testing without a sound device),
168WAV files,
169AU files,
170RAW files,
171OSS (Open Sound System, used on Linux and FreeBSD),
172ALSA (Advanced Linux Sound Architecture),
173aRts (Analog RealTime Synth, used by KDE),
174PulseAudio (next generation GNOME sound server),
175esd (EsounD or Enlightened Sound Daemon),
176Mac OS X,
177Windows (98 and later),
178AIX,
179Sun/NetBSD/OpenBSD,
180IRIX,
181NAS (Network Audio Server),
182RoarAudio (Modern, multi-OS, networked Sound System),
183OpenBSD's sndio.")
dc2e4b0e 184 (license license:gpl2+)
76e38f0d
AE
185 (home-page "http://www.xiph.org/ao/")))
186
cfc8261c 187(define flac
9ae7865e
AE
188 (package
189 (name "flac")
190 (version "1.2.1")
191 (source (origin
192 (method url-fetch)
193 (uri (string-append "http://downloads.xiph.org/releases/flac/flac-"
194 version ".tar.gz"))
195 (sha256
196 (base32
01eafd38
LC
197 "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"))
198 (patches
199 (list (search-patch "flac-fix-memcmp-not-declared.patch")))))
9ae7865e
AE
200 (build-system gnu-build-system)
201 (arguments
01eafd38 202 `(#:parallel-tests? #f))
9ae7865e 203 ;; FIXME: configure also looks for xmms, input could be added once it exists
01eafd38 204 (inputs `(("libogg" ,libogg)))
9ae7865e
AE
205 (synopsis "flac free lossless audio codec")
206 (description
207"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,
208meaning that audio is compressed in FLAC without any loss in quality.")
dc2e4b0e
AE
209 (license (license:bsd-style "file://COPYING"
210 "See COPYING in the distribution.")) ; and LGPL and GPL
9ae7865e
AE
211 (home-page "http://xiph.org/flac/")))
212
cfc8261c 213(define libkate
dc2e4b0e
AE
214 (package
215 (name "libkate")
216 (version "0.4.1")
217 (source (origin
218 (method url-fetch)
219 (uri (string-append "http://libkate.googlecode.com/files/libkate-"
220 version ".tar.gz"))
221 (sha256
222 (base32
223 "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
224 (build-system gnu-build-system)
225 ;; FIXME: Add optional inputs doxygen (for documentation) and liboggz
226 (inputs `(("bison" ,bison)
227 ("libogg" ,libogg)
228 ("libpng" ,libpng)
229 ("pkg-config" ,pkg-config)
ee3e314b 230 ("python" ,python-wrapper)
dc2e4b0e
AE
231 ("zlib" ,zlib)))
232 (synopsis "kate, a karaoke and text codec for embedding in ogg")
233 (description
234 "Kate is an overlay codec, originally designed for karaoke and text,
235that can be multiplixed in Ogg. Text and images can be carried by a Kate
236stream, and animated. Most of the time, this would be multiplexed with
237audio/video to carry subtitles, song lyrics (with or without karaoke data),
238etc., but doesn't have to be.
239
240Series of curves (splines, segments, etc.) may be attached to various
241properties (text position, font size, etc.) to create animated overlays.
242This allows scrolling or fading text to be defined. This can even be used
243to draw arbitrary shapes, so hand drawing can also be represented by a
244Kate stream.")
245 (license license:bsd-3)
246 (home-page "http://code.google.com/p/libkate/")))
247
cfc8261c 248(define vorbis-tools
6a06172b
AE
249 (package
250 (name "vorbis-tools")
251 (version "1.4.0")
252 (source (origin
253 (method url-fetch)
254 (uri (string-append "http://downloads.xiph.org/releases/vorbis/vorbis-tools-"
255 version ".tar.gz"))
256 (sha256
257 (base32
258 "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3"))))
259 (build-system gnu-build-system)
1f73d3b4
AE
260 (inputs `(("ao" ,ao)
261 ("curl" ,curl)
dc2e4b0e
AE
262 ("flac" ,flac)
263 ("libkate" ,libkate)
1f73d3b4 264 ("libogg" ,libogg)
1f5ec939 265 ("libvorbis" ,libvorbis)
1f73d3b4 266 ("pkg-config" ,pkg-config)
1f5ec939 267 ("speex" ,speex)))
6a06172b
AE
268 (synopsis "ogg vorbis tools")
269 (description
270 "Ogg vorbis is a non-proprietary, patent-and-royalty-free,
271general-purpose compressed audio format.
272
273The package vorbis-tools contains
274ogg123, an ogg vorbis command line audio player;
275oggenc, the ogg vorbis encoder;
276oggdec, a simple, portable command line decoder (to wav and raw);
277ogginfo, to obtain information (tags, bitrate, length, etc.) about
278 an ogg vorbis file.")
dc2e4b0e 279 (license license:gpl2)
6a06172b 280 (home-page "http://xiph.org/vorbis/")))