commit:     45b05de8cffb4e5b1398b572db832a0285be3428
Author:     Arsen Arsenović <arsen <AT> aarsen <DOT> me>
AuthorDate: Thu Oct 21 21:48:12 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 31 02:57:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45b05de8

media-sound/beets: bump to version 1.5.0

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Arsen Arsenović <arsen <AT> aarsen.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/beets/Manifest                         |   1 +
 media-sound/beets/beets-1.5.0.ebuild               | 126 +++++++++++++++++++++
 .../files/1.5.0-0001-Remove-test_completion.patch  |  74 ++++++++++++
 3 files changed, 201 insertions(+)

diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest
index 2385fe9f1b1..2ef455a86dc 100644
--- a/media-sound/beets/Manifest
+++ b/media-sound/beets/Manifest
@@ -1 +1,2 @@
 DIST beets-1.4.9.tar.gz 1494459 BLAKE2B 
2daf77caf395143813c8b288fc376b5aec01d49281d40ba5942daf9941891146d698a1517ced958e480c6f253eadb6a7e09029e079c97e6cc17d44ac18fa0e7b
 SHA512 
616bad4ca3ecdd05d2f59846fd67215f476ce89cc34d63bc6351efcbaf1e33e5ca783cb8a716e8597b56a7e08e6a6dc15e64b51e89dd786bfb6c5d847f66de5a
+DIST beets-1.5.0.tar.gz 1694845 BLAKE2B 
e4a4ad880edcc396170bca9e7d04548f22a55eac22481d2babca0d2ca71237ed0509bf9be9af12343b0d1b555e9726446e5d61e637312a4808eece5ce0302f33
 SHA512 
447b01dc750a69d0a33d271774f3bd3b997a203d80c220c1a961f9a8e30420d263b1e2a4682d25ff7b02e1e85155f42186cb0d3bf27ebc8c2777f68e197d4018

