gnu: emacs-ccls: Revise license.
[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>
d5ff67f4 3;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
c0eac5a8 4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
d1cd67af 5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
35e65701 6;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
b5f6700f 7;;; Copyright © 2017, 2019 Pierre Langlois <pierre.langlois@gmx.com>
7c64cc7a 8;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
d464e725
AE
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages mp3)
b5b73a82 26 #:use-module ((guix licenses) #:prefix license:)
25352fe1 27 #:use-module (gnu packages)
d464e725 28 #:use-module (gnu packages autotools)
194782a8
MW
29 #:use-module (gnu packages base)
30 #:use-module (gnu packages gcc)
9518fde1 31 #:use-module (gnu packages boost)
25352fe1 32 #:use-module (gnu packages cdrom)
8cc9c0da 33 #:use-module (gnu packages compression)
54ff0b7d 34 #:use-module (gnu packages gettext)
25352fe1 35 #:use-module (gnu packages ghostscript)
68ff528c 36 #:use-module (gnu packages ncurses)
25352fe1
AE
37 #:use-module (gnu packages glib)
38 #:use-module (gnu packages gtk)
c23e9e48
AE
39 #:use-module (gnu packages pcre)
40 #:use-module (gnu packages pkg-config)
13ef3e99 41 #:use-module (gnu packages python)
44d10b1f 42 #:use-module (gnu packages python-xyz)
54ff0b7d 43 #:use-module (gnu packages xiph)
1bdb591b 44 #:use-module (gnu packages pulseaudio)
a82bec4e 45 #:use-module (gnu packages linux) ;alsa-lib
9518fde1 46 #:use-module (gnu packages video) ;ffmpeg
d464e725
AE
47 #:use-module (guix packages)
48 #:use-module (guix download)
3d679ab1 49 #:use-module (guix utils)
086518dd 50 #:use-module (guix build-system gnu)
13ef3e99 51 #:use-module (guix build-system python)
086518dd 52 #:use-module (guix build-system cmake))
d464e725
AE
53
54(define-public libmad
55 (package
56 (name "libmad")
57 (version "0.15.1b")
58 (source (origin
59 (method url-fetch)
60 (uri (string-append "mirror://sourceforge/mad/libmad/"
61 version "/libmad-"
62 version ".tar.gz"))
63 (sha256
64 (base32
dd863f1f 65 "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
fc1adab1
AK
66 (patches (search-patches "libmad-armv7-thumb-pt1.patch"
67 "libmad-armv7-thumb-pt2.patch"
aac6c53a
MW
68 "libmad-md_size.patch"
69 "libmad-length-check.patch"
fc1adab1 70 "libmad-mips-newgcc.patch"))))
d464e725
AE
71 (build-system gnu-build-system)
72 (arguments
73 `(#:phases
dc1d3cde
KK
74 (modify-phases %standard-phases
75 (add-before 'configure 'remove-unsupported-gcc-flags
4f27a333
MB
76 (lambda _
77 ;; remove option that is not supported by gcc any more
78 (substitute* "configure" ((" -fforce-mem") ""))
79 #t)))))
35b9e423 80 (synopsis "MPEG audio decoder")
d464e725
AE
81 (description
82 "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to
83lower sampling frequencies, as well as the de facto MPEG 2.5 format.
84All three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — are
85fully implemented.
86
87This package contains the library.")
88 (license license:gpl2+)
296f091b 89 (home-page "https://www.underbit.com/products/mad/")))
d464e725 90
8cc9c0da
AE
91(define-public libid3tag
92 (package
93 (name "libid3tag")
94 (version "0.15.1b")
95 (source (origin
96 (method url-fetch)
97 (uri (string-append "mirror://sourceforge/mad/libid3tag/"
98 version "/libid3tag-"
99 version ".tar.gz"))
100 (sha256
101 (base32
102 "0lb1w883dc46dajbdvnia5870brl5lvnlk7g7y58y9wpg5p4znk3"))))
103 (build-system gnu-build-system)
104 (inputs `(("zlib" ,zlib)))
35b9e423 105 (synopsis "Library for reading ID3 tags")
8cc9c0da 106 (description
35b9e423 107 "Libid3tag is a library for reading ID3 tags, both ID3v1 and the various
e881752c 108versions of ID3v2.")
8cc9c0da 109 (license license:gpl2+)
296f091b 110 (home-page "https://www.underbit.com/products/mad/")))
8cc9c0da 111
fbd84457
AE
112(define-public id3lib
113 (package
114 (name "id3lib")
115 (version "3.8.3")
116 (source (origin
117 (method url-fetch)
118 (uri (string-append "mirror://sourceforge/id3lib/id3lib/"
1f521b70 119 version "/id3lib-" version ".tar.gz"))
fbd84457
AE
120 (sha256
121 (base32
1f521b70 122 "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))
35e65701
TD
123 (modules '((guix build utils)))
124 ;; Don't use bundled zlib
6cbee49d 125 (snippet '(begin (delete-file-recursively "zlib") #t))
b5f6700f
PL
126 (patches (search-patches "id3lib-CVE-2007-4460.patch"
127 "id3lib-UTF16-writing-bug.patch"))))
fbd84457 128 (build-system gnu-build-system)
35e65701 129 (inputs `(("zlib" ,zlib)))
fbd84457
AE
130 (arguments
131 `(#:phases
dc1d3cde
KK
132 (modify-phases %standard-phases
133 (add-before 'configure 'apply-patches
134 ;; TODO: create a patch for origin instead?
135 (lambda _
136 (substitute* "configure"
137 (("iomanip.h") "")) ; drop check for unused header
138 ;; see http://www.linuxfromscratch.org/patches/downloads/id3lib/
139 (substitute* "include/id3/id3lib_strings.h"
140 (("include <string>") "include <cstring>\n#include <string>"))
141 (substitute* "include/id3/writers.h"
142 (("//\\#include <string.h>") "#include <cstring>"))
143 (substitute* "examples/test_io.cpp"
144 (("dami;") "dami;\nusing namespace std;"))
145 #t)))))
35b9e423 146 (synopsis "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags")
fbd84457 147 (description
35b9e423
EB
148 "Id3lib is a cross-platform software development library for reading,
149writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project
fbd84457
AE
150whose primary goals are full compliance with the ID3v2 standard, portability
151across several platforms, and providing a powerful and feature-rich API with
152a highly stable and efficient implementation.")
153 (license license:lgpl2.0+)
154 (home-page "http://id3lib.sourceforge.net/")))
155
086518dd
LC
156(define-public taglib
157 (package
158 (name "taglib")
d1451fa0 159 (version "1.11.1")
086518dd
LC
160 (source (origin
161 (method url-fetch)
162 (uri (string-append "http://taglib.github.io/releases/taglib-"
163 version ".tar.gz"))
164 (sha256
165 (base32
d1451fa0 166 "0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn"))))
086518dd 167 (build-system cmake-build-system)
d1451fa0
PL
168 (arguments
169 '(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on.
170 #:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
086518dd 171 (inputs `(("zlib" ,zlib)))
d1451fa0 172 (home-page "http://taglib.org")
086518dd
LC
173 (synopsis "Library to access audio file meta-data")
174 (description
175 "TagLib is a C++ library for reading and editing the meta-data of several
176popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
177files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
178Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
179
180 ;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1.
181 (license (list license:lgpl2.1 license:mpl1.1))))
182
68ff528c
LC
183(define-public mp3info
184 (package
185 (name "mp3info")
186 (version "0.8.5a")
187 (source (origin
188 (method url-fetch)
189 (uri (string-append
296f091b 190 "https://ibiblio.org"
f8f8897f 191 "/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
68ff528c
LC
192 version ".tgz"))
193 (sha256
194 (base32
195 "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04"))
196 (modules '((guix build utils)))
197 (snippet
6cbee49d
MW
198 '(begin
199 (substitute* "Makefile"
200 (("/bin/rm") "rm")
201 (("/usr/bin/install") "install")
202 (("man/man1") "share/man/man1"))
203 #t))))
68ff528c
LC
204 (build-system gnu-build-system)
205 (outputs '("out" "gui")) ;GTK+ interface in "gui"
206 (arguments
dc1d3cde
KK
207 '(#:phases
208 (modify-phases %standard-phases
209 (replace 'configure
210 (lambda* (#:key outputs #:allow-other-keys)
211 (let ((out (assoc-ref outputs "out")))
212 (substitute* "Makefile"
213 (("prefix=.*")
214 (string-append "prefix := " out "\n"))))
215 #t))
216 (add-before 'install 'pre-install
217 (lambda* (#:key outputs #:allow-other-keys)
218 (let ((out (assoc-ref outputs "out")))
219 (mkdir-p (string-append out "/bin"))
220 (mkdir-p (string-append out "/share/man/man1")))
221 #t))
222 (add-after 'install 'post-install
223 (lambda* (#:key outputs #:allow-other-keys)
224 ;; Move the GTK+ interface to "gui".
225 (let ((out (assoc-ref outputs "out"))
226 (gui (assoc-ref outputs "gui")))
227 (mkdir-p (string-append gui "/bin"))
228 (rename-file (string-append out "/bin/gmp3info")
229 (string-append gui "/bin/gmp3info")))
230 #t)))
68ff528c
LC
231 #:tests? #f))
232 (native-inputs
233 `(("pkg-config" ,pkg-config)))
234 (inputs
235 `(("gtk+" ,gtk+-2)
236 ("ncurses" ,ncurses)))
296f091b 237 (home-page "https://www.ibiblio.org/mp3info/")
68ff528c
LC
238 (synopsis "MP3 technical info viewer and ID3 1.x tag editor")
239 (description
240 "MP3Info is a little utility used to read and modify the ID3 tags of MP3
e881752c 241files. MP3Info can also display various technical aspects of an MP3 file
68ff528c
LC
242including playing time, bit-rate, sampling frequency and other attributes in a
243pre-defined or user-specifiable output format.")
244 (license license:gpl2+)))
245
c23e9e48
AE
246(define-public libmp3splt
247 (package
248 (name "libmp3splt")
67a8298c 249 (version "0.9.2")
c23e9e48
AE
250 (source (origin
251 (method url-fetch)
252 (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/"
253 version "/libmp3splt-"
254 version ".tar.gz"))
255 (sha256
256 (base32
67a8298c 257 "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih"))))
c23e9e48
AE
258 (build-system gnu-build-system)
259 (inputs `(("libid3tag" ,libid3tag)
260 ("libmad" ,libmad)
261 ("libogg" ,libogg)
3246cc91 262 ("libltdl" ,libltdl)
e881752c 263 ("libvorbis" ,libvorbis)
c23e9e48 264 ("pcre" ,pcre)))
c4c4cc05
JD
265 (native-inputs
266 `(("pkg-config" ,pkg-config)))
35b9e423 267 (synopsis "Library for splitting mp3 and ogg vorbis files")
c23e9e48
AE
268 (description
269 "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
35b9e423 270and an end time position, without decoding. For splitting an album, one may
e881752c 271select split points and file names manually or obtain them automatically from
35b9e423 272CDDB (internet or a local file) or from .cue files. The tool also supports
c23e9e48
AE
273automatic silence split, that can be used also to adjust cddb/cue splitpoints.
274
275This package contains the library.")
276 (license license:gpl2+)
277 (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
278
279(define-public mp3splt
280 (package
281 (name "mp3splt")
2041f901 282 (version "2.6.2")
c23e9e48
AE
283 (source (origin
284 (method url-fetch)
285 (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/"
286 version "/mp3splt-"
287 version ".tar.gz"))
288 (sha256
289 (base32
2041f901 290 "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"))))
c23e9e48 291 (build-system gnu-build-system)
2041f901 292 (native-inputs `(("pkg-config" ,pkg-config)))
c23e9e48 293 (inputs `(("libmp3splt" ,libmp3splt)))
e881752c 294 (synopsis "Utility for splitting mp3 and ogg vorbis files")
c23e9e48
AE
295 (description
296 "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
35b9e423 297and an end time position, without decoding. For splitting an album, one may
e881752c 298select split points and file names manually or obtain them automatically from
35b9e423 299CDDB (internet or a local file) or from .cue files. The tool also supports
c23e9e48
AE
300automatic silence split, that can be used also to adjust cddb/cue splitpoints.
301
302This package contains the binary.")
303 (license license:gpl2+)
304 (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
305
1bdb591b
LC
306(define-public mpg123
307 (package
308 (name "mpg123")
eb28d9cf 309 (version "1.25.13")
1bdb591b
LC
310 (source (origin
311 (method url-fetch)
d5ff67f4
LC
312 (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
313 version "/mpg123-" version ".tar.bz2")
314 (string-append
296f091b 315 "https://www.mpg123.org/download/mpg123-"
d5ff67f4 316 version ".tar.bz2")))
1bdb591b
LC
317 (sha256
318 (base32
eb28d9cf 319 "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h"))))
1bdb591b
LC
320 (build-system gnu-build-system)
321 (arguments '(#:configure-flags '("--with-default-audio=pulse")))
322 (native-inputs `(("pkg-config" ,pkg-config)))
323 (inputs `(("pulseaudio" ,pulseaudio)
324 ("alsa-lib" ,alsa-lib)))
53a416d6 325 (home-page "https://www.mpg123.org/")
1bdb591b
LC
326 (synopsis "Console MP3 player and decoder library")
327 (description
35b9e423 328 "Mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers
1bdb591b
LC
3291,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). It comes with a
330command-line tool as well as a C library, libmpg123.")
331 (license license:lgpl2.1)))
332
0a56fadb
LC
333(define-public mpg321
334 (package
335 (name "mpg321")
5ed7f28d 336 (version "0.3.2")
0a56fadb
LC
337 (source (origin
338 (method url-fetch)
de67e922 339 (uri (string-append "mirror://sourceforge/mpg321/mpg321/"
0a56fadb
LC
340 version "/mpg321-" version ".tar.gz"))
341 (sha256
342 (base32
5ed7f28d 343 "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5"))))
0a56fadb
LC
344 (build-system gnu-build-system)
345 (arguments '(#:configure-flags '("--disable-alsa")))
346 (inputs
347 `(("zlib" ,zlib)
348 ("libmad" ,libmad)
349 ("libid3tag" ,libid3tag)
350 ("libao" ,ao)))
351 (home-page "http://mpg321.sourceforge.net/")
352 (synopsis "Command-line MP3 player")
35b9e423 353 (description "Mpg321 is a command-line mp3 player. mpg321 is used for
0a56fadb
LC
354frontends, as an mp3 player and as an mp3 to wave file decoder (primarily for
355use with CD-recording software).")
356 (license license:gpl2)))
2ae92cbc
AE
357
358(define-public lame
359 (package
360 (name "lame")
3d679ab1 361 (version "3.100")
2ae92cbc
AE
362 (source (origin
363 (method url-fetch)
3d679ab1
MB
364 (uri (string-append "mirror://sourceforge/lame/lame/"
365 (version-major+minor version) "/lame-"
2ae92cbc
AE
366 version ".tar.gz"))
367 (sha256
368 (base32
3d679ab1 369 "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx"))))
2ae92cbc
AE
370 (build-system gnu-build-system)
371 (home-page "http://lame.sourceforge.net/")
372 (synopsis "MPEG Audio Layer III (MP3) encoder")
373 (description "LAME is a high quality MPEG Audio Layer III (MP3) encoder.")
374 (license license:lgpl2.0)))
25352fe1
AE
375
376(define-public ripperx
377 (package
378 (name "ripperx")
d0dfc066 379 (version "2.8.0")
25352fe1
AE
380 (source (origin
381 (method url-fetch)
382 (uri (string-append "mirror://sourceforge/ripperx/ripperx/"
d0dfc066
AE
383 version "/ripperx-"
384 version ".tar.bz2"))
25352fe1
AE
385 (sha256
386 (base32
d0dfc066 387 "1ss3c1a5hx6c99q1cryxg0jhbnbdj6ga9xyz0dzlz9qhzg5qswfs"))
fc1adab1 388 (patches (search-patches "ripperx-missing-file.patch"))))
25352fe1
AE
389 (build-system gnu-build-system)
390 (propagated-inputs
391 `(("gs-fonts" ,gs-fonts)
392 ("cdparanoia" ,cdparanoia)
393 ("flac" ,flac)
394 ("lame" ,lame)
395 ("vorbis-tools" ,vorbis-tools)))
396 (inputs
01eafd38 397 `(("glib" ,glib)
8b0275b6 398 ("gtk+" ,gtk+-2)
d0dfc066
AE
399 ("id3lib" ,id3lib)
400 ("taglib" ,taglib)))
c4c4cc05
JD
401 (native-inputs
402 `(("pkg-config" ,pkg-config)))
25352fe1
AE
403 (synopsis "GTK program to rip and encode CD audio tracks")
404 (description
405 "RipperX is a GTK program to rip CD audio tracks and encode them to the
35b9e423
EB
406Ogg, MP3, or FLAC formats. Its goal is to be easy to use, requiring only
407a few mouse clicks to convert an entire album. It supports CDDB lookups
25352fe1
AE
408for album and track information.")
409 (license license:gpl2)
3b3b60d0 410 (home-page "https://sourceforge.net/projects/ripperx/")))
8f0fd238
LC
411
412(define-public libmpcdec
413 (package
414 (name "libmpcdec")
415 (version "1.2.6")
416 (source (origin
417 (method url-fetch)
418 (uri (string-append
296f091b 419 "https://files.musepack.net/source/libmpcdec-"
8f0fd238
LC
420 version ".tar.bz2"))
421 (sha256
422 (base32
423 "1a0jdyga1zfi4wgkg3905y6inghy3s4xfs5m4x7pal08m0llkmab"))))
424 (build-system gnu-build-system)
425 (synopsis "Decoding library for the Musepack audio format")
426 (description
427 "This library supports decoding of the Musepack (MPC) audio compression
428format.")
429 (license license:bsd-3)
296f091b 430 (home-page "https://musepack.net")))
8f0fd238
LC
431
432(define-public mpc123
433 (package
434 (name "mpc123")
435 (version "0.2.4")
436 (source (origin
437 (method url-fetch)
d1cd67af
EF
438 (uri (list (string-append "mirror://sourceforge/mpc123/version%20"
439 version "/mpc123-" version ".tar.gz")
440 (string-append "mirror://debian/pool/main/m/" name
441 "/" name "_" version ".orig.tar.gz")))
8f0fd238
LC
442 (sha256
443 (base32
86d07a55 444 "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
fc1adab1 445 (patches (search-patches "mpc123-initialize-ao.patch"))))
8f0fd238
LC
446 (build-system gnu-build-system)
447 (arguments
1a847b70
EF
448 '(#:phases
449 (modify-phases %standard-phases
450 (replace 'configure
451 (lambda _
452 (substitute* "Makefile"
453 (("CC[[:blank:]]*:=.*")
454 "CC := gcc\n"))))
455 (replace 'install
456 (lambda* (#:key outputs #:allow-other-keys)
457 (let* ((out (assoc-ref outputs "out"))
458 (bin (string-append out "/bin")))
1a847b70 459 (install-file "mpc123" bin)))))
8f0fd238 460 #:tests? #f))
8f0fd238 461 (native-inputs
b94a6ca0 462 `(("gettext" ,gettext-minimal)))
8f0fd238
LC
463 (inputs
464 `(("libao" ,ao)
465 ("libmpcdec" ,libmpcdec)))
d1cd67af 466 (home-page "https://github.com/bucciarati/mpc123")
8f0fd238
LC
467 (synopsis "Audio player for Musepack-formatted files")
468 (description
35b9e423 469 "Mpc123 is a command-line player for files in the Musepack audio
e881752c 470compression format (.mpc files).")
8f0fd238 471 (license license:gpl2+)))
13ef3e99
LF
472
473(define-public eyed3
474 (package
475 (name "eyed3")
1cb82fa4 476 (version "0.8.11")
7c64cc7a
TGR
477 (source
478 (origin
479 (method url-fetch)
480 (uri (pypi-uri "eyeD3" version))
481 (sha256
1cb82fa4 482 (base32 "1347mhjysbdpmmvdqm6lhskdw0qj9vjdn4n172ffnz958adrnk0f"))))
13ef3e99
LF
483 (build-system python-build-system)
484 (arguments
7c64cc7a 485 `(#:tests? #f)) ; the required test data contains copyrighted material
33485fa9 486 (propagated-inputs
1825ce80
LF
487 `(("python-grako" ,python-grako)
488 ("python-magic" ,python-magic)
489 ("python-pathlib" ,python-pathlib)
490 ("python-six" ,python-six)))
13ef3e99
LF
491 (synopsis "MP3 tag ID3 metadata editor")
492 (description "eyeD3 is a Python tool for working with audio files,
493specifically mp3 files containing ID3 metadata (i.e. song info). It provides a
494command-line tool (eyeD3) and a Python library (import eyed3) that can be used
495to write your own applications or plugins that are callable from the
496command-line tool.")
998100e6 497 (home-page "https://eyed3.readthedocs.io/en/latest/")
13ef3e99 498 (license license:gpl2+)))
9518fde1
HG
499
500(define-public chromaprint
501 (package
502 (name "chromaprint")
1f577b46 503 (version "1.4.3")
9518fde1
HG
504 (source (origin
505 (method url-fetch)
506 (uri (string-append
1f577b46
TGR
507 "https://github.com/acoustid/chromaprint/releases/download/v"
508 version "/chromaprint-" version ".tar.gz"))
9518fde1 509 (sha256
3694a9b3 510 (base32
1f577b46 511 "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a"))))
9518fde1
HG
512 (build-system cmake-build-system)
513 (arguments
514 `(#:tests? #f ; tests require googletest *sources*
515 ;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests
a509041f 516 #:configure-flags '("-DBUILD_TOOLS=ON") ; for fpcalc
9518fde1
HG
517 #:test-target "check"))
518 (inputs
519 ;; requires one of FFmpeg (prefered), FFTW3 or vDSP
520 ;; use the same ffmpeg version as for acoustid-fingerprinter
521 `(("ffmpeg" ,ffmpeg)
60e1de6d 522 ("boost" ,boost)))
9518fde1
HG
523 (home-page "https://acoustid.org/chromaprint")
524 (synopsis "Audio fingerprinting library")
525 (description "Chromaprint is a library for calculating audio
526fingerprints which are used by the Acoustid service. Its main purpose
527is to provide an accurate identifier for record tracks.")
528 (license license:lgpl2.1+)))