[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#50309] [PATCH 5/5] gnu: beets: Update to 1.5.0.
From: |
Simon Streit |
Subject: |
[bug#50309] [PATCH 5/5] gnu: beets: Update to 1.5.0. |
Date: |
Tue, 31 Aug 2021 22:11:51 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
* gnu/packages/music.scm (beets): Update to 1.5.0.
* gnu/packages/music.scm (beets-next): Delete variable.
* gnu/packages/patches/beets-werkzeug-compat.patch: Delete patch.
---
gnu/packages/music.scm | 108 +++++-------------
.../patches/beets-werkzeug-compat.patch | 18 ---
2 files changed, 30 insertions(+), 96 deletions(-)
delete mode 100644 gnu/packages/patches/beets-werkzeug-compat.patch
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 63c6ac7d19..8158a40e49 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3788,34 +3788,32 @@ websites such as Libre.fm.")
(define-public beets
(package
(name "beets")
- (version "1.4.9")
+ (version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
- (patches (search-patches "beets-werkzeug-compat.patch"))
(sha256
(base32
- "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj"))))
+ "0arl4nc3y8iwa331hf6ggai19y8ns9pl03g5d6ac857wq2x7nzw8"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; Reported upstream: <https://github.com/beetbox/beets/issues/3771>.
- ;; Disable the faulty test as the fix is unclear.
+ ;; Test fails. Reported upstream:
+ ;; https://github.com/beetbox/beets/issues/4037.
(add-after 'unpack 'disable-failing-tests
(lambda _
- (substitute* "test/test_mediafile.py"
- (("def test_read_audio_properties") "def
_test_read_audio_properties"))
+ (substitute* "test/test_zero.py"
+ (("def test_album_art") "def _test_album_art"))
#t))
(add-after 'unpack 'set-HOME
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
(replace 'check
- (lambda _
- (invoke "nosetests" "-v")))
- ;; Wrap the executable, so it can find python-gi (aka pygobject) and
- ;; gstreamer plugins.
+ (lambda _ (invoke "nosetests" "-v")))
+ ;; Wrap the executable, so it can find python-gi (aka
+ ;; pygobject) and gstreamer plugins.
(add-after 'wrap 'wrap-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
@@ -3826,9 +3824,14 @@ websites such as Libre.fm.")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins))
`("GI_TYPELIB_PATH" ":" prefix (,types)))
#t))))))
+ (propagated-inputs
+ `(("chromaprint" ,chromaprint)))
(native-inputs
- `(("python-beautifulsoup4" ,python-beautifulsoup4)
+ `(("gobject-introspection" ,gobject-introspection)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-confuse" ,python-confuse)
("python-flask" ,python-flask)
+ ("python-mediafile" ,python-mediafile)
("python-mock" ,python-mock)
("python-mpd2" ,python-mpd2)
("python-nose" ,python-nose)
@@ -3839,83 +3842,32 @@ websites such as Libre.fm.")
("python-responses" ,python-responses)))
;; TODO: Install optional plugins and dependencies.
(inputs
- `(("python-discogs-client" ,python-discogs-client)
+ `(("bash-minimal" ,bash-minimal)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gstreamer" ,gstreamer)
+ ("opusfile" ,opusfile)
+ ("python-discogs-client" ,python-discogs-client)
("python-jellyfish" ,python-jellyfish)
("python-munkres" ,python-munkres)
("python-musicbrainzngs" ,python-musicbrainzngs)
("python-mutagen" ,python-mutagen)
("python-pyacoustid" ,python-pyacoustid)
- ("python-pyyaml" ,python-pyyaml)
- ("python-unidecode" ,python-unidecode)
;; For plugin replaygain.
("python-pygobject" ,python-pygobject)
- ("gobject-introspection" ,gobject-introspection)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gstreamer" ,gstreamer)))
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-reflink" ,python-reflink)
+ ("python-requests-oauthlib" ,python-requests-oauthlib)
+ ("python-unidecode" ,python-unidecode)))
(home-page "https://beets.io")
(synopsis "Music organizer")
- (description "The purpose of beets is to get your music collection right
- once and for all. It catalogs your collection, automatically improving its
- metadata as it goes using the MusicBrainz database. Then it provides a
variety
- of tools for manipulating and accessing your music.")
+ (description "The purpose of beets is to get your music collection
+right once and for all. It catalogs your collection, automatically
+improving its metadata as it goes using the MusicBrainz database.
+Then it provides a variety of tools for manipulating and accessing
+your music.")
(license license:expat)))
-(define-public beets-next
- (let ((commit "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2")
- (revision "1"))
- (package
- (inherit beets)
- (name "beets-next")
- (version (git-version (package-version beets) revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/beetbox/beets")
- (commit commit)))
- (file-name (git-file-name "beets" version))
- (sha256
- (base32
- "092a9sss2shhcjmpgbwvscv8brpm5970i5hddkhi81xcff3bg1h4"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; XXX: unclear why this fails
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- (substitute* "test/test_zero.py"
- (("def test_album_art") "def _test_album_art"))
- #t))
- (add-after 'unpack 'set-HOME
- (lambda _
- (setenv "HOME" (string-append (getcwd) "/tmp"))
- #t))
- (replace 'check
- (lambda _
- ;; Resources must be writable.
- (for-each make-file-writable
- (find-files "test/rsrc" "."))
- (invoke "nosetests" "-v")))
- ;; Wrap the executable, so it can find python-gi (aka pygobject) and
- ;; gstreamer plugins.
- (add-after 'wrap 'wrap-typelib
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prog (string-append (assoc-ref outputs "out")
- "/bin/beet"))
- (plugins (getenv "GST_PLUGIN_SYSTEM_PATH"))
- (types (getenv "GI_TYPELIB_PATH")))
- (wrap-program prog
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins))
- `("GI_TYPELIB_PATH" ":" prefix (,types)))
- #t))))))
- (inputs
- `(("python-confuse" ,python-confuse)
- ("python-mediafile" ,python-mediafile)
- ("python-reflink" ,python-reflink)
- ("python-requests-oauthlib" ,python-requests-oauthlib)
- ("opusfile" ,opusfile)
- ,@(package-inputs beets))))))
-
(define-public beets-bandcamp
(package
(name "beets-bandcamp")
diff --git a/gnu/packages/patches/beets-werkzeug-compat.patch
b/gnu/packages/patches/beets-werkzeug-compat.patch
deleted file mode 100644
index 1a91c3a3f9..0000000000
--- a/gnu/packages/patches/beets-werkzeug-compat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Be compatible with python-werkzeug 1.0.0.
-
-Taken from upstream:
-https://github.com/beetbox/beets/commit/d43d54e21cde97f57f19486925ab56b419254cc8
-
-diff --git a/beetsplug/web/__init__.py b/beetsplug/web/__init__.py
-index f53fb3a954..21ff5d94ed 100644
---- a/beetsplug/web/__init__.py
-+++ b/beetsplug/web/__init__.py
-@@ -169,7 +169,7 @@ def to_python(self, value):
- return ids
-
- def to_url(self, value):
-- return ','.join(value)
-+ return ','.join(str(v) for v in value)
-
-
- class QueryConverter(PathConverter):
--
2.33.0
- [bug#50309] [PATCH 0/5] New version of beets, Simon Streit, 2021/08/31
- [bug#50309] [PATCH 1/5] gnu: python-confuse: Update to 1.5.0., Simon Streit, 2021/08/31
- [bug#50309] [PATCH 2/5] gnu: python-pyacoustid: Update to 1.2.1., Simon Streit, 2021/08/31
- [bug#50309] [PATCH 3/5] gnu: python-mediafile: Update to 0.7.0., Simon Streit, 2021/08/31
- [bug#50309] [PATCH 4/5] gnu: beets-bandcamp: Update to 0.1.4., Simon Streit, 2021/08/31
- [bug#50309] [PATCH 5/5] gnu: beets: Update to 1.5.0.,
Simon Streit <=
- [bug#50309] [PATCH 0/5] New version of beets, Maxime Devos, 2021/08/31