diff --git a/media-sound/beets/beets-1.5.0.ebuild 
b/media-sound/beets/beets-1.5.0.ebuild
new file mode 100644
index 00000000000..aa73a47719c
--- /dev/null
+++ b/media-sound/beets/beets-1.5.0.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 bash-completion-r1 optfeature
+
+if [[ ${PV} == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/beetbox/beets.git";
+       inherit git-r3
+else
+       MY_PV=${PV/_beta/-beta.}
+       MY_P=${PN}-${MY_PV}
+       SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+       KEYWORDS="~amd64"
+       S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Media library management system for obsessive-compulsive music 
geeks"
+HOMEPAGE="https://beets.io/ https://pypi.org/project/beets/";
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       $(python_gen_cond_dep '
+               >=dev-python/jellyfish-0.7.1[${PYTHON_USEDEP}]
+               dev-python/munkres[${PYTHON_USEDEP}]
+               >=media-libs/mutagen-1.33[${PYTHON_USEDEP}]
+               >=dev-python/python-musicbrainzngs-0.4[${PYTHON_USEDEP}]
+               dev-python/pyyaml[${PYTHON_USEDEP}]
+               dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+               >=dev-python/six-1.9[${PYTHON_USEDEP}]
+               dev-python/unidecode[${PYTHON_USEDEP}]
+       ')"
+DEPEND="
+       ${RDEPEND}
+"
+BDEPEND="
+       doc? (
+               dev-python/sphinx
+       )
+       $(python_gen_cond_dep '
+               test? (
+                       dev-db/sqlite[icu]
+                       dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+                       dev-python/bluelet[${PYTHON_USEDEP}]
+                       dev-python/discogs-client[${PYTHON_USEDEP}]
+                       dev-python/flask[${PYTHON_USEDEP}]
+                       dev-python/mock[${PYTHON_USEDEP}]
+                       dev-python/pyacoustid[${PYTHON_USEDEP}]
+                       dev-python/pylast[${PYTHON_USEDEP}]
+                       dev-python/pygobject:3[${PYTHON_USEDEP}]
+                       dev-python/python-mpd[${PYTHON_USEDEP}]
+                       dev-python/pyxdg[${PYTHON_USEDEP}]
+                       || (
+                               dev-python/pillow[${PYTHON_USEDEP}]
+                               media-gfx/imagemagick
+                       )
+                       dev-python/rarfile[${PYTHON_USEDEP}]
+                       dev-python/responses[${PYTHON_USEDEP}]
+                       dev-python/wheel[${PYTHON_USEDEP}]
+                       media-libs/chromaprint[tools]
+                       media-libs/flac
+                       media-libs/gst-plugins-bad:1.0
+                       media-libs/gst-plugins-good:1.0
+                       media-sound/mp3val
+                       media-sound/mp3gain
+                       media-plugins/gst-plugins-libav:1.0
+                       media-video/ffmpeg:0[encode]
+                       app-shells/bash-completion
+                       dev-python/reflink
+                       dev-python/confuse
+                       dev-python/mediafile
+               )
+       ')"
+
+PATCHES=(
+       "${FILESDIR}/${PV}-0001-Remove-test_completion.patch"
+)
+
+DOCS=( README.rst docs/changelog.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+       distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+       use doc && esetup.py build_sphinx -b html --build-dir=docs/build
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+
+       doman man/*
+       use doc && local HTML_DOCS=( docs/build/html/. )
+       einstalldocs
+
+       ${PYTHON} "${ED}/usr/bin/beet" completion > "${T}/beet.bash" || die
+       newbashcomp "${T}/beet.bash" beet
+       insinto /usr/share/zsh/site-functions
+       newins "${WORKDIR}/${P}/extra/_beet" _beet
+
+       optfeature "badfiles support" "media-libs/flac media-sound/mp3val"
+       optfeature "chromaprint support" "dev-python/pyacoustid 
media-libs/chromaprint[tools]"
+       optfeature "discogs support" dev-python/discogs-client
+       optfeature "ffmpeg support" media-video/ffmpeg[encode]
+       optfeature "gstreamer support" "media-libs/gst-plugins-bad 
media-libs/gst-plugins-good"
+       optfeature "icu support" dev-db/sqlite[icu]
+       optfeature "lastfm support" dev-python/pylast
+       optfeature "mpd support" "dev-python/bluelet dev-python/python-mpd"
+       optfeature "replaygain with gstreamer support" "dev-python/pygobject 
media-plugins/gst-plugins-libav"
+       optfeature "replaygain without gstreamer support" media-sound/mp3gain
+       optfeature "thumbnail support" dev-python/pyxdg "dev-python/pillow 
media-gfx/imagemagick"
+       optfeature "webserver support" dev-python/flask
+       optfeature "webserver cors support" dev-python/flask-cors
+}

diff --git a/media-sound/beets/files/1.5.0-0001-Remove-test_completion.patch 
b/media-sound/beets/files/1.5.0-0001-Remove-test_completion.patch
new file mode 100644
index 00000000000..16c1a6fe5fa
--- /dev/null
+++ b/media-sound/beets/files/1.5.0-0001-Remove-test_completion.patch
@@ -0,0 +1,74 @@
+From a992bf194803d3598a8edc054a767858b0355a78 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <ar...@aarsen.me>
+Date: Thu, 21 Oct 2021 23:16:45 +0200
+Subject: [PATCH] Remove test_completion
+
+Known issue: https://github.com/beetbox/beets/issues/1876
+---
+ test/test_ui.py | 50 -------------------------------------------------
+ 1 file changed, 50 deletions(-)
+
+diff --git a/test/test_ui.py b/test/test_ui.py
+index 5cfed1fd..48e7cc85 100644
+--- a/test/test_ui.py
++++ b/test/test_ui.py
+@@ -1209,56 +1209,6 @@ class PluginTest(_common.TestCase, TestHelper):
+         self.run_command('test', lib=None)
+ 
+ 
+-@_common.slow_test()
+-class CompletionTest(_common.TestCase, TestHelper):
+-    def test_completion(self):
+-        # Load plugin commands
+-        config['pluginpath'] = [_common.PLUGINPATH]
+-        config['plugins'] = ['test']
+-
+-        # Do not load any other bash completion scripts on the system.
+-        env = dict(os.environ)
+-        env['BASH_COMPLETION_DIR'] = os.devnull
+-        env['BASH_COMPLETION_COMPAT_DIR'] = os.devnull
+-
+-        # Open a `bash` process to run the tests in. We'll pipe in bash
+-        # commands via stdin.
+-        cmd = os.environ.get('BEETS_TEST_SHELL', '/bin/bash --norc').split()
+-        if not has_program(cmd[0]):
+-            self.skipTest(u'bash not available')
+-        tester = subprocess.Popen(cmd, stdin=subprocess.PIPE,
+-                                  stdout=subprocess.PIPE, env=env)
+-
+-        # Load bash_completion library.
+-        for path in commands.BASH_COMPLETION_PATHS:
+-            if os.path.exists(util.syspath(path)):
+-                bash_completion = path
+-                break
+-        else:
+-            self.skipTest(u'bash-completion script not found')
+-        try:
+-            with open(util.syspath(bash_completion), 'rb') as f:
+-                tester.stdin.writelines(f)
+-        except IOError:
+-            self.skipTest(u'could not read bash-completion script')
+-
+-        # Load completion script.
+-        self.io.install()
+-        self.run_command('completion', lib=None)
+-        completion_script = self.io.getoutput().encode('utf-8')
+-        self.io.restore()
+-        tester.stdin.writelines(completion_script.splitlines(True))
+-
+-        # Load test suite.
+-        test_script_name = os.path.join(_common.RSRC, b'test_completion.sh')
+-        with open(test_script_name, 'rb') as test_script_file:
+-            tester.stdin.writelines(test_script_file)
+-        out, err = tester.communicate()
+-        if tester.returncode != 0 or out != b'completion tests passed\n':
+-            print(out.decode('utf-8'))
+-            self.fail(u'test/test_completion.sh did not execute properly')
+-
+-
+ class CommonOptionsParserCliTest(unittest.TestCase, TestHelper):
+     """Test CommonOptionsParser and formatting LibModel formatting on 'list'
+     command.
+-- 
+2.32.0
+

Reply via email to