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