summary refs log tree commit diff
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)))