diff options
Diffstat (limited to 'media-sound/beets')
-rw-r--r-- | media-sound/beets/Manifest | 2 | ||||
-rw-r--r-- | media-sound/beets/beets-1.3.13.ebuild | 89 | ||||
-rw-r--r-- | media-sound/beets/beets-1.3.3-r1.ebuild | 87 | ||||
-rw-r--r-- | media-sound/beets/metadata.xml | 57 |
4 files changed, 235 insertions, 0 deletions
diff --git a/media-sound/beets/Manifest b/media-sound/beets/Manifest new file mode 100644 index 000000000000..f7bae6deb3d6 --- /dev/null +++ b/media-sound/beets/Manifest @@ -0,0 +1,2 @@ +DIST beets-1.3.13.tar.gz 1269748 SHA256 6d973c3484079b22b7d281f771a97c03f9bb14bdd94f45b673f9d754875b2c59 SHA512 ffee7e16a115f16c26ab07a75e614746cd5871a7311660d37978deff34245f3aeab97b1a453fc0900442f40e6ac7d102c5adfce910edfec78387fc149fbea261 WHIRLPOOL 79b345612b04965aa6d4b7cc819d7ed1942b5686bf3990612f2c243dc47a2cfc3f15550f97ee30502ce42f4c24cf2ade27e9db6393f40022ffedf6842f4dc05c +DIST beets-1.3.3.tar.gz 679050 SHA256 028e08b7bab2f9c14063f318e617fa82716410170753d6b2dbe8471a8bb1975e SHA512 0e715b4d042a96c5c521f8acc12c481baad11fb9ff2b825984f6f46a1ed6dea876000fde292851292c4466e9df93ec0439d2c0f57241174014ffbb46225792ab WHIRLPOOL 6999973bb1cafa6c211ef2c709062dc322437574a874e3997319542b65c677525365c94eb9d2fcac403e0c6e59440e8beb3e50558204d216025981418fdf6e3c diff --git a/media-sound/beets/beets-1.3.13.ebuild b/media-sound/beets/beets-1.3.13.ebuild new file mode 100644 index 000000000000..fd072c6b0f52 --- /dev/null +++ b/media-sound/beets/beets-1.3.13.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2015 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/ http://pypi.python.org/pypi/beets" + +KEYWORDS="~amd64 ~x86" +SLOT="0" +LICENSE="MIT" +IUSE="bpd chroma convert doc discogs echonest 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}] ) + echonest? ( >=dev-python/pyechonest-8.0.1[${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 echonest 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/beets-1.3.3-r1.ebuild b/media-sound/beets/beets-1.3.3-r1.ebuild new file mode 100644 index 000000000000..e27ad390bc2e --- /dev/null +++ b/media-sound/beets/beets-1.3.3-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2014 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/ http://pypi.python.org/pypi/beets" + +KEYWORDS="~amd64 ~x86" +SLOT="0" +LICENSE="MIT" +IUSE="beatport bpd chroma convert doc discogs echonest echonest_tempo lastgenre mpdstats replaygain test web" + +RDEPEND=" + dev-python/munkres[${PYTHON_USEDEP}] + >=dev-python/python-musicbrainz-ngs-0.4[${PYTHON_USEDEP}] + dev-python/unidecode[${PYTHON_USEDEP}] + >=media-libs/mutagen-1.22[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + beatport? ( dev-python/requests[${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 ) + echonest? ( dev-python/pyechonest[${PYTHON_USEDEP}] ) + echonest_tempo? ( dev-python/pyechonest[${PYTHON_USEDEP}] ) + mpdstats? ( dev-python/python-mpd[${PYTHON_USEDEP}] ) + lastgenre? ( dev-python/pylast[${PYTHON_USEDEP}] ) + replaygain? ( || ( 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 beatport bpd chroma convert discogs echonest echonest_tempo 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 -i "s:'beetsplug.$flag',::" 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 000000000000..006bd4cd2f50 --- /dev/null +++ b/media-sound/beets/metadata.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <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 doesn’t do what you want yet, writing your own plugin is + shockingly simple if you know a little Python. + </longdescription> + <use> + <flag name="beatport">Enable support for beatport.com API</flag> + <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="echonest_tempo">Enable support for writing the BPM of a track + into its metadata</flag> + <flag name="echonest">Enable support for fetching and storing acoustic + attributes of a track from Echo Nest</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> |