From dd4c541cccc9fe970eea708ddc18de1c451c83e2 Mon Sep 17 00:00:00 2001 From: Arsen Arsenović Date: Mon, 29 Nov 2021 00:31:51 +0100 Subject: media-sound/beets: bump to 1.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Arsen Arsenović Closes: https://github.com/gentoo/gentoo/pull/23111 Signed-off-by: Sam James --- media-sound/beets/Manifest | 1 + media-sound/beets/beets-1.6.0.ebuild | 125 +++++++++++++++++++++ .../files/1.6.0-0001-Remove-test_completion.patch | 74 ++++++++++++ 3 files changed, 200 insertions(+) create mode 100644 media-sound/beets/beets-1.6.0.ebuild create mode 100644 media-sound/beets/files/1.6.0-0001-Remove-test_completion.patch diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest index 2ef455a86dc7..50daf64c1bd6 100644 --- a/media-sound/beets/Manifest +++ b/media-sound/beets/Manifest @@ -1,2 +1,3 @@ DIST beets-1.4.9.tar.gz 1494459 BLAKE2B 2daf77caf395143813c8b288fc376b5aec01d49281d40ba5942daf9941891146d698a1517ced958e480c6f253eadb6a7e09029e079c97e6cc17d44ac18fa0e7b SHA512 616bad4ca3ecdd05d2f59846fd67215f476ce89cc34d63bc6351efcbaf1e33e5ca783cb8a716e8597b56a7e08e6a6dc15e64b51e89dd786bfb6c5d847f66de5a DIST beets-1.5.0.tar.gz 1694845 BLAKE2B e4a4ad880edcc396170bca9e7d04548f22a55eac22481d2babca0d2ca71237ed0509bf9be9af12343b0d1b555e9726446e5d61e637312a4808eece5ce0302f33 SHA512 447b01dc750a69d0a33d271774f3bd3b997a203d80c220c1a961f9a8e30420d263b1e2a4682d25ff7b02e1e85155f42186cb0d3bf27ebc8c2777f68e197d4018 +DIST beets-1.6.0.tar.gz 1698333 BLAKE2B 7d3ded703524d5f8740a6adf3769a5752a1e47720ebf0653238f117e4ef6f97461abcd0c7a0d7f428c9848c95277070b5687f9007c04e47b07cdb22eca8c9cbf SHA512 b03759a2be7d3318b4f43cac09ada229cea6496774ba3dcdb1458427e41f6329a627241afc0bfaa9a91afb6818ba944ef6088e38c5635a3bfe730a6a8011a0dc diff --git a/media-sound/beets/beets-1.6.0.ebuild b/media-sound/beets/beets-1.6.0.ebuild new file mode 100644 index 000000000000..77fc9c07cd2b --- /dev/null +++ b/media-sound/beets/beets-1.6.0.ebuild @@ -0,0 +1,125 @@ +# 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/unidecode[${PYTHON_USEDEP}] + dev-python/reflink[${PYTHON_USEDEP}] + dev-python/confuse[${PYTHON_USEDEP}] + dev-python/mediafile[${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 + ) + ')" + +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.6.0-0001-Remove-test_completion.patch b/media-sound/beets/files/1.6.0-0001-Remove-test_completion.patch new file mode 100644 index 000000000000..e51f31c380dc --- /dev/null +++ b/media-sound/beets/files/1.6.0-0001-Remove-test_completion.patch @@ -0,0 +1,74 @@ +From 8e37acd04af1b6d0723bf9d1992da49ee0155758 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= +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 9804b0a1..5c321040 100644 +--- a/test/test_ui.py ++++ b/test/test_ui.py +@@ -1208,56 +1208,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('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('bash-completion script not found') +- try: +- with open(util.syspath(bash_completion), 'rb') as f: +- tester.stdin.writelines(f) +- except OSError: +- self.skipTest('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('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 + -- cgit v1.2.3-65-gdbad