From d866dd924e5fc9611ebad17139b27953b77b775b Mon Sep 17 00:00:00 2001 From: Florian Tham Date: Sun, 1 Jan 2017 15:57:21 +0100 Subject: [PATCH] add media-sound/beets --- media-sound/beets/Manifest | 3 + media-sound/beets/beets-1.4.2.ebuild | 88 ++++++++++++++++++++++++++++ media-sound/beets/metadata.xml | 52 ++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 media-sound/beets/Manifest create mode 100644 media-sound/beets/beets-1.4.2.ebuild create mode 100644 media-sound/beets/metadata.xml diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest new file mode 100644 index 0000000..28c3429 --- /dev/null +++ b/media-sound/beets/Manifest @@ -0,0 +1,3 @@ +DIST beets-1.4.2.tar.gz 1418185 SHA256 b54c72e220d7696740823d0a4e4f38d57d1e463daaf06da5194a358d3a14ca6a SHA512 26cb6876e986d1a46e2eda2a4b22e94e08e36570c24c851453fbf90af8587915215b64fec5408548948db468821ff99786e1296f662ab18bf2b009d46fb1ddb7 WHIRLPOOL bdd17742d9ce03aefb910c61b447ad5d162022b9dbb8543f9da73bdbf4997c30603d23c53e7375233427904d88b5db7106af8350d3891032a6e62cdc948c3a48 +EBUILD beets-1.4.2.ebuild 2598 SHA256 993a3fafa4828c29a8db97ed1d959522a9c60ef76f586b6808c3c9c21f105ed3 SHA512 e076031e7480b14e46fbd53e7c8ba6e8461b64ae158097d2d406c29ef4f81e4d774f316717ac48d3be29209ae9f8d2ce341cb234ba447cbc5573b441124397dc WHIRLPOOL 78a5ed0e4d7661799bcc474f58b8d805e94392e6acb1c99e63d9df9d4f06e5b8f91a5e64717a0e6f3df95a2dac30828388b67c3f8123b7ee586f668509bb378a +MISC metadata.xml 2486 SHA256 d66557610d715bbb7b796f56c210d25771cf1edce46b58c4bb968260c932126d SHA512 286c0be6dac28069fc4b007719dcf4db0c20fffba4806cee1a941ab58e4ad5cb105c52da4742d3327ba1c7753adeaed755afc17a3d297cddb30c313f8084ab80 WHIRLPOOL 67a02c2c95c2f850e0a91c1e1a6883252f28291e36137a64cb80a265389c030c4b2b5a8ee43ccb8d8369ea3de107eaba49408843595bae853c05a8e505d40a8d diff --git a/media-sound/beets/beets-1.4.2.ebuild b/media-sound/beets/beets-1.4.2.ebuild new file mode 100644 index 0000000..7eed268 --- /dev/null +++ b/media-sound/beets/beets-1.4.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="sqlite" +inherit distutils-r1 eutils + +MY_PV=${PV/_beta/-beta.} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="A media library management system for obsessive-compulsive music geeks" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" +HOMEPAGE="http://beets.radbox.org/ https://pypi.python.org/pypi/beets" + +KEYWORDS="~amd64 ~x86" +SLOT="0" +LICENSE="MIT" +IUSE="bpd chroma convert doc discogs flac gstreamer lastgenre mpdstats + ogg opus replaygain test web" + +RDEPEND=">=dev-python/enum34-1.0.4[${PYTHON_USEDEP}] + dev-python/jellyfish[${PYTHON_USEDEP}] + dev-python/munkres[${PYTHON_USEDEP}] + >=dev-python/python-musicbrainz-ngs-0.4[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/unidecode[${PYTHON_USEDEP}] + >=media-libs/mutagen-1.27[${PYTHON_USEDEP}] + bpd? ( dev-python/bluelet[${PYTHON_USEDEP}] ) + chroma? ( dev-python/pyacoustid[${PYTHON_USEDEP}] ) + convert? ( media-video/ffmpeg:0[encode] ) + discogs? ( dev-python/discogs-client[${PYTHON_USEDEP}] ) + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + mpdstats? ( dev-python/python-mpd[${PYTHON_USEDEP}] ) + lastgenre? ( dev-python/pylast[${PYTHON_USEDEP}] ) + replaygain? ( + gstreamer? ( media-libs/gstreamer:1.0[introspection] + media-libs/gst-plugins-good:1.0 + dev-python/pygobject:3[${PYTHON_USEDEP}] + ogg? ( media-plugins/gst-plugins-ogg ) + flac? ( media-plugins/gst-plugins-flac:1.0 ) + opus? ( media-plugins/gst-plugins-opus:1.0 ) ) + !gstreamer? ( || ( media-sound/mp3gain + media-sound/aacgain ) ) ) + web? ( dev-python/flask[${PYTHON_USEDEP}] )" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}]" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + # remove plugins that do not have appropriate dependencies installed + for flag in bpd chroma convert discogs lastgenre mpdstats replaygain web; do + if ! use ${flag}; then + rm -r beetsplug/${flag}.py || \ + rm -r beetsplug/${flag}/ || + die "Unable to remove ${flag} plugin" + fi + done + + for flag in bpd lastgenre web; do + if ! use ${flag}; then + sed -e "s:'beetsplug.${flag}',::" -i setup.py || \ + die "Unable to disable ${flag} plugin " + fi + done + + use bpd || rm -f test/test_player.py + +} + +python_compile_all() { + use doc && emake -C docs html +} + +python_test() { + cd test + if ! use web; then + rm test_web.py || die "Failed to remove test_web.py" + fi + "${PYTHON}" testall.py || die "Testsuite failed" +} + +python_install_all() { + doman man/beet.1 man/beetsconfig.5 + use doc && dohtml -r docs/_build/html/ +} diff --git a/media-sound/beets/metadata.xml b/media-sound/beets/metadata.xml new file mode 100644 index 0000000..b6db1c9 --- /dev/null +++ b/media-sound/beets/metadata.xml @@ -0,0 +1,52 @@ + + + + + sound@gentoo.org + + + 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. (It also downloads cover art for + albums it imports.) Then it provides a bouquet of tools for manipulating + and accessing your music. + + Because beets is designed as a library, it can do almost anything you can + imagine for your music collection. Via plugins, beets becomes a panacea: + * Embed and extract album art from files’ tags. + * Listen to your library with a music player that speaks the MPD protocol + and works with a staggering variety of interfaces. + * Fetch lyrics for all your songs from databases on the Web. + * Manage your MusicBrainz music collection. + * Analyze music files’ metadata from the command line. + * Clean up crufty tags left behind by other, less-awesome tools. + * Browse your music library graphically through a Web browser and play it + in any browser that supports HTML5 Audio. + + If beets doesn’t do what you want yet, writing your own plugin is + shockingly simple if you know a little Python. + + + + Enable support for media-sound/mpd server emulation + + Enable support for acoustic fingerprinting plugin using + media-libs/chromaprint + Enable support for the convert plugin which makes it + possible to transcode files + Enable support for the discogs API plugin + Enable support for importing music genres from + last.fm tags + Enable support for collecting statistic about + listening habits from media-sound/mpd + Enable opus support in gstreamer-based replaygain + Enable support for Replay Gain metadata calculation + during import + + Enable embedded webserver support through dev-python/flask + + + + beets + +