gnu: docbook-xsl update to 1.78.1
[jackhill/guix/guix.git] / gnu / packages / mp3.scm
CommitLineData
d464e725
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages mp3)
20 #:use-module ((guix licenses)
21 #:renamer (symbol-prefix-proc 'license:))
25352fe1 22 #:use-module (gnu packages)
d464e725 23 #:use-module (gnu packages autotools)
25352fe1 24 #:use-module (gnu packages cdrom)
8cc9c0da 25 #:use-module (gnu packages compression)
54ff0b7d 26 #:use-module (gnu packages gettext)
25352fe1
AE
27 #:use-module (gnu packages ghostscript)
28 #:use-module (gnu packages glib)
29 #:use-module (gnu packages gtk)
c23e9e48
AE
30 #:use-module (gnu packages pcre)
31 #:use-module (gnu packages pkg-config)
54ff0b7d 32 #:use-module (gnu packages xiph)
1bdb591b
LC
33 #:use-module (gnu packages pulseaudio)
34 #:use-module ((gnu packages linux)
35 #:select (alsa-lib))
d464e725
AE
36 #:use-module (guix packages)
37 #:use-module (guix download)
38 #:use-module (guix build-system gnu))
39
40(define-public libmad
41 (package
42 (name "libmad")
43 (version "0.15.1b")
44 (source (origin
45 (method url-fetch)
46 (uri (string-append "mirror://sourceforge/mad/libmad/"
47 version "/libmad-"
48 version ".tar.gz"))
49 (sha256
50 (base32
dd863f1f
MW
51 "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
52 (patches (list (search-patch "libmad-mips-newgcc.patch")))))
d464e725
AE
53 (build-system gnu-build-system)
54 (arguments
55 `(#:phases
d4bf49b1
EB
56 (alist-cons-before
57 'configure 'remove-unsupported-gcc-flags
58 (lambda _
59 ;; remove option that is not supported by gcc any more
60 (substitute* "configure" ((" -fforce-mem") "")))
d464e725
AE
61 %standard-phases)))
62 (synopsis "libmad, an MPEG audio decoder")
63 (description
64 "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to
65lower sampling frequencies, as well as the de facto MPEG 2.5 format.
66All three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — are
67fully implemented.
68
69This package contains the library.")
70 (license license:gpl2+)
71 (home-page "http://www.underbit.com/products/mad/")))
72
8cc9c0da
AE
73(define-public libid3tag
74 (package
75 (name "libid3tag")
76 (version "0.15.1b")
77 (source (origin
78 (method url-fetch)
79 (uri (string-append "mirror://sourceforge/mad/libid3tag/"
80 version "/libid3tag-"
81 version ".tar.gz"))
82 (sha256
83 (base32
84 "0lb1w883dc46dajbdvnia5870brl5lvnlk7g7y58y9wpg5p4znk3"))))
85 (build-system gnu-build-system)
86 (inputs `(("zlib" ,zlib)))
87 (synopsis "libid3tag, a library for reading ID3 tags")
88 (description
89 "libid3tag is a library for reading ID3 tags, both ID3v1 and the various
90versions of ID3v2")
91 (license license:gpl2+)
92 (home-page "http://www.underbit.com/products/mad/")))
93
fbd84457
AE
94(define-public id3lib
95 (package
96 (name "id3lib")
97 (version "3.8.3")
98 (source (origin
99 (method url-fetch)
100 (uri (string-append "mirror://sourceforge/id3lib/id3lib/"
101 version "/id3lib-"
102 version ".tar.gz"))
103 (sha256
104 (base32
105 "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))))
106 (build-system gnu-build-system)
107 (arguments
108 `(#:phases
d4bf49b1
EB
109 (alist-cons-before
110 'configure 'apply-patches
111 ;; TODO: create a patch for origin instead?
112 (lambda _
113 (substitute* "configure"
114 (("iomanip.h") "")) ; drop check for unused header
115 ;; see http://www.linuxfromscratch.org/patches/downloads/id3lib/
116 (substitute* "include/id3/id3lib_strings.h"
117 (("include <string>") "include <cstring>\n#include <string>"))
118 (substitute* "include/id3/writers.h"
119 (("//\\#include <string.h>") "#include <cstring>"))
120 (substitute* "examples/test_io.cpp"
121 (("dami;") "dami;\nusing namespace std;")))
fbd84457
AE
122 %standard-phases)))
123 (synopsis "a library for reading, writing, and manipulating ID3v1 and ID3v2 tags")
124 (description
125 "id3lib is a cross-platform software development library for reading,
126writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project
127whose primary goals are full compliance with the ID3v2 standard, portability
128across several platforms, and providing a powerful and feature-rich API with
129a highly stable and efficient implementation.")
130 (license license:lgpl2.0+)
131 (home-page "http://id3lib.sourceforge.net/")))
132
c23e9e48
AE
133(define-public libmp3splt
134 (package
135 (name "libmp3splt")
136 (version "0.8.1a")
137 (source (origin
138 (method url-fetch)
139 (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/"
140 version "/libmp3splt-"
141 version ".tar.gz"))
142 (sha256
143 (base32
144 "0d20r1bd4fgp9kp7w3qixjgll34czck9dgw59mx2kbhb0mhh00d8"))))
145 (build-system gnu-build-system)
146 (inputs `(("libid3tag" ,libid3tag)
147 ("libmad" ,libmad)
148 ("libogg" ,libogg)
149 ("libtool" ,libtool)
150 ("libvorbid" ,libvorbis)
c23e9e48 151 ("pcre" ,pcre)))
c4c4cc05
JD
152 (native-inputs
153 `(("pkg-config" ,pkg-config)))
c23e9e48
AE
154 (synopsis "libmp3splt, a library for splitting mp3 and ogg vorbis files")
155 (description
156 "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
157and an end time position, without decoding. For splitting an album, one may
158select split points and filenames manually or obtain them automatically from
159CDDB (internet or a local file) or from .cue files. The tool also supports
160automatic silence split, that can be used also to adjust cddb/cue splitpoints.
161
162This package contains the library.")
163 (license license:gpl2+)
164 (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
165
166(define-public mp3splt
167 (package
168 (name "mp3splt")
169 (version "2.5.1")
170 (source (origin
171 (method url-fetch)
172 (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/"
173 version "/mp3splt-"
174 version ".tar.gz"))
175 (sha256
176 (base32
177 "106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh"))))
178 (build-system gnu-build-system)
179 (inputs `(("libmp3splt" ,libmp3splt)))
180 (synopsis "mp3splt, a utiliy for splitting mp3 and ogg vorbis files")
181 (description
182 "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
183and an end time position, without decoding. For splitting an album, one may
184select split points and filenames manually or obtain them automatically from
185CDDB (internet or a local file) or from .cue files. The tool also supports
186automatic silence split, that can be used also to adjust cddb/cue splitpoints.
187
188This package contains the binary.")
189 (license license:gpl2+)
190 (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
191
1bdb591b
LC
192(define-public mpg123
193 (package
194 (name "mpg123")
195 (version "1.19.0")
196 (source (origin
197 (method url-fetch)
198 (uri (string-append "mirror://sourceforge/mpg123/mpg123-"
199 version ".tar.bz2"))
200 (sha256
201 (base32
202 "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446"))))
203 (build-system gnu-build-system)
204 (arguments '(#:configure-flags '("--with-default-audio=pulse")))
205 (native-inputs `(("pkg-config" ,pkg-config)))
206 (inputs `(("pulseaudio" ,pulseaudio)
207 ("alsa-lib" ,alsa-lib)))
208 (home-page "http://www.mpg123.org/")
209 (synopsis "Console MP3 player and decoder library")
210 (description
211 "mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers
2121,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). It comes with a
213command-line tool as well as a C library, libmpg123.")
214 (license license:lgpl2.1)))
215
0a56fadb
LC
216(define-public mpg321
217 (package
218 (name "mpg321")
219 (version "0.3.1")
220 (source (origin
221 (method url-fetch)
222 (uri (string-append "mirror://sourceforge/mpg321/"
223 version "/mpg321-" version ".tar.gz"))
224 (sha256
225 (base32
226 "0yamsqvj15nsxxnjs9mgyslzx7krgsfk3q1hk3g6l8w9bbbj770b"))))
227 (build-system gnu-build-system)
228 (arguments '(#:configure-flags '("--disable-alsa")))
229 (inputs
230 `(("zlib" ,zlib)
231 ("libmad" ,libmad)
232 ("libid3tag" ,libid3tag)
233 ("libao" ,ao)))
234 (home-page "http://mpg321.sourceforge.net/")
235 (synopsis "Command-line MP3 player")
236 (description "mpg321 is a command-line mp3 player. mpg321 is used for
237frontends, as an mp3 player and as an mp3 to wave file decoder (primarily for
238use with CD-recording software).")
239 (license license:gpl2)))
2ae92cbc
AE
240
241(define-public lame
242 (package
243 (name "lame")
244 (version "3.99.5")
245 (source (origin
246 (method url-fetch)
247 (uri (string-append "mirror://sourceforge/lame/lame/3.99/lame-"
248 version ".tar.gz"))
249 (sha256
250 (base32
251 "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14"))))
252 (build-system gnu-build-system)
253 (home-page "http://lame.sourceforge.net/")
254 (synopsis "MPEG Audio Layer III (MP3) encoder")
255 (description "LAME is a high quality MPEG Audio Layer III (MP3) encoder.")
256 (license license:lgpl2.0)))
25352fe1
AE
257
258(define-public ripperx
259 (package
260 (name "ripperx")
261 (version "2.7.3")
262 (source (origin
263 (method url-fetch)
264 (uri (string-append "mirror://sourceforge/ripperx/ripperx/"
265 version "/ripperX-"
266 version ".tar.gz"))
267 (sha256
268 (base32
01eafd38
LC
269 "130rsb2ly0l6hz728m9qr605ir4073xfl2acvf83id63kxfzjn3x"))
270 (patches
271 ;; see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713684
272 (list (search-patch "ripperx-libm.patch")))))
25352fe1
AE
273 (build-system gnu-build-system)
274 (propagated-inputs
275 `(("gs-fonts" ,gs-fonts)
276 ("cdparanoia" ,cdparanoia)
277 ("flac" ,flac)
278 ("lame" ,lame)
279 ("vorbis-tools" ,vorbis-tools)))
280 (inputs
01eafd38 281 `(("glib" ,glib)
8b0275b6 282 ("gtk+" ,gtk+-2)
c4c4cc05
JD
283 ("id3lib" ,id3lib)))
284 (native-inputs
285 `(("pkg-config" ,pkg-config)))
25352fe1
AE
286 (synopsis "GTK program to rip and encode CD audio tracks")
287 (description
288 "RipperX is a GTK program to rip CD audio tracks and encode them to the
289Ogg, MP3, or FLAC formats. It's goal is to be easy to use, requiring only
290a few mouse clicks to convert an entire album. It supports CDDB lookups
291for album and track information.")
292 (license license:gpl2)
293 (home-page "http://sourceforge.net/projects/ripperx/")))
8f0fd238
LC
294
295(define-public libmpcdec
296 (package
297 (name "libmpcdec")
298 (version "1.2.6")
299 (source (origin
300 (method url-fetch)
301 (uri (string-append
302 "http://files.musepack.net/source/libmpcdec-"
303 version ".tar.bz2"))
304 (sha256
305 (base32
306 "1a0jdyga1zfi4wgkg3905y6inghy3s4xfs5m4x7pal08m0llkmab"))))
307 (build-system gnu-build-system)
308 (synopsis "Decoding library for the Musepack audio format")
309 (description
310 "This library supports decoding of the Musepack (MPC) audio compression
311format.")
312 (license license:bsd-3)
313 (home-page "http://musepack.net")))
314
315(define-public mpc123
316 (package
317 (name "mpc123")
318 (version "0.2.4")
319 (source (origin
320 (method url-fetch)
321 (uri (string-append "mirror://sourceforge/mpc123/version%20"
322 version "/mpc123-" version ".tar.gz"))
323 (sha256
324 (base32
86d07a55
LC
325 "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
326 (patches (list (search-patch "mpc123-initialize-ao.patch")))))
8f0fd238
LC
327 (build-system gnu-build-system)
328 (arguments
329 '(#:phases (alist-replace
330 'configure
331 (lambda _
332 (substitute* "Makefile"
333 (("CC[[:blank:]]*:=.*")
334 "CC := gcc\n")))
335 (alist-replace
336 'install
337 (lambda* (#:key outputs #:allow-other-keys)
338 (let* ((out (assoc-ref outputs "out"))
339 (bin (string-append out "/bin")))
340 (mkdir-p bin)
341 (copy-file "mpc123" (string-append bin "/mpc123"))))
342 %standard-phases))
343 #:tests? #f))
344
345 (native-inputs
346 `(("gettext" ,gnu-gettext)))
347 (inputs
348 `(("libao" ,ao)
349 ("libmpcdec" ,libmpcdec)))
350 (home-page "http://mpc123.sourceforge.net/")
351 (synopsis "Audio player for Musepack-formatted files")
352 (description
353 "mpc123 is a command-line player for files in the Musepack audio
354compression format (.mpc files.)")
355 (license license:gpl2+)))