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