summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMartin Becze <mjbecze@riseup.net>2020-11-30 04:50:46 -0600
committerLeo Famulari <leo@famulari.name>2020-11-30 12:23:53 -0500
commit4c41dd9922bb511de992376482245ed66659e898 (patch)
treeb2d5b72f6932afe270c34cc5abdd5ebdb565e4bf /gnu
parent275fcffc9b5f4deb516c510b26b07c13d6e47307 (diff)
downloadguix-4c41dd9922bb511de992376482245ed66659e898.tar.gz
gnu: Add python-pytaglib.
* gnu/packages/mp3.scm (python-pytaglib): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu')
-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)))