summaryrefslogtreecommitdiff
path: root/media-sound/herrie
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/herrie')
-rw-r--r--media-sound/herrie/Manifest9
-rw-r--r--media-sound/herrie/files/herrie-2.2-fix-buildsystem.patch38
-rw-r--r--media-sound/herrie/files/herrie-2.2-libxspf.patch122
-rw-r--r--media-sound/herrie/files/herrie-chost_issue.patch29
-rw-r--r--media-sound/herrie/herrie-2.2-r1.ebuild62
-rw-r--r--media-sound/herrie/herrie-2.2.ebuild70
-rw-r--r--media-sound/herrie/metadata.xml27
7 files changed, 357 insertions, 0 deletions
diff --git a/media-sound/herrie/Manifest b/media-sound/herrie/Manifest
new file mode 100644
index 000000000000..debd118ae5aa
--- /dev/null
+++ b/media-sound/herrie/Manifest
@@ -0,0 +1,9 @@
+AUX herrie-2.2-fix-buildsystem.patch 1183 SHA256 c12f0a40f79226248f184730658f63a4b30eeb0dae449fd7a4cb3809e2d54a07 SHA512 474d9ed85589e6bb6f640389d76d035e506434a7ae8ce8e11fe620e4b27cbe124edae797ed34e0e06c80b3ad594f7420103e9e73ce1d3ac9297b7982c8144738 WHIRLPOOL 2d67cdb7950174e7d939e59c0dfd4e35458816d706db55d9f9af806ff8c453f811b369468833cbc499e74b54df8e34ba22ff3d7381c8d044c5a0884b1f07055e
+AUX herrie-2.2-libxspf.patch 3025 SHA256 9f1dc0aa6676a9b64620a442294a962e99b46ddd907aea03f043c26bc7dc9809 SHA512 35122f8a0f16c54085d0c4ce8f1acf409266618116bbb94a8cae2b35c8856270a023d16d3c863ed3c1d06ea1f89a8f1d3d29e244881fb50bfed72b5ca1960192 WHIRLPOOL 90ad5045eb389f9c4d2ab8f03068e0c7892233f38a0c8beb20cebfe1407ea69a6024d1301d0dfb82aaac450d717d7798ceebebe002133b430d95d0ead3e824cc
+AUX herrie-chost_issue.patch 547 SHA256 07371e7b5feff1f2b9a1cce1875be9def54c478084f2635a30bdcc8e6333f2f2 SHA512 09b0720ab8f94fef7533d7e16d2ef086aaad3d306487bca6e2f42d0fba96642ad9672f67183bd58542c3af06af643421be66e3c0afff43f023239d4602c13150 WHIRLPOOL 55c2cb42e9b873a406162dcbae8e5f4dea08ea8ef7a9802e7559493ffbdbf19320931768e093fc65e02dae94e227bdf610e4632b9ee874b988378a4e40906371
+DIST herrie-2.2.tar.bz2 71596 SHA256 142341072920f86b6eb570b8f13bf5fd87c06cf801543dc7d1a819e39eb9fb2b SHA512 7f89100f1c3376d03ebc5e5e3caadccb063470ab623c7b207e9e6aaa01d7e1885d4234e3a50675bc1ade07f5ab52a34022f4e18c9a5b4f9537baa7318f4ab213 WHIRLPOOL 78c2847bda36ccf8504d46621a6e1b25e17dca4ee3831311e0a4b76e1109e9ad91f86176c885bc945cc875f7d1a98567851358202a8630aa098f2d4e07434067
+EBUILD herrie-2.2-r1.ebuild 1959 SHA256 a2a62e680fbec640e5af669450589b9dd6a2cc2d4e25d021a6f7726afbc0dd09 SHA512 2f52a4d295b94026a84de2f06bd3d0acf12d335bccfdcd04e2a784dac8674c7a9a7a4371074978b250bb999e432d4137d8af201b24671035142594686ba16239 WHIRLPOOL c607a13b7bf2a1c26e51e85963c904edd84d1599111694b767a92b470e013eda0a70115c39696dbcea8ef9e27be1cb595fadf759b1a99204101dcd430f7426f1
+EBUILD herrie-2.2.ebuild 2207 SHA256 615e8b7263d20667848704af05178e8107b72d9adfbaf86409bb273bffd6c7ab SHA512 7838dafa3eb1807a9f8235ebbf4b0211b12134a2841651ac4927c44c214ef295bcbcda03364d971097cbcdcdf5cda382b761dbd7bbfa98eaf2330b7ed6442ccc WHIRLPOOL 7e07648695a24e2163349cdd7e6334f59db208dfffa76aa982fcbba85003865269d096ccb08d782f65a3aa538a858deffa667f10724f808c4336229621ea2c18
+MISC ChangeLog 2931 SHA256 da10dfb83cfcf2b4e961875916156f54b7e7f58c01917154c57d6a717ff9cd0b SHA512 70c8e5a32724606c9f932067d629a9bfc2e3b940cdd65ac2b52cce2532493fcb6100fda163e16060a3bc1907fd421c5e54809b06e4966b2e1fae90e1293e91c2 WHIRLPOOL 937114c6307f68494140da15e0fdc3a0f10ae5c7e007cba71e47ee0d82e40a3d7f801d6bef7fed81465f33a8ecb800ba5fe50fe8120a834dcf0e7e597e4cbd4d
+MISC ChangeLog-2015 5862 SHA256 02c0f525ead606865b9d69033f94472f123fbc9f854f877bf127eb11dc198759 SHA512 0bfde9c2e10987779368982396c1486fcfedad684f93eddd35488a1b1627da64f2e4b047d468109a95d0e4acf07079e5b1585e473aba035349a63125c1fed4b2 WHIRLPOOL 0aa4721d70fe6e0ef5caf75886ebe70c6bdb13e5f59d5ebd7852bd9a9e01c5cc11cbd103d10377ceca4a5b48dde61ff1cd4da991da08ed86bb330187d6fc4ade
+MISC metadata.xml 1068 SHA256 8801c1b89171145c281d474bd93a39f18503b8b3b0bcd36954b56e68a9f5af70 SHA512 d7e009ac1e52214dcf7340ce4755700ff5620e4e1217b005d531f08fbe7b633aeb3b8b27c66336af5515dbce5e94bf0e600435c5f911a8abfb98ae95258d5d0e WHIRLPOOL 4bfc6f3f3a440504872a141e7fceb1795bface6f3ce09986f7fbbe56799f51e399d3244669d342da01d98f71a03b1e666c012d442ccf1ee63afa0b35e8479bed
diff --git a/media-sound/herrie/files/herrie-2.2-fix-buildsystem.patch b/media-sound/herrie/files/herrie-2.2-fix-buildsystem.patch
new file mode 100644
index 000000000000..03a2c7397da8
--- /dev/null
+++ b/media-sound/herrie/files/herrie-2.2-fix-buildsystem.patch
@@ -0,0 +1,38 @@
+Fix ncurses underlinking by using the pkg-config output instead of assuming
+-lncurses/-lncursesw to be enough. In addition, fix wrong modplug include
+directive. See also:
+https://bugs.gentoo.org/show_bug.cgi?id=573522
+
+--- herrie-2.2/configure
++++ herrie-2.2/configure
+@@ -215,7 +215,7 @@
+ exit 1
+ fi
+ CFLAGS_main="-DAUDIO_OUTPUT=\\\"$CFG_AO\\\" -DCONFFILE=\\\"$CONFFILE\\\""
+-LDFLAGS="$LDFLAGS -L$PREFIX/lib -l$CFG_CURSES_LIB"
++LDFLAGS="$LDFLAGS -L$PREFIX/lib `pkg-config --libs $CFG_CURSES_LIB`"
+ SRCS="audio_file audio_output_$CFG_AO config gui_browser gui_draw \
+ gui_input gui_msgbar gui_playq gui_vfslist main playq playq_party \
+ playq_xmms vfs vfs_playlist vfs_regular"
+--- herrie-2.2/src/audio_format_modplug.c
++++ herrie-2.2/src/audio_format_modplug.c
+@@ -31,7 +31,7 @@
+ #include "stdinc.h"
+
+ #include <sys/mman.h>
+-#include <modplug.h>
++#include <libmodplug/modplug.h>
+
+ #include "audio_file.h"
+ #include "audio_format.h"
+--- herrie-2.2/src/main.c
++++ herrie-2.2/src/main.c
+@@ -165,7 +165,7 @@
+ #endif /* CLOSE_STDERR */
+ if ((errmsg = vfs_lockup()) != NULL) {
+ gui_draw_init_abort();
+- g_printerr(errmsg);
++ g_printerr("%s", errmsg);
+ return (1);
+ }
+
diff --git a/media-sound/herrie/files/herrie-2.2-libxspf.patch b/media-sound/herrie/files/herrie-2.2-libxspf.patch
new file mode 100644
index 000000000000..fa7cb7a4fcbb
--- /dev/null
+++ b/media-sound/herrie/files/herrie-2.2-libxspf.patch
@@ -0,0 +1,122 @@
+--- herrie-2.2/configure
++++ herrie-2.2/configure
+@@ -301,7 +301,7 @@ fi
+ if [ "$CFG_XSPF" != "" ]
+ then
+ CFLAGS="$CFLAGS -DBUILD_XSPF"
+- LDFLAGS="$LDFLAGS -lspiff"
++ test_pkgconfig "libxspf" "xspf" "_vfs_xspf"
+ SRCS="$SRCS util vfs_xspf"
+ PLAYQ_DUMPFILE="autosave.xspf"
+ else
+--- herrie-2.2/src/conftest.c
++++ herrie-2.2/src/conftest.c
+@@ -56,16 +56,10 @@
+ #include <vorbis/codec.h>
+ #include <vorbis/vorbisfile.h>
+ #endif /* BUILD_VORBIS */
+-#ifdef BUILD_XSPF
+-#include <spiff/spiff_c.h>
+-#endif /* BUILD_XSPF */
+
+ int
+ main(int argc, char *argv[])
+ {
+-#ifdef BUILD_XSPF
+- spiff_write(NULL, NULL, NULL);
+-#endif /* BUILD_XSPF */
+
+ return (0);
+ }
+--- herrie-2.2/src/vfs_xspf.c
++++ herrie-2.2/src/vfs_xspf.c
+@@ -30,7 +30,7 @@
+
+ #include "stdinc.h"
+
+-#include <spiff/spiff_c.h>
++#include <xspf_c.h>
+
+ #include "util.h"
+ #include "vfs.h"
+@@ -50,22 +50,22 @@ vfs_xspf_match(struct vfsent *ve, int isdir)
+ int
+ vfs_xspf_populate(struct vfsent *ve)
+ {
+- struct spiff_list *slist;
+- struct spiff_track *strack;
+- struct spiff_mvalue *sloc;
++ struct xspf_list *slist;
++ struct xspf_track *strack;
++ struct xspf_mvalue *sloc;
+ char *dirname, *baseuri, *filename;
+ struct vfsref *vr;
+
+ baseuri = url_escape(ve->filename);
+- slist = spiff_parse(ve->filename, baseuri);
++ slist = xspf_parse(ve->filename, baseuri);
+ g_free(baseuri);
+ if (slist == NULL)
+ return (-1);
+
+ dirname = g_path_get_dirname(ve->filename);
+
+- SPIFF_LIST_FOREACH_TRACK(slist, strack) {
+- SPIFF_TRACK_FOREACH_LOCATION(strack, sloc) {
++ XSPF_LIST_FOREACH_TRACK(slist, strack) {
++ XSPF_TRACK_FOREACH_LOCATION(strack, sloc) {
+ /* Skip file:// part */
+ filename = url_unescape(sloc->value);
+
+@@ -77,40 +77,40 @@ vfs_xspf_populate(struct vfsent *ve)
+ }
+
+ g_free(dirname);
+- spiff_free(slist);
++ xspf_free(slist);
+ return (0);
+ }
+
+ int
+ vfs_xspf_write(const struct vfslist *vl, const char *filename)
+ {
+- struct spiff_list *list;
+- struct spiff_track *track;
+- struct spiff_mvalue *location;
++ struct xspf_list *list;
++ struct xspf_track *track;
++ struct xspf_mvalue *location;
+ char *fn, *baseuri;
+ struct vfsref *vr;
+ int ret;
+
+- list = spiff_new();
++ list = xspf_new();
+
+ VFS_LIST_FOREACH_REVERSE(vl, vr) {
+ /* Add a new track to the beginning of the list */
+- track = spiff_new_track_before(&list->tracks);
++ track = xspf_new_track_before(&list->tracks);
+
+ /* Make sure we don't write non-UTF-8 titles to disk */
+ if (g_utf8_validate(vfs_name(vr), -1, NULL))
+- spiff_setvalue(&track->title, vfs_name(vr));
++ xspf_setvalue(&track->title, vfs_name(vr));
+
+- location = spiff_new_mvalue_before(&track->locations);
++ location = xspf_new_mvalue_before(&track->locations);
+ fn = url_escape(vfs_filename(vr));
+- spiff_setvalue(&location->value, fn);
++ xspf_setvalue(&location->value, fn);
+ g_free(fn);
+ }
+
+ baseuri = url_escape(filename);
+- ret = spiff_write(list, filename, baseuri);
++ ret = xspf_write(list, filename, baseuri);
+ g_free(baseuri);
+- spiff_free(list);
++ xspf_free(list);
+
+ return (ret);
+ }
diff --git a/media-sound/herrie/files/herrie-chost_issue.patch b/media-sound/herrie/files/herrie-chost_issue.patch
new file mode 100644
index 000000000000..1949972baa6a
--- /dev/null
+++ b/media-sound/herrie/files/herrie-chost_issue.patch
@@ -0,0 +1,29 @@
+This patch sets the OS variable according to the CHOST given by the environment,
+thus enabling cross-compilation.
+
+Index: herrie-1.8/configure
+===================================================================
+--- herrie-1.8.orig/configure
++++ herrie-1.8/configure
+@@ -50,6 +50,21 @@ CFG_VORBIS=yes
+ CFG_XSPF=yes
+ DOIT=@
+
++case "$CHOST" in
++ *-darwin*)
++ OS=Darwin
++ ;;
++ *-linux*)
++ OS=Linux
++ ;;
++ *-freebsd*)
++ OS=FreeBSD
++ ;;
++ *-solaris*)
++ OS=SunOS
++ ;;
++esac
++
+ # Operating system defaults
+ [ "$OS" != "" ] || OS=`uname`
+ case $OS in
diff --git a/media-sound/herrie/herrie-2.2-r1.ebuild b/media-sound/herrie/herrie-2.2-r1.ebuild
new file mode 100644
index 000000000000..c745c0dd24c9
--- /dev/null
+++ b/media-sound/herrie/herrie-2.2-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Herrie is a command line music player"
+HOMEPAGE="http://herrie.info/"
+SRC_URI="http://herrie.info/distfiles/${P}.tar.bz2"
+
+LICENSE="BSD-2 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="ao +alsa pulseaudio oss http modplug mp3 sndfile vorbis xspf unicode nls"
+APP_LINGUAS="ca da de es fi ga nl pl pt_BR ru sv tr vi zh_CN"
+for X in ${APP_LINGUAS}; do
+ IUSE="${IUSE} linguas_${X}"
+done
+REQUIRED_USE="|| ( ao alsa pulseaudio oss )"
+
+RDEPEND="sys-libs/ncurses:0=[unicode?]
+ >=dev-libs/glib-2:2
+ ao? ( media-libs/libao )
+ alsa? ( media-libs/alsa-lib )
+ http? ( net-misc/curl )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-libs/libmad
+ media-libs/libid3tag )
+ pulseaudio? ( media-sound/pulseaudio )
+ sndfile? ( media-libs/libsndfile )
+ vorbis? ( media-libs/libvorbis )
+ xspf? ( >=media-libs/libxspf-1.2 )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-chost_issue.patch"
+ "${FILESDIR}/${P}-libxspf.patch"
+ "${FILESDIR}/${P}-fix-buildsystem.patch"
+)
+
+src_configure() {
+ local EXTRA_CONF="verbose no_strip"
+ use ao && EXTRA_CONF="${EXTRA_CONF} ao"
+ use alsa && EXTRA_CONF="${EXTRA_CONF} alsa"
+ use http || EXTRA_CONF="${EXTRA_CONF} no_http no_scrobbler"
+ use mp3 || EXTRA_CONF="${EXTRA_CONF} no_mp3"
+ use modplug || EXTRA_CONF="${EXTRA_CONF} no_modplug"
+ use nls || EXTRA_CONF="${EXTRA_CONF} no_nls"
+ use oss && EXTRA_CONF="${EXTRA_CONF} oss"
+ use pulseaudio && EXTRA_CONF="${EXTRA_CONF} pulse"
+ use sndfile || EXTRA_CONF="${EXTRA_CONF} no_sndfile"
+ use unicode || EXTRA_CONF="${EXTRA_CONF} ncurses"
+ use vorbis || EXTRA_CONF="${EXTRA_CONF} no_vorbis"
+ use xspf || EXTRA_CONF="${EXTRA_CONF} no_xspf"
+
+ einfo "./configure ${EXTRA_CONF}"
+ CC="$(tc-getCC)" PREFIX=/usr MANDIR=/usr/share/man \
+ ./configure ${EXTRA_CONF} || die "configure failed"
+}
diff --git a/media-sound/herrie/herrie-2.2.ebuild b/media-sound/herrie/herrie-2.2.ebuild
new file mode 100644
index 000000000000..8e02ca647f7f
--- /dev/null
+++ b/media-sound/herrie/herrie-2.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Herrie is a command line music player"
+HOMEPAGE="http://herrie.info/"
+SRC_URI="http://herrie.info/distfiles/${P}.tar.bz2"
+
+LICENSE="BSD-2 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="ao alsa pulseaudio oss http modplug mp3 sndfile vorbis xspf unicode nls"
+
+APP_LINGUAS="ca da de es fi ga nl pl pt_BR ru sv tr vi zh_CN"
+for X in ${APP_LINGUAS}; do
+ IUSE="${IUSE} linguas_${X}"
+done
+
+RDEPEND="sys-libs/ncurses[unicode?]
+ >=dev-libs/glib-2:2
+ ao? ( media-libs/libao )
+ alsa? ( media-libs/alsa-lib )
+ http? ( net-misc/curl )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-libs/libmad
+ media-libs/libid3tag )
+ pulseaudio? ( media-sound/pulseaudio )
+ sndfile? ( media-libs/libsndfile )
+ vorbis? ( media-libs/libvorbis )
+ xspf? ( >=media-libs/libxspf-1.2 )
+ !ao? ( !alsa? ( !pulseaudio? ( !oss? ( media-libs/alsa-lib ) ) ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-chost_issue.patch \
+ "${FILESDIR}"/${P}-libxspf.patch
+}
+
+src_configure() {
+ if ! use ao && ! use alsa && ! use pulseaudio && ! use oss; then
+ ewarn "No audio output selected (ao, alsa, pulseaudio, oss), defaulting to alsa."
+ fi
+
+ local EXTRA_CONF="verbose no_strip"
+ use ao && EXTRA_CONF="${EXTRA_CONF} ao"
+ use alsa && EXTRA_CONF="${EXTRA_CONF} alsa"
+ use http || EXTRA_CONF="${EXTRA_CONF} no_http no_scrobbler"
+ use mp3 || EXTRA_CONF="${EXTRA_CONF} no_mp3"
+ use modplug || EXTRA_CONF="${EXTRA_CONF} no_modplug"
+ use nls || EXTRA_CONF="${EXTRA_CONF} no_nls"
+ use oss && EXTRA_CONF="${EXTRA_CONF} oss"
+ use pulseaudio && EXTRA_CONF="${EXTRA_CONF} pulse"
+ use sndfile || EXTRA_CONF="${EXTRA_CONF} no_sndfile"
+ use unicode || EXTRA_CONF="${EXTRA_CONF} ncurses"
+ use vorbis || EXTRA_CONF="${EXTRA_CONF} no_vorbis"
+ use xspf || EXTRA_CONF="${EXTRA_CONF} no_xspf"
+
+ einfo "./configure ${EXTRA_CONF}"
+ CC="$(tc-getCC)" PREFIX=/usr MANDIR=/usr/share/man \
+ ./configure ${EXTRA_CONF} || die "configure failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog README
+}
diff --git a/media-sound/herrie/metadata.xml b/media-sound/herrie/metadata.xml
new file mode 100644
index 000000000000..1f60fffd9530
--- /dev/null
+++ b/media-sound/herrie/metadata.xml
@@ -0,0 +1,27 @@
+<?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>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Herrie is a minimalistic music player that uses the command
+ line. It is written to support a variety of operating systems,
+ audio subsystems and file formats, including playlists.
+
+ Herrie has a split-screen user interface, with a playlist at
+ the top of the screen and a file browser at the bottom. When
+ tracks are added to the playlist, Herrie consumes them from the
+ top one by one. It is thus an application that allows you to
+ batch music for playback.
+
+ Herrie also has some more exotic features, including support
+ for AudioScrobbler and the ability to chroot() itself
+ into a directory.
+ </longdescription>
+ <use>
+ <flag name="http">Enable http streaming</flag>
+ <flag name="xspf">Enable support for reading and saving XSPF playlists</flag>
+ </use>
+</pkgmetadata>