123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708 |
- (define-module (gnu packages mp3)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (gnu packages)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages base)
- #:use-module (gnu packages gcc)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages cdrom)
- #:use-module (gnu packages check)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages ghostscript)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python)
- #:use-module (gnu packages python-web)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages pulseaudio)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages video)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system python)
- #:use-module (guix build-system cmake))
- (define-public libmad
- (package
- (name "libmad")
- (version "0.15.1b")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mad/libmad/"
- version "/libmad-"
- version ".tar.gz"))
- (sha256
- (base32
- "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
- (patches (search-patches "libmad-armv7-thumb-pt1.patch"
- "libmad-armv7-thumb-pt2.patch"
- "libmad-md_size.patch"
- "libmad-length-check.patch"
- "libmad-mips-newgcc.patch"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'remove-unsupported-gcc-flags
- (lambda _
-
- (substitute* "configure" ((" -fforce-mem") ""))
- #t))
-
-
-
-
- (add-after 'install 'install-pkg-config
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (pkg-config-dir (string-append out "/lib/pkgconfig")))
- (mkdir-p pkg-config-dir)
- (with-output-to-file (string-append pkg-config-dir "/mad.pc")
- (lambda _
- (format #t
- "prefix=~@*~a~@
- libdir=${prefix}/lib~@
- includedir=${prefix}/include~@
- Name: libmad~@
- Description:~@
- Version: ~a~@
- Libs: -L${libdir} -lmad~@
- Cflags: -I${includedir}~%"
- out ,version)))))))))
- (synopsis "MPEG audio decoder")
- (description
- "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to
- lower sampling frequencies, as well as the de facto MPEG 2.5 format.
- All three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — are
- fully implemented.
- This package contains the library.")
- (license license:gpl2+)
- (home-page "https://www.underbit.com/products/mad/")))
- (define-public libid3tag
- (package
- (name "libid3tag")
- (version "0.15.1b")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mad/libid3tag/"
- version "/libid3tag-"
- version ".tar.gz"))
- (sha256
- (base32
- "0lb1w883dc46dajbdvnia5870brl5lvnlk7g7y58y9wpg5p4znk3"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
-
-
-
-
- (add-after 'install 'install-pkg-config
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (pkg-config-dir (string-append out "/lib/pkgconfig")))
- (mkdir-p pkg-config-dir)
- (with-output-to-file (string-append pkg-config-dir "/id3tag.pc")
- (lambda _
- (format #t
- "prefix=~@*~a~@
- libdir=${prefix}/lib~@
- includedir=${prefix}/include~@
- Name: libid3tag~@
- Description:~@
- Version: ~a~@
- Libs: -L${libdir} -lid3tag -lz~@
- Cflags: -I${includedir}~%"
- out ,version)))))))))
- (inputs (list zlib))
- (synopsis "Library for reading ID3 tags")
- (description
- "Libid3tag is a library for reading ID3 tags, both ID3v1 and the various
- versions of ID3v2.")
- (license license:gpl2+)
- (home-page "https://www.underbit.com/products/mad/")))
- (define-public id3lib
- (package
- (name "id3lib")
- (version "3.8.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/id3lib/id3lib/"
- version "/id3lib-" version ".tar.gz"))
- (sha256
- (base32
- "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))
- (modules '((guix build utils)))
-
- (snippet '(begin (delete-file-recursively "zlib") #t))
- (patches (search-patches "id3lib-CVE-2007-4460.patch"
- "id3lib-UTF16-writing-bug.patch"))))
- (build-system gnu-build-system)
- (inputs (list zlib))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'apply-patches
-
- (lambda _
- (substitute* "configure"
- (("iomanip.h") ""))
-
- (substitute* "include/id3/id3lib_strings.h"
- (("include <string>") "include <cstring>\n#include <string>"))
- (substitute* "include/id3/writers.h"
- (("//\\#include <string.h>") "#include <cstring>"))
- (substitute* "examples/test_io.cpp"
- (("dami;") "dami;\nusing namespace std;"))
- #t)))))
- (synopsis "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags")
- (description
- "Id3lib is a cross-platform software development library for reading,
- writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project
- whose primary goals are full compliance with the ID3v2 standard, portability
- across several platforms, and providing a powerful and feature-rich API with
- a highly stable and efficient implementation.")
- (license license:lgpl2.0+)
- (home-page "http://id3lib.sourceforge.net/")))
- (define-public taglib
- (package
- (name "taglib")
- (version "1.12")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/taglib/taglib")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q7dkn5rh9v6b0scmcp2qmjv3iransafmpn6jvgid0yq75m2nqd2"))))
- (build-system cmake-build-system)
- (arguments
- '(#:tests? #f
- #:configure-flags (list "-DBUILD_SHARED_LIBS=ON")
- #:phases (modify-phases %standard-phases
- (add-before 'configure 'adjust-zlib-ldflags
- (lambda* (#:key inputs #:allow-other-keys)
-
-
- (substitute* "CMakeLists.txt"
- (("set\\(ZLIB_LIBRARIES_FLAGS -lz\\)")
- (string-append "set(ZLIB_LIBRARIES_FLAGS \"-L"
- (assoc-ref inputs "zlib")
- "/lib -lz\")")))
- #t)))))
- (inputs (list zlib))
- (home-page "https://taglib.org")
- (synopsis "Library to access audio file meta-data")
- (description
- "TagLib is a C++ library for reading and editing the meta-data of several
- popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
- files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
- Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
-
- (license (list license:lgpl2.1 license:mpl1.1))))
- (define-public mp3info
- (package
- (name "mp3info")
- (version "0.8.5a")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://ibiblio.org"
- "/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
- version ".tgz"))
- (sha256
- (base32
- "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Makefile"
- (("/bin/rm") "rm")
- (("/usr/bin/install") "install")
- (("man/man1") "share/man/man1"))
- #t))))
- (build-system gnu-build-system)
- (outputs '("out" "gui"))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile"
- (("prefix=.*")
- (string-append "prefix := " out "\n"))))
- #t))
- (add-before 'install 'pre-install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/share/man/man1")))
- #t))
- (add-after 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
-
- (let ((out (assoc-ref outputs "out"))
- (gui (assoc-ref outputs "gui")))
- (mkdir-p (string-append gui "/bin"))
- (rename-file (string-append out "/bin/gmp3info")
- (string-append gui "/bin/gmp3info")))
- #t)))
- #:tests? #f))
- (native-inputs
- (list pkg-config))
- (inputs
- (list gtk+-2 ncurses))
- (home-page "https://www.ibiblio.org/mp3info/")
- (synopsis "MP3 technical info viewer and ID3 1.x tag editor")
- (description
- "MP3Info is a little utility used to read and modify the ID3 tags of MP3
- files. MP3Info can also display various technical aspects of an MP3 file
- including playing time, bit-rate, sampling frequency and other attributes in a
- pre-defined or user-specifiable output format.")
- (license license:gpl2+)))
- (define-public libmp3splt
- (package
- (name "libmp3splt")
- (version "0.9.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/"
- version "/libmp3splt-"
- version ".tar.gz"))
- (sha256
- (base32
- "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih"))))
- (build-system gnu-build-system)
- (inputs (list flac
- libid3tag
- libmad
- libogg
- libltdl
- libvorbis
- pcre))
- (native-inputs
- (list pkg-config))
- (synopsis "Library for splitting mp3 and ogg vorbis files")
- (description
- "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
- and an end time position, without decoding. For splitting an album, one may
- select split points and file names manually or obtain them automatically from
- CDDB (internet or a local file) or from .cue files. The tool also supports
- automatic silence split, that can be used also to adjust cddb/cue splitpoints.
- This package contains the library.")
- (license license:gpl2+)
- (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
- (define-public mp3splt
- (package
- (name "mp3splt")
- (version "2.6.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/"
- version "/mp3splt-"
- version ".tar.gz"))
- (sha256
- (base32
- "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"))))
- (build-system gnu-build-system)
- (native-inputs (list pkg-config))
- (inputs (list libmp3splt))
- (synopsis "Utility for splitting mp3 and ogg vorbis files")
- (description
- "Mp3splt is a utility to split mp3 and ogg vorbis files selecting a begin
- and an end time position, without decoding. For splitting an album, one may
- select split points and file names manually or obtain them automatically from
- CDDB (internet or a local file) or from .cue files. The tool also supports
- automatic silence split, that can be used also to adjust cddb/cue splitpoints.
- This package contains the binary.")
- (license license:gpl2+)
- (home-page "http://mp3splt.sourceforge.net/mp3splt_page/home.php")))
- (define-public mpg123
- (package
- (name "mpg123")
- (version "1.28.2")
- (source
- (origin
- (method url-fetch)
- (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
- version "/mpg123-" version ".tar.bz2")
- (string-append
- "https://www.mpg123.org/download/mpg123-"
- version ".tar.bz2")))
- (sha256
- (base32 "006v44nz4nkpgvxz1k2vbbrfpa2m47hyydscs0wf3iysiyvd9vvy"))))
- (build-system gnu-build-system)
- (arguments '(#:configure-flags '("--with-default-audio=pulse")))
- (native-inputs
- (list pkg-config))
- (inputs
- (list alsa-lib pulseaudio))
- (home-page "https://www.mpg123.org/")
- (synopsis "Console MP3 player and decoder library")
- (description
- "Mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers
- 1,2 and 3 (MPEG 1.0 layer 3 aka MP3 most commonly tested). It comes with a
- command-line tool as well as a C library, libmpg123.")
- (license license:lgpl2.1)))
- (define-public mpg321
- (package
- (name "mpg321")
- (version "0.3.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mpg321/mpg321/"
- version "/mpg321_" version ".orig.tar.gz"))
- (file-name (string-append "mpg321-" version ".tar.gz"))
- (sha256
- (base32
- "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5"))
- (patches
- (search-patches "mpg321-CVE-2019-14247.patch"
- "mpg321-gcc-10.patch"))))
- (build-system gnu-build-system)
- (arguments '(#:configure-flags '("--disable-alsa")))
- (inputs
- `(("zlib" ,zlib)
- ("libmad" ,libmad)
- ("libid3tag" ,libid3tag)
- ("libao" ,ao)))
- (home-page "http://mpg321.sourceforge.net/")
- (synopsis "Command-line MP3 player")
- (description "Mpg321 is a command-line mp3 player. mpg321 is used for
- frontends, as an mp3 player and as an mp3 to wave file decoder (primarily for
- use with CD-recording software).")
- (license license:gpl2)))
- (define-public lame
- (package
- (name "lame")
- (version "3.100")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lame/lame/"
- (version-major+minor version) "/lame-"
- version ".tar.gz"))
- (sha256
- (base32
- "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-pkg-config
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (pkg-config-dir (string-append out "/lib/pkgconfig")))
- (mkdir-p pkg-config-dir)
- (with-output-to-file (string-append pkg-config-dir "/lame.pc")
- (lambda _
- (format #t
- "prefix=~@*~a~@
- libdir=${prefix}/lib~@
- includedir=${prefix}/include~@
- Name: lame~@
- Description:~@
- Version: ~a~@
- Libs: -L${libdir} -lmp3lame~@
- Cflags: -I${includedir}~%"
- out ,version)))))))))
- (home-page "http://lame.sourceforge.net/")
- (synopsis "MPEG Audio Layer III (MP3) encoder")
- (description "LAME is a high quality MPEG Audio Layer III (MP3) encoder.")
- (license license:lgpl2.0)))
- (define-public ripperx
- (package
- (name "ripperx")
- (version "2.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/ripperx/ripperx/"
- version "/ripperx-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1ss3c1a5hx6c99q1cryxg0jhbnbdj6ga9xyz0dzlz9qhzg5qswfs"))
- (patches (search-patches "ripperx-missing-file.patch"))))
- (build-system gnu-build-system)
- (propagated-inputs
- (list font-ghostscript cdparanoia flac lame vorbis-tools))
- (inputs
- (list glib gtk+-2 id3lib taglib))
- (native-inputs
- (list pkg-config))
- (synopsis "GTK program to rip and encode CD audio tracks")
- (description
- "RipperX is a GTK program to rip CD audio tracks and encode them to the
- Ogg, MP3, or FLAC formats. Its goal is to be easy to use, requiring only
- a few mouse clicks to convert an entire album. It supports CDDB lookups
- for album and track information.")
- (license license:gpl2)
- (home-page "https://sourceforge.net/projects/ripperx/")))
- (define-public libmpcdec
- (package
- (name "libmpcdec")
- (version "1.2.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://files.musepack.net/source/libmpcdec-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1a0jdyga1zfi4wgkg3905y6inghy3s4xfs5m4x7pal08m0llkmab"))))
- (build-system gnu-build-system)
- (synopsis "Decoding library for the Musepack audio format")
- (description
- "This library supports decoding of the Musepack (MPC) audio compression
- format.")
- (license license:bsd-3)
- (home-page "https://musepack.net")))
- (define-public mpc123
- (package
- (name "mpc123")
- (version "0.2.4")
- (source (origin
- (method url-fetch)
- (uri (list (string-append "mirror://sourceforge/mpc123/version%20"
- version "/mpc123-" version ".tar.gz")
- (string-append "mirror://debian/pool/main/m/" name
- "/" name "_" version ".orig.tar.gz")))
- (sha256
- (base32
- "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
- (patches (search-patches "mpc123-initialize-ao.patch"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "Makefile"
- (("CC[[:blank:]]*:=.*")
- "CC := gcc\n"))
- (setenv "CFLAGS" "-fcommon -g")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (install-file "mpc123" bin)))))
- #:tests? #f))
- (native-inputs
- `(("gettext" ,gettext-minimal)))
- (inputs
- `(("libao" ,ao)
- ("libmpcdec" ,libmpcdec)))
- (home-page "https://github.com/bucciarati/mpc123")
- (synopsis "Audio player for Musepack-formatted files")
- (description
- "Mpc123 is a command-line player for files in the Musepack audio
- compression format (.mpc files).")
- (license license:gpl2+)))
- (define-public eyed3
- (package
- (name "eyed3")
- (version "0.8.12")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "eyeD3" version))
- (sha256
- (base32 "0vabr7hh6vy1w8gn35vmx9qwiyrfv734d5ahifg7x3pv0c5fqkp5"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f))
- (propagated-inputs
- (list python-grako python-magic python-pathlib python-six))
- (synopsis "MP3 tag ID3 metadata editor")
- (description "eyeD3 is a Python tool for working with audio files,
- specifically mp3 files containing ID3 metadata (i.e. song info). It provides a
- command-line tool (eyeD3) and a Python library (import eyed3) that can be used
- to write your own applications or plugins that are callable from the
- command-line tool.")
- (home-page "https://eyed3.readthedocs.io/en/latest/")
- (license license:gpl2+)))
- (define-public chromaprint
- (package
- (name "chromaprint")
- (version "1.5.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/acoustid/chromaprint/releases/download/v"
- version "/chromaprint-" version ".tar.gz"))
- (sha256
- (base32 "072y6c7ijkm6r674f6z089rbdazrmxzpdcsm6y6vf64b7gxdiam1"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f
-
- #:configure-flags '("-DBUILD_TOOLS=ON")
- #:test-target "check"))
- (inputs
-
-
- (list ffmpeg boost))
- (home-page "https://acoustid.org/chromaprint")
- (synopsis "Audio fingerprinting library")
- (description "Chromaprint is a library for calculating audio
- fingerprints which are used by the Acoustid service. Its main purpose
- is to provide an accurate identifier for record tracks.")
- (license license:lgpl2.1+)))
- (define-public python-audioread
- (package
- (name "python-audioread")
- (version "2.1.9")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "audioread" version))
- (sha256
- (base32 "129hab8x9sb3plff2bkq4xnzc3i8k9rgcm1a36l813kc0m10wj53"))))
- (build-system python-build-system)
- (arguments `(#:tests? #f))
- (native-inputs
- (list python-pytest python-pytest-runner))
- (home-page "https://github.com/sampsyo/audioread")
- (synopsis "Decode audio files using whichever backend is available")
- (description
- "This package provides a Python library for audo decoding. It uses
- whatever audio backend is available, such as GStreamer, Core Audio, MAD,
- FFmpeg, etc.")
- (license license:expat)))
- (define-public python-pyacoustid
- (package
- (name "python-pyacoustid")
- (version "1.2.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyacoustid" version))
- (sha256
- (base32
- "0ha15m41r8ckmanc4k9nrlb9hprvhdjxndzw40a1yj3z1b1xjyf2"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chromaprint-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "chromaprint.py"
- (("libchromaprint.so.1")
- (string-append (assoc-ref inputs "chromaprint")
- "/lib/libchromaprint.so.1")))
- (substitute* "acoustid.py"
- (("'fpcalc'")
- (string-append "'" (assoc-ref inputs "chromaprint")
- "/bin/fpcalc'")))
- #t)))))
- (inputs (list chromaprint))
- (propagated-inputs
- (list python-audioread python-requests))
- (home-page "https://github.com/beetbox/pyacoustid")
- (synopsis "Bindings for Chromaprint acoustic fingerprinting")
- (description
- "This package provides bindings for the Chromaprint acoustic
- fingerprinting library and the Acoustid API.")
- (license license:expat)))
- (define-public python-pytaglib
- (package
- (name "python-pytaglib")
- (version "1.4.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytaglib" version))
- (sha256
- (base32
- "0li970qslfymz4vk1wrij2nfqw3l15cpc3fjjci48mpvg17gbnhn"))
-
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file "src/taglib.cpp")))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
-
- (add-after 'unpack 'setup-environment
- (lambda _
- (setenv "PYTAGLIB_CYTHONIZE" "1"))))))
- (native-inputs
- (list python-cython python-pytest))
- (inputs
- (list taglib))
- (home-page
- "https://github.com/supermihi/pytaglib")
- (synopsis
- "Python bindings for taglib")
- (description
- "This package is a Python audio tagging library. It is
- cross-platform, works with all Python versions, and is very
- simple to use yet fully featured.")
- (license license:gpl3)))
|