add media-sound/beets

This commit is contained in:
Florian Tham
2017-01-01 15:57:21 +01:00
parent 0c961e8c73
commit d866dd924e
3 changed files with 143 additions and 0 deletions

View File

@@ -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

View File

@@ -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/
}

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
</maintainer>
<longdescription lang="en">
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 doesnt do what you want yet, writing your own plugin is
shockingly simple if you know a little Python.
</longdescription>
<use>
<flag name="bpd">
Enable support for <pkg>media-sound/mpd</pkg> server emulation
</flag>
<flag name="chroma">Enable support for acoustic fingerprinting plugin using
<pkg>media-libs/chromaprint</pkg></flag>
<flag name="convert">Enable support for the convert plugin which makes it
possible to transcode files</flag>
<flag name="discogs">Enable support for the discogs API plugin</flag>
<flag name="lastgenre">Enable support for importing music genres from
last.fm tags</flag>
<flag name="mpdstats">Enable support for collecting statistic about
listening habits from <pkg>media-sound/mpd</pkg></flag>
<flag name="opus">Enable opus support in gstreamer-based replaygain</flag>
<flag name="replaygain">Enable support for Replay Gain metadata calculation
during import</flag>
<flag name="web">
Enable embedded webserver support through <pkg>dev-python/flask</pkg>
</flag>
</use>
<upstream>
<remote-id type="pypi">beets</remote-id>
</upstream>
</pkgmetadata>