aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/mp3.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index ac546e8c95..1350135328 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -591,3 +591,42 @@ FFmpeg, etc.")
"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"))
+ ;; Delete file generated by Cython.
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file "src/taglib.cpp")))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Ensure that the Cython file is regenerated.
+ (add-after 'unpack 'setup-environment
+ (lambda _
+ (setenv "PYTAGLIB_CYTHONIZE" "1"))))))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)))
+ (inputs
+ `(("taglib" ,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)))