summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRemco van 't Veer <remco@remworks.net>2022-05-28 10:57:18 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2022-05-28 13:02:19 +0200
commit092ec158f73b0f4a4817517149e4cb49b2d8e490 (patch)
treee276a587961eca7f4e6209eed8a5efd973d9e7ea /gnu
parent2a97acbe3db5d160f97914550ece0d03b44168d4 (diff)
gnu: Add quodlibet.
* gnu/packages/music.scm (quodlibet): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/music.scm83
1 files changed, 83 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b224a145d5..80b490b35f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -45,6 +45,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Sughosha <sughosha@disroot.org>
+;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -153,6 +154,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-web)
@@ -6878,3 +6880,84 @@ choice.")
streaming audio server.")
(home-page "https://musikcube.com/")
(license license:bsd-3)))
+
+(define-public quodlibet
+ (package
+ (name "quodlibet")
+ (version "4.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quodlibet/quodlibet")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:modules '((guix build python-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:imported-modules `((guix build python-build-system)
+ ,@%glib-or-gtk-build-system-modules)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" (getcwd))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "xvfb-run" "pytest"
+ ;; needs network
+ "--ignore=tests/test_browsers_iradio.py"
+ ;; broken upstream
+ "--disable-warnings"
+ "--ignore=tests/quality")
+ (format #t "test suite not run~%"))))
+ (add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
+ (add-after 'install 'wrap-gi-typelib ; GObject Introspection
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (for-each (lambda (prog)
+ (wrap-program (string-append out "/bin/" prog)
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+ '("exfalso" "quodlibet"))))))))
+ (native-inputs (list xvfb-run gettext-minimal))
+ (inputs
+ (list adwaita-icon-theme
+ gtk+
+ glib
+ gsettings-desktop-schemas
+ gst-plugins-bad
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-ugly
+ gstreamer
+ gtk+
+ hicolor-icon-theme
+ librsvg
+ libsoup-minimal-2
+ python
+ python-cheetah
+ python-dbus
+ python-feedparser
+ python-gst
+ python-iniconfig
+ python-mutagen
+ python-pycairo
+ python-pygobject
+ python-pytest
+ python-sgmllib3k
+ python-toml))
+ (home-page "https://github.com/quodlibet/quodlibet")
+ (synopsis "Music manager and player")
+ (description "Quod Libet provides several ways to browse and view your
+local music library, along with flexible search capabilities. It includes
+a tag editor, which can also be invoked as a standalone program, and further
+supports streaming audio and feeds (such as podcasts).")
+ (license license:gpl2+)))