summaryrefslogtreecommitdiff
path: root/media-sound/beets
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/beets')
-rw-r--r--media-sound/beets/Manifest3
-rw-r--r--media-sound/beets/beets-1.6.0.ebuild125
-rw-r--r--media-sound/beets/files/1.6.0-0001-Remove-test_completion.patch74
3 files changed, 202 insertions, 0 deletions
diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest
index e8f60335ef2c..8212dc52e8eb 100644
--- a/media-sound/beets/Manifest
+++ b/media-sound/beets/Manifest
@@ -3,9 +3,12 @@ AUX 1.4.9-0002-Disable-test_completion.patch 2879 BLAKE2B 7f1b21d92ec93e3a2606a4
AUX 1.4.9-0003-Try-to-work-around-a-Werkzeug-change.patch 698 BLAKE2B f7064a5db51e53d70b6d30332c3f6e039873461931c5e4052136675013728792fbc98f561f6fcf62432f58bc7702e54f34d04c43586d9a07ecdc789019aec040 SHA512 3e3af6d760596a08fac6130912ed5780795975e0ade8c4f27f577453b82cbc588de9d23d9d2c1672841913d5627fe684cd8373670851e59b6fe1e0a57b138009
AUX 1.4.9-0004-Fix-3608-Replace-discogs-client-with-python3-discogs.patch 4650 BLAKE2B 446977fdf23aeaa1afaa85bb16f8dfddc3e7a00af8253a061afbf78d4667979119653ac16af7dc3e24f92606437bdcc4066907ab3ac053e97712c0dd12819b9f SHA512 8f647eb5b87a91ed9c65f9d819980d1f6da740b76b4265288e5e29d614854062bd5769a1ebb1e0a1428fa7aeabe01f1827364c0639db0d2383c4e5dec7bc64fd
AUX 1.5.0-0001-Remove-test_completion.patch 2878 BLAKE2B 1a8bedd5efd9ae823f632124b4f2a273f2ed1576003ca69f689cc4e995724d691fba2018d6f3fe1fc71b0d2c5ca6b3b21380f655f0b997107abda218d34c45f7 SHA512 9b3c8f352493dd72f9206824722c2900c6877223c14726346392a4f2f861b4b3d0499f8539ea6be2d3564a8cb4218cc560d3ce4e47bcf5b1854310a1bd30337d
+AUX 1.6.0-0001-Remove-test_completion.patch 2874 BLAKE2B d1a748712d118783c39b1e7d082b1ca5fe6edb26378a26e0f25a70d07129f009ba27a7fee1ec4af5f6515744e0ccce0d4d46779105c3fd5f2e18a00489b8b354 SHA512 c3f471adf8e86bf7ecad99af66213a229b0afa1431f480e3ae48bb87304fc5c39ba313e3fd9fd6b7e3382c792bd8c266f61bf1e56368f9dd28ecbf5bd3547ef2
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
EBUILD beets-1.4.9-r6.ebuild 4394 BLAKE2B 875d18123f6494160f550ee63a5deeaea8166afd891de2265d2e6236144676a8c11e273206fd8cec3cd1a21c4efdc7a3488cbcb5c2451c5187807cea0cb5910c SHA512 b722b45ead4f00788d5b2fbae80af7f46dbdf6a94fb7f55424cdb7252bc04ab85aac99238055f30c74adbb5c9c0e40b2057ea90b10293e379bdede302cb8b29a
EBUILD beets-1.5.0-r2.ebuild 3792 BLAKE2B 1d710f86dd553e1ce40156604b0cb704a60e8279af09d0e54d2e56c6ded3a43e8cb68e234b6a71853c4d4e60c7d42c142cdfe4ed84c89270c73697311cea8865 SHA512 467079e422111da50a1a9435d43ccb4d4163905437ca2ecc170420c511fa92eed109791a82e9c5efb4298b66e929b1467677ccee0e15d714ed7f3b43ebf803f9
+EBUILD beets-1.6.0.ebuild 3751 BLAKE2B 63419af5f7958d4017123b93ee8f03052a1bb1055f7c57339b00913afd29a013bd15799a11c8f7918fc82c7124c722e54585f5373549d5e3edea7b5c836a4ba6 SHA512 978760d98f2e01857fdbdef5468312a547a757eed8ddf6c377631a5690a1655beea32675a3ebf260c1de09a8d168066e8c09f753b2a4738a31b4a843742a5200
EBUILD beets-9999.ebuild 3724 BLAKE2B 712cfa973f438b1fe1f2600886d3ab0ad5237eb85df8b8b3cfee77f290327b93dee15f2d6e68013143fde3828f1b4418cc4ae928ee2a08f8841f01f32a85d84c SHA512 e63c0218deb1fee665161dae656978fb21aa3d2abd9ebee0bcb8dff436049faf56a222d8f94bc9625c3023e5a948981c1a3bf54a149aec7cb0f7080ebe9c85a4
MISC metadata.xml 1782 BLAKE2B d06aa5a90768970a9327f134c1314896d888d4c4e78eca01665809a650af67890753698efcc18fc3f57e128a9443f283b4b11b613f0c04be1772e218d789f1d4 SHA512 7d8dc8ca0c7ed4bd8438736ac7f2bc003b07c1c2899e7e0b3d97e89113ff565049cded486c14be9b2026d7446318cfdc0cf4f9a61731c66e61ab7b6c0f9c5dca
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?= <arsen@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 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
+