Commit | Line | Data |
---|---|---|
6a06172b | 1 | ;;; GNU Guix --- Functional package management for GNU |
707d3e24 | 2 | ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> |
1f5ec939 | 3 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> |
15e82fb2 | 4 | ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu> |
a7f904fd | 5 | ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> |
c9a010db | 6 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> |
a7aa4e2a | 7 | ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> |
c531fad7 | 8 | ;;; Copyright © 2015, 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> |
fb6b40b0 | 9 | ;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <marius@gnu.org> |
15bffa0c | 10 | ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> |
ce08d54c | 11 | ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> |
a7f62024 | 12 | ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> |
6a06172b AE |
13 | ;;; |
14 | ;;; This file is part of GNU Guix. | |
15 | ;;; | |
16 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
17 | ;;; under the terms of the GNU General Public License as published by | |
18 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
19 | ;;; your option) any later version. | |
20 | ;;; | |
21 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
22 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
23 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
24 | ;;; GNU General Public License for more details. | |
25 | ;;; | |
26 | ;;; You should have received a copy of the GNU General Public License | |
27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
28 | ||
54ff0b7d | 29 | (define-module (gnu packages xiph) |
dc2e4b0e | 30 | #:use-module (gnu packages) |
c2734ff8 | 31 | #:use-module (gnu packages autotools) |
dc2e4b0e AE |
32 | #:use-module (gnu packages bison) |
33 | #:use-module (gnu packages compression) | |
1f73d3b4 | 34 | #:use-module (gnu packages curl) |
99828fa7 | 35 | #:use-module (gnu packages documentation) |
e55354b8 | 36 | #:use-module (gnu packages image) |
76e38f0d | 37 | #:use-module (gnu packages pkg-config) |
dc2e4b0e | 38 | #:use-module (gnu packages python) |
ba04571a | 39 | #:use-module (gnu packages linux) |
5ccca004 | 40 | #:use-module (gnu packages pulseaudio) |
cc2b77df | 41 | #:use-module (gnu packages tls) |
6ef1c223 | 42 | #:use-module (gnu packages xml) |
b5b73a82 | 43 | #:use-module ((guix licenses) #:prefix license:) |
6a06172b AE |
44 | #:use-module (guix packages) |
45 | #:use-module (guix download) | |
c2734ff8 | 46 | #:use-module (guix git-download) |
cfc8261c LC |
47 | #:use-module (guix build-system gnu) |
48 | #:export (libogg | |
49 | libvorbis | |
15e82fb2 | 50 | libtheora |
cfc8261c | 51 | speex |
01229cbe | 52 | speexdsp |
cfc8261c LC |
53 | ao |
54 | flac | |
55 | libkate | |
a7f904fd | 56 | vorbis-tools |
a886404f | 57 | opus |
a7aa4e2a | 58 | opusfile |
a886404f | 59 | opus-tools)) |
6a06172b | 60 | |
cfc8261c | 61 | (define libogg |
6a06172b AE |
62 | (package |
63 | (name "libogg") | |
3572b390 | 64 | (version "1.3.4") |
6a06172b AE |
65 | (source (origin |
66 | (method url-fetch) | |
a89f731b | 67 | (uri (string-append "https://downloads.xiph.org/releases/ogg/libogg-" |
6a06172b AE |
68 | version ".tar.xz")) |
69 | (sha256 | |
70 | (base32 | |
3572b390 | 71 | "1zlk33vxvxr0l9lhkbhkdwvylw96d2n0fnd3d8dl031hph9bqqy1")))) |
6a06172b | 72 | (build-system gnu-build-system) |
542432e8 MB |
73 | (arguments |
74 | '(#:configure-flags '("--disable-static"))) | |
35b9e423 | 75 | (synopsis "Library for manipulating the ogg multimedia format") |
6a06172b | 76 | (description |
0b14f150 | 77 | "The libogg library manipulates the ogg multimedia container |
6a06172b | 78 | format, which encapsulates raw compressed data and allows the interleaving of |
35b9e423 | 79 | audio and video data. In addition to encapsulation and interleaving of |
6a06172b AE |
80 | multiple data streams, ogg provides packet framing, error detection, and |
81 | periodic timestamps for seeking.") | |
166191b3 | 82 | (license (license:non-copyleft "file://COPYING" |
dc2e4b0e | 83 | "See COPYING in the distribution.")) |
2e33e6b1 | 84 | (home-page "https://xiph.org/ogg/"))) |
6a06172b | 85 | |
cfc8261c | 86 | (define libvorbis |
6a06172b AE |
87 | (package |
88 | (name "libvorbis") | |
47d723fe | 89 | (version "1.3.7") |
6a06172b AE |
90 | (source (origin |
91 | (method url-fetch) | |
a89f731b | 92 | (uri (string-append "https://downloads.xiph.org/releases/vorbis/" |
35b9e423 | 93 | "libvorbis-" version ".tar.xz")) |
6a06172b AE |
94 | (sha256 |
95 | (base32 | |
47d723fe | 96 | "0jwmf87x5sdis64rbv0l87mdpah1rbilkkxszipbzg128f9w8g5k")))) |
6a06172b | 97 | (build-system gnu-build-system) |
bad312e3 | 98 | (propagated-inputs `(("libogg" ,libogg))) |
b134c7ba MB |
99 | (arguments `(#:configure-flags '("LDFLAGS=-lm" |
100 | "--disable-static") | |
f0cfe3c4 | 101 | #:parallel-tests? #f)) |
35b9e423 | 102 | (synopsis "Library implementing the vorbis audio format") |
6a06172b AE |
103 | (description |
104 | "The libvorbis library implements the ogg vorbis audio format, | |
105 | a fully open, non-proprietary, patent-and-royalty-free, general-purpose | |
106 | compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit, | |
107 | polyphonic) audio and music at fixed and variable bitrates from 16 to | |
108 | 128 kbps/channel.") | |
166191b3 | 109 | (license (license:non-copyleft "file://COPYING" |
dc2e4b0e | 110 | "See COPYING in the distribution.")) |
2e33e6b1 | 111 | (home-page "https://xiph.org/vorbis/"))) |
6a06172b | 112 | |
15e82fb2 DT |
113 | (define libtheora |
114 | (package | |
115 | (name "libtheora") | |
116 | (version "1.1.1") | |
117 | (source (origin | |
118 | (method url-fetch) | |
a89f731b | 119 | (uri (string-append "https://downloads.xiph.org/releases/theora/" |
35b9e423 | 120 | "libtheora-" version ".tar.xz")) |
15e82fb2 DT |
121 | (sha256 |
122 | (base32 | |
46acd054 | 123 | "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk")) |
fc1adab1 | 124 | (patches (search-patches "libtheora-config-guess.patch")))) |
15e82fb2 | 125 | (build-system gnu-build-system) |
5c1f0272 MB |
126 | (arguments |
127 | '(#:configure-flags '("--disable-static"))) | |
15e82fb2 DT |
128 | (inputs `(("libvorbis" ,libvorbis))) |
129 | ;; The .pc files refer to libogg. | |
130 | (propagated-inputs `(("libogg" ,libogg))) | |
131 | (synopsis "Library implementing the Theora video format") | |
132 | (description | |
133 | "The libtheora library implements the ogg theora video format, | |
134 | a fully open, non-proprietary, patent-and-royalty-free, general-purpose | |
135 | compressed video format.") | |
136 | (license license:bsd-3) | |
2e33e6b1 | 137 | (home-page "https://xiph.org/theora/"))) |
15e82fb2 | 138 | |
cfc8261c | 139 | (define speex |
1f5ec939 NK |
140 | (package |
141 | (name "speex") | |
8efd10cd | 142 | (version "1.2.0") |
1f5ec939 NK |
143 | (source |
144 | (origin | |
145 | (method url-fetch) | |
a89f731b | 146 | (uri (string-append "https://downloads.xiph.org/releases/speex/speex-" |
1f5ec939 NK |
147 | version ".tar.gz")) |
148 | (sha256 | |
149 | (base32 | |
8efd10cd | 150 | "150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa")))) |
1f5ec939 | 151 | (build-system gnu-build-system) |
29256cbe MB |
152 | (arguments |
153 | '(#:configure-flags '("--disable-static"))) | |
b79813a1 SB |
154 | (native-inputs |
155 | `(("pkg-config" ,pkg-config))) | |
156 | (inputs | |
157 | `(("libogg" ,libogg) | |
158 | ("speexdsp" ,speexdsp))) | |
1f5ec939 | 159 | (home-page "https://gnu.org/software/speex") |
f50d2669 | 160 | (synopsis "Library for patent-free audio compression format") |
1f5ec939 | 161 | (description |
79c311b8 LC |
162 | "GNU Speex is a patent-free audio compression codec specially designed |
163 | for speech. It is well-adapted to internet applications, such as VoIP. It | |
a22dc0c4 LC |
164 | features compression of different bands in the same bitstream, intensity |
165 | stereo encoding, and voice activity detection.") | |
1f5ec939 | 166 | ;; 'src/getopt.c' is under LGPLv2+ |
166191b3 | 167 | (license (license:non-copyleft "file://COPYING" |
dc2e4b0e | 168 | "See COPYING in the distribution.")))) |
1f5ec939 | 169 | |
01229cbe MB |
170 | (define speexdsp |
171 | (package | |
172 | (name "speexdsp") | |
4e8284f0 | 173 | (version "1.2.0") |
01229cbe MB |
174 | (source (origin |
175 | (method url-fetch) | |
a89f731b | 176 | (uri (string-append "https://downloads.xiph.org/releases/speex/" |
01229cbe MB |
177 | "speexdsp-" version ".tar.gz")) |
178 | (sha256 | |
179 | (base32 | |
4e8284f0 | 180 | "0wa7sqpk3x61zz99m7lwkgr6yv62ml6lfgs5xja65vlvdzy44838")))) |
01229cbe | 181 | (build-system gnu-build-system) |
f71ce282 | 182 | (arguments |
28b4ff24 MB |
183 | `(#:configure-flags '("--disable-static" |
184 | ,@(if (string=? "aarch64-linux" | |
f71ce282 EF |
185 | (%current-system)) |
186 | '("--enable-neon=no") ; neon defaults to armv7-a | |
187 | '())))) | |
01229cbe MB |
188 | (home-page "https://speex.org/") |
189 | (synopsis "Speex processing library") | |
190 | (description | |
191 | "SpeexDSP is a @dfn{DSP} (Digital Signal Processing) library based on | |
192 | work from the @code{speex} codec.") | |
193 | (license (license:non-copyleft "file://COPYING" | |
194 | "See COPYING in the distribution.")))) | |
195 | ||
cfc8261c | 196 | (define ao |
76e38f0d AE |
197 | (package |
198 | (name "ao") | |
c2734ff8 MB |
199 | ;; We need a few commits on top of 1.2.2 to fix CVE-2017-11548. |
200 | (version "1.2.2-5-g20dc8ed") | |
201 | (source (origin | |
202 | (method git-fetch) | |
203 | (uri (git-reference | |
9ff9a64d | 204 | (url "https://gitlab.xiph.org/xiph/libao") |
c2734ff8 MB |
205 | (commit version))) |
206 | (file-name (git-file-name name version)) | |
207 | (sha256 | |
208 | (base32 | |
209 | "1d1b3g2a7jd43c32242yq6nfysqsmp7rjslhvbrmpgk119l5fnbj")))) | |
76e38f0d AE |
210 | (build-system gnu-build-system) |
211 | ;; FIXME: Add further backends, see the summary printed after configure. | |
5ccca004 LC |
212 | ;; XXX: Should back-ends be pushed to different outputs? For instance, |
213 | ;; "out" would include only the ALSA back-end, while "pulse" would | |
54ff0b7d | 214 | ;; contain 'lib/ao/plugins-4/libpulse.*'. |
d4fe27fe ML |
215 | (inputs |
216 | `(("alsa-lib" ,alsa-lib) | |
217 | ("pulseaudio" ,pulseaudio))) | |
218 | (native-inputs | |
c2734ff8 MB |
219 | `(("pkg-config" ,pkg-config) |
220 | ("autoconf" ,autoconf) | |
221 | ("automake" ,automake) | |
222 | ("libtool" ,libtool))) | |
ba04571a | 223 | (synopsis "Cross platform audio library") |
76e38f0d AE |
224 | (description |
225 | "Libao is a cross-platform audio library that allows programs to | |
226 | output audio using a simple API on a wide variety of platforms. | |
227 | It currently supports: | |
2df092a9 | 228 | @enumerate |
55f4b4e0 JD |
229 | @item Null output (handy for testing without a sound device), |
230 | @item WAV files, | |
231 | @item AU files, | |
232 | @item RAW files, | |
233 | @item OSS (Open Sound System, used on Linux and FreeBSD), | |
234 | @item ALSA (Advanced Linux Sound Architecture), | |
235 | @item aRts (Analog RealTime Synth, used by KDE), | |
236 | @item PulseAudio (next generation GNOME sound server), | |
237 | @item esd (EsounD or Enlightened Sound Daemon), | |
238 | @item Mac OS X, | |
239 | @item Windows (98 and later), | |
240 | @item AIX, | |
241 | @item Sun/NetBSD/OpenBSD, | |
242 | @item IRIX, | |
243 | @item NAS (Network Audio Server), | |
244 | @item RoarAudio (Modern, multi-OS, networked Sound System), | |
245 | @item OpenBSD's sndio. | |
2df092a9 | 246 | @end enumerate |
55f4b4e0 | 247 | ") |
dc2e4b0e | 248 | (license license:gpl2+) |
c7adcb7c | 249 | (properties '((cpe-name . "libao"))) |
2e33e6b1 | 250 | (home-page "https://www.xiph.org/ao/"))) |
76e38f0d | 251 | |
cfc8261c | 252 | (define flac |
9ae7865e AE |
253 | (package |
254 | (name "flac") | |
4668464f | 255 | (version "1.3.3") |
9ae7865e AE |
256 | (source (origin |
257 | (method url-fetch) | |
a89f731b | 258 | (uri (string-append "https://downloads.xiph.org/releases/flac/flac-" |
399fdcf7 | 259 | version ".tar.xz")) |
9ae7865e AE |
260 | (sha256 |
261 | (base32 | |
4668464f | 262 | "0j0p9sf56a2fm2hkjnf7x3py5ir49jyavg4q5zdyd7bcf6yq4gi1")))) |
9ae7865e AE |
263 | (build-system gnu-build-system) |
264 | (arguments | |
9b1bf330 | 265 | `(#:parallel-tests? #f)) |
9ae7865e | 266 | ;; FIXME: configure also looks for xmms, input could be added once it exists |
d529b91b | 267 | (propagated-inputs `(("libogg" ,libogg))) ; required by flac.pc |
35b9e423 | 268 | (synopsis "Free lossless audio codec") |
9ae7865e AE |
269 | (description |
270 | "FLAC stands for Free Lossless Audio Codec, an audio format that is lossless, | |
271 | meaning that audio is compressed in FLAC without any loss in quality.") | |
166191b3 | 272 | (license (license:non-copyleft "file://COPYING" |
dc2e4b0e | 273 | "See COPYING in the distribution.")) ; and LGPL and GPL |
2e33e6b1 | 274 | (home-page "https://xiph.org/flac/"))) |
9ae7865e | 275 | |
cfc8261c | 276 | (define libkate |
dc2e4b0e AE |
277 | (package |
278 | (name "libkate") | |
279 | (version "0.4.1") | |
280 | (source (origin | |
281 | (method url-fetch) | |
a89f731b | 282 | (uri (string-append "https://downloads.xiph.org/releases/kate/" |
7acc2a3e | 283 | "libkate-" version ".tar.gz")) |
dc2e4b0e AE |
284 | (sha256 |
285 | (base32 | |
286 | "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4")))) | |
287 | (build-system gnu-build-system) | |
707d3e24 | 288 | (native-inputs `(("doxygen" ,doxygen) |
a7f62024 | 289 | ("bison" ,bison) |
707d3e24 AE |
290 | ("pkg-config" ,pkg-config))) |
291 | ;; FIXME: Add optional input liboggz | |
a7f62024 | 292 | (inputs `(("libogg" ,libogg) |
dc2e4b0e | 293 | ("libpng" ,libpng) |
7acc2a3e | 294 | ("python" ,python-wrapper) |
dc2e4b0e | 295 | ("zlib" ,zlib))) |
35b9e423 | 296 | (synopsis "Karaoke and text codec for embedding in ogg") |
dc2e4b0e AE |
297 | (description |
298 | "Kate is an overlay codec, originally designed for karaoke and text, | |
35b9e423 EB |
299 | that can be multiplixed in Ogg. Text and images can be carried by a Kate |
300 | stream, and animated. Most of the time, this would be multiplexed with | |
dc2e4b0e AE |
301 | audio/video to carry subtitles, song lyrics (with or without karaoke data), |
302 | etc., but doesn't have to be. | |
303 | ||
304 | Series of curves (splines, segments, etc.) may be attached to various | |
305 | properties (text position, font size, etc.) to create animated overlays. | |
35b9e423 | 306 | This allows scrolling or fading text to be defined. This can even be used |
dc2e4b0e AE |
307 | to draw arbitrary shapes, so hand drawing can also be represented by a |
308 | Kate stream.") | |
309 | (license license:bsd-3) | |
7acc2a3e | 310 | (home-page "https://wiki.xiph.org/OggKate"))) |
dc2e4b0e | 311 | |
cfc8261c | 312 | (define vorbis-tools |
6a06172b AE |
313 | (package |
314 | (name "vorbis-tools") | |
d00380b0 | 315 | (version "1.4.2") |
6a06172b AE |
316 | (source (origin |
317 | (method url-fetch) | |
a89f731b | 318 | (uri (string-append "https://downloads.xiph.org/releases/vorbis/" |
35b9e423 | 319 | "vorbis-tools-" version ".tar.gz")) |
6a06172b AE |
320 | (sha256 |
321 | (base32 | |
d00380b0 | 322 | "1c7h4ivgfdyygz2hyh6nfibxlkz8kdk868a576qkkjgj5gn78xyv")))) |
6a06172b | 323 | (build-system gnu-build-system) |
1f73d3b4 AE |
324 | (inputs `(("ao" ,ao) |
325 | ("curl" ,curl) | |
dc2e4b0e AE |
326 | ("flac" ,flac) |
327 | ("libkate" ,libkate) | |
1f73d3b4 | 328 | ("libogg" ,libogg) |
1f5ec939 NK |
329 | ("libvorbis" ,libvorbis) |
330 | ("speex" ,speex))) | |
41eb1198 | 331 | (native-inputs `(("pkg-config" ,pkg-config))) |
35b9e423 | 332 | (synopsis "Ogg vorbis tools") |
6a06172b AE |
333 | (description |
334 | "Ogg vorbis is a non-proprietary, patent-and-royalty-free, | |
335 | general-purpose compressed audio format. | |
336 | ||
337 | The package vorbis-tools contains | |
338 | ogg123, an ogg vorbis command line audio player; | |
339 | oggenc, the ogg vorbis encoder; | |
340 | oggdec, a simple, portable command line decoder (to wav and raw); | |
341 | ogginfo, to obtain information (tags, bitrate, length, etc.) about | |
342 | an ogg vorbis file.") | |
dc2e4b0e | 343 | (license license:gpl2) |
2e33e6b1 | 344 | (home-page "https://xiph.org/vorbis/"))) |
a7f904fd SHT |
345 | |
346 | (define opus | |
347 | (package | |
348 | (name "opus") | |
57e839a2 | 349 | (version "1.3.1") |
a7f904fd SHT |
350 | (source (origin |
351 | (method url-fetch) | |
fce8285e LF |
352 | (uri (string-append "https://archive.mozilla.org/pub/opus/opus-" |
353 | version ".tar.gz")) | |
a7f904fd SHT |
354 | (sha256 |
355 | (base32 | |
57e839a2 | 356 | "17gz8kxs4i7icsc1gj713gadiapyklynlwqlf0ai98dj4lg8xdb5")))) |
a7f904fd | 357 | (build-system gnu-build-system) |
e500b9d9 MB |
358 | (arguments |
359 | '(#:configure-flags '("--disable-static"))) | |
35b9e423 | 360 | (synopsis "Versatile audio codec") |
a7f904fd | 361 | (description |
35b9e423 | 362 | "Opus is a totally open, royalty-free, highly versatile audio codec. Opus |
a7f904fd | 363 | is unmatched for interactive speech and music transmission over the Internet, |
35b9e423 | 364 | but is also intended for storage and streaming applications. It is |
a7f904fd SHT |
365 | standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which |
366 | incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.") | |
367 | (license license:bsd-3) | |
a8bcc5ff | 368 | (home-page "https://www.opus-codec.org"))) |
a886404f JD |
369 | |
370 | (define opus-tools | |
371 | (package | |
372 | (name "opus-tools") | |
d0ff383e | 373 | (version "0.2") |
a886404f JD |
374 | (source (origin |
375 | (method url-fetch) | |
376 | (uri (string-append | |
a89f731b | 377 | "https://downloads.xiph.org/releases/opus/opus-tools-" |
a886404f JD |
378 | version ".tar.gz")) |
379 | (sha256 | |
e881752c | 380 | (base32 |
d0ff383e | 381 | "11pzl27s4vcz4m18ch72nivbhww2zmzn56wspb7rll1y1nq6rrdl")))) |
a886404f JD |
382 | (build-system gnu-build-system) |
383 | (arguments | |
384 | ;; The package developers misuse pkg-config such that it doesn't work | |
e881752c | 385 | ;; when cross compiling. Therefore we avoid it completly and set the |
a886404f JD |
386 | ;; necessary flags ourselves. |
387 | `(#:configure-flags (list (string-append "CFLAGS=-I" | |
388 | (assoc-ref %build-inputs "libogg") | |
389 | "/include -I" | |
390 | (assoc-ref %build-inputs "opus") | |
391 | "/include/opus")))) | |
d0ff383e LF |
392 | (native-inputs |
393 | `(("pkg-config" ,pkg-config))) | |
394 | (inputs | |
395 | `(("libopusenc" ,libopusenc) | |
396 | ("opusfile" ,opusfile) | |
397 | ("flac" ,flac))) | |
e881752c AK |
398 | (synopsis |
399 | "Command line utilities to encode, inspect, and decode .opus files") | |
a886404f JD |
400 | (description "Opus is a royalty-free, highly versatile audio codec. |
401 | Opus-tools provide command line utilities for creating, inspecting and | |
e881752c | 402 | decoding .opus files.") |
a886404f | 403 | (license license:bsd-3) |
99d8b079 | 404 | (home-page "https://www.opus-codec.org"))) |
6ef1c223 | 405 | |
a7aa4e2a PW |
406 | (define opusfile |
407 | (package | |
408 | (name "opusfile") | |
fb6b40b0 | 409 | (version "0.12") |
a7aa4e2a PW |
410 | (source (origin |
411 | (method url-fetch) | |
412 | (uri (string-append | |
a89f731b | 413 | "https://downloads.xiph.org/releases/opus/opusfile-" version |
a7aa4e2a PW |
414 | ".tar.gz")) |
415 | (sha256 | |
416 | (base32 | |
fb6b40b0 | 417 | "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i")))) |
a7aa4e2a | 418 | (build-system gnu-build-system) |
75ebc650 MB |
419 | (arguments |
420 | '(#:configure-flags '("--disable-static"))) | |
844b3272 | 421 | ;; Required by opusfile.pc and opusurl.pc. |
a7aa4e2a | 422 | (propagated-inputs |
844b3272 LF |
423 | `(("libogg" ,libogg) |
424 | ("openssl" ,openssl) | |
425 | ("opus" ,opus))) | |
a7aa4e2a PW |
426 | (native-inputs |
427 | `(("pkg-config" ,pkg-config))) | |
a7aa4e2a PW |
428 | (synopsis "Versatile audio codec") |
429 | (description | |
430 | "The opusfile library provides seeking, decode, and playback of Opus | |
431 | streams in the Ogg container (.opus files) including over http(s) on posix and | |
432 | windows systems.") | |
433 | (license license:bsd-3) | |
2e33e6b1 | 434 | (home-page "https://www.opus-codec.org"))) |
a7aa4e2a | 435 | |
ce08d54c LF |
436 | (define-public libopusenc |
437 | (package | |
438 | (name "libopusenc") | |
439 | (version "0.2.1") | |
440 | (source (origin | |
441 | (method url-fetch) | |
442 | (uri (string-append "https://archive.mozilla.org/pub/opus/" | |
443 | "libopusenc-" version ".tar.gz")) | |
444 | (sha256 | |
445 | (base32 | |
446 | "1ffb0vhlymlsq70pxsjj0ksz77yfm2x0a1x8q50kxmnkm1hxp642")))) | |
447 | (build-system gnu-build-system) | |
448 | (native-inputs | |
449 | `(("pkg-config" ,pkg-config))) | |
450 | (propagated-inputs | |
451 | `(("opus" ,opus))) | |
452 | (synopsis "Library for encoding Opus audio files and streams ") | |
453 | (description "The libopusenc libraries provide a high-level API for | |
454 | encoding Opus files and streams.") | |
455 | (home-page "https://www.opus-codec.org/") | |
456 | (license license:bsd-3))) | |
457 | ||
6ef1c223 DT |
458 | (define-public icecast |
459 | (package | |
460 | (name "icecast") | |
361dd8a5 | 461 | (version "2.4.4") |
6ef1c223 DT |
462 | (source (origin |
463 | (method url-fetch) | |
464 | (uri (string-append | |
a89f731b | 465 | "https://downloads.xiph.org/releases/icecast/icecast-" |
6ef1c223 DT |
466 | version ".tar.gz")) |
467 | (sha256 | |
468 | (base32 | |
361dd8a5 | 469 | "0i2d9rhav0x6js2qhjf5iy6j2a7f0d11ail0lfv40hb1kygrgda9")))) |
6ef1c223 DT |
470 | (build-system gnu-build-system) |
471 | (native-inputs | |
472 | `(("pkg-config" ,pkg-config))) | |
473 | (inputs | |
474 | `(("libxslt" ,libxslt) | |
475 | ("libxml2" ,libxml2) | |
476 | ("openssl" ,openssl) | |
477 | ("curl" ,curl) | |
478 | ("libogg" ,libogg) | |
479 | ("libvorbis" ,libvorbis) | |
480 | ("libtheora" ,libtheora) | |
481 | ("speex" ,speex))) | |
482 | (synopsis "Streaming media server") | |
483 | (description "Icecast is a streaming media server which currently supports | |
484 | Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams. It can be used to | |
485 | create an Internet radio station or a privately running jukebox and many | |
486 | things in between.") | |
2e33e6b1 | 487 | (home-page "https://icecast.org/") |
6ef1c223 | 488 | (license license:gpl2))) |
9d44ab95 SB |
489 | |
490 | (define-public libshout | |
491 | (package | |
492 | (name "libshout") | |
15bffa0c | 493 | (version "2.4.5") |
9d44ab95 SB |
494 | (source (origin |
495 | (method url-fetch) | |
496 | (uri (string-append | |
a89f731b | 497 | "https://downloads.xiph.org/releases/libshout/" |
7824fbf8 | 498 | "libshout-" version ".tar.gz")) |
9d44ab95 SB |
499 | (sha256 |
500 | (base32 | |
15bffa0c | 501 | "1438da40y73y9068saxrbmm27qq6xqmmzsziwgmr8fb7i9k6irfr")))) |
9d44ab95 SB |
502 | (build-system gnu-build-system) |
503 | (native-inputs | |
504 | `(("pkg-config" ,pkg-config))) | |
505 | (propagated-inputs | |
506 | ;; shout.pc refers to all these. | |
507 | `(("libtheora" ,libtheora) | |
508 | ("libvorbis" ,libvorbis) | |
509 | ("speex" ,speex))) | |
a89f731b | 510 | (home-page "https://icecast.org/") |
9d44ab95 SB |
511 | (synopsis "Audio streaming library for icecast encoders") |
512 | (description | |
513 | "Libshout is a library for communicating with and sending data to an | |
514 | icecast server. It handles the socket connection, the timing of the data, | |
515 | and prevents bad data from getting to the icecast server.") | |
516 | (license license:gpl2+))) |