summaryrefslogtreecommitdiff
path: root/media-sound/forked-daapd
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/forked-daapd')
-rw-r--r--media-sound/forked-daapd/Manifest9
-rw-r--r--media-sound/forked-daapd/files/antlr-3.5.patch81
-rw-r--r--media-sound/forked-daapd/files/daapd.confd11
-rw-r--r--media-sound/forked-daapd/files/daapd.initd31
-rw-r--r--media-sound/forked-daapd/files/forked-daapd-23.2-fix-arg-enable.patch57
-rw-r--r--media-sound/forked-daapd/forked-daapd-23.2-r1.ebuild81
-rw-r--r--media-sound/forked-daapd/metadata.xml23
7 files changed, 293 insertions, 0 deletions
diff --git a/media-sound/forked-daapd/Manifest b/media-sound/forked-daapd/Manifest
new file mode 100644
index 000000000000..e7943464920a
--- /dev/null
+++ b/media-sound/forked-daapd/Manifest
@@ -0,0 +1,9 @@
+AUX antlr-3.5.patch 1576 SHA256 210a2143403b2bf3b3f9b298b4624818c4e14278d0b1d1fb627f4120c73e07be SHA512 221dc595c39ea312cab8d7afb2fbc56736036b4e2bae31621b621318742abcbae9fde5c8a54540d4b1d6b2fc30a7d4accaf812b43d89ecf50f5dd3a709b0857e WHIRLPOOL cdcbbb86f1a51a9e371155b3eda1c61243c1e50be2c678e60c5f81f578f8e4f90e8796da05074b4a32e815c649205162d9430bff8a133da7407eecfe6e908b9d
+AUX daapd.confd 344 SHA256 321e76c102ad09c93c4c88d3cfc19c6c4573306b137c4d5cb1eb8973ccb03439 SHA512 b8e2d1bc61fbaa23d9b99770657fbf3af55a9e6fd39a34af4e90379f5ce883f29458dae48f424b77c3000933932b31106466714838da38e9a159d34af6cbdacc WHIRLPOOL 10715a02cfcab482f450a4a055a05239d44ecc1c98d08e176ae899fdaa37f8f6f33c2f93b630f1adac3b31648cc7c74239fac38ec849f04aa02434ceef157808
+AUX daapd.initd 583 SHA256 80cfe89cb083de05a2671141b98c303d2cd8e7f24beef123195074b8e27cd1d6 SHA512 a584cd71c5673732ac0c31fb92d156f5c480ced066d0686f957d6adf9c769ec234fe46a468077ea6b28efca132336e186fa0adc2200150e9fca11f2800aeb67a WHIRLPOOL 6769966d0a84b6b6330a852dc588d8efa8eeb4c35bd12179e1cccd5bc8e597046b6479c604003536a51048197776fea9ab9280f201a8e94c4e7d80d4dfefa4e4
+AUX forked-daapd-23.2-fix-arg-enable.patch 2272 SHA256 0b79bcc65975370cc24de2fe0d28f7d3cdbaaeae9701703907646bbd3caf6025 SHA512 48768ab213334c2324435a82cb58982100e8467001284bf589816e983982d4916198e659afad1fd7ca8e437c48971fb5ed7eeafcfa0118965d91fac839bfafe4 WHIRLPOOL 86b1aa7c702f4df83cb0303ad5ed2ae467e74636f45f19f4b7d48c1c6dceb425dcb3b4f980c126b3b15a2cb0c61e5359901185f23ce5ab00752af0a02408e5c3
+DIST forked-daapd-23.2.tar.gz 325895 SHA256 8a85dfc479cfb3aeb01f5cec7f782b9eee749121f2d8a2b30932de9fbb31d19c SHA512 11b5c6c16c0c9e20f1c196941cd09602d90b5e2ed0765e4fac25c6aeba388706bd7ede9f6c467227c245f2597466e8658f9db75073ee8b47b16f947514eb1511 WHIRLPOOL 05fd527a3ae57bb3ff3bf11b455bd926ee76d4358a569da674745a6e2b30343a35bc40cc44c90aaa10b70f496ddbf99e0975910b8ab3f759cc43929a0d19119f
+EBUILD forked-daapd-23.2-r1.ebuild 1710 SHA256 fe7d95c4a693cef36ecbe63728ea471678b2140ab14b68e05a3720c368a92eda SHA512 dadfdbf217507b5ddff5681d13d6d3f657f3229fbb85599da0ad347a0633b1e09a214241103aa00dc881303d0e6537a5515fcb93dcd0df827e599dd1cd3dc288 WHIRLPOOL 6a4824f0c66b3db5aa2eea594de8c16a15c7731c962bdd74b36a2722162dc8ee787b8da33d3e778e06c6f7aa90604a48a12406bc0f0c0333daac8323bc24e781
+MISC ChangeLog 2983 SHA256 f3e254ba2c5a81a24c6d48c773ff670e7d9ebd69f7c5ec7824975d80d4b8cfac SHA512 262d3f7e02442c464656f3fb5428979295268ec238a978e2f7ba493ef0dad7a1faebdddfbc26fc6c7a753584dbe2daf54e596fe848e1c7cc0dfec71b97eedff8 WHIRLPOOL 29de5aeb8519a997a4e0c55fc81282f8df609f4cc4dc35a2930de58b3022aa85f16e1a750987479cfcc79f7e8c285fdddfbe940b7552a4af2538419f19130db6
+MISC ChangeLog-2015 490 SHA256 9e3931dbe0bb29f0832d73885f66ea47279899869d34e5ba0fc18b6eab666511 SHA512 c89c5ae26861c7994cbec03bb59d672b3f890d2c30c080c4c85151b226b5a908cd0db116d3b5e586e56802d7b0acf6ce9ff05f990eae9972b88211da4d6634f9 WHIRLPOOL d5304b6c77e7872c63b2e561d12521d90b29822254cefcedc5f74ddcd6c137664566b9edbd844922349f2b0a2f57a4ac98a099cef2caed25a8dfd11faa5300ea
+MISC metadata.xml 793 SHA256 9638b5bb0caf27603abe8a0c42d0a8d8a3a8e06dca9c734cfa236679b319f2f9 SHA512 43ef73e58b7e999ee49ac1af5fcf1861e19debcad5cb783f3cec5e977badef997be362520932b97e404b39c5578df91b26821289733458cf1125d41572bf4d34 WHIRLPOOL 7020f1d6aa7f7becbdb138b8b88b7cdcdcb7ee961bea047df7f1c4b5ef7f75cd4868b97dc45c39d51f2b229e2d3cf740717fbff7c6ef478018883f2891943237
diff --git a/media-sound/forked-daapd/files/antlr-3.5.patch b/media-sound/forked-daapd/files/antlr-3.5.patch
new file mode 100644
index 000000000000..86461f3f0ba5
--- /dev/null
+++ b/media-sound/forked-daapd/files/antlr-3.5.patch
@@ -0,0 +1,81 @@
+From 7cf35d1e8bb8dedb710e4a60bada2739d60306d0 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Mon, 5 Oct 2015 23:10:45 +0100
+Subject: [PATCH 1/2] Allow ANTLR 3.5 to work
+
+This involves a harmless backwards-compatible adjustment to the
+grammar. I can't explain why this is necessary but this might help.
+
+http://stackoverflow.com/questions/20057063/follow-set-in-is-undefined-in-generated-parser
+---
+ src/RSP.g | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/src/RSP.g b/src/RSP.g
+index 435de16..6a27536 100644
+--- a/src/RSP.g
++++ b/src/RSP.g
+@@ -43,43 +43,43 @@ strcrit : FIELD strop STR -> ^(strop FIELD STR)
+ | FIELD NOT strop STR -> ^(NOT ^(strop FIELD STR))
+ ;
+
+-strop : EQUAL
+- | INCLUDES
+- | STARTSW
+- | ENDSW
++strop : equal=EQUAL
++ | includes=INCLUDES
++ | startsw=STARTSW
++ | endsw=ENDSW
+ ;
+
+ intcrit : FIELD intop INT -> ^(intop FIELD INT)
+ | FIELD NOT intop INT -> ^(NOT ^(intop FIELD INT))
+ ;
+
+-intop : EQUAL
+- | LESS
+- | GREATER
+- | LTE
+- | GTE
++intop : equal=EQUAL
++ | less=LESS
++ | greater=GREATER
++ | lte=LTE
++ | gte=GTE
+ ;
+
+ datecrit: FIELD dateop datespec -> ^(dateop FIELD datespec)
+ ;
+
+-dateop : BEFORE
+- | AFTER
++dateop : before=BEFORE
++ | after=AFTER
+ ;
+
+ datespec: dateref
+ | INT dateintval dateop dateref -> ^(dateop dateref INT dateintval)
+ ;
+
+-dateref : DATE
+- | TODAY
++dateref : date=DATE
++ | today=TODAY
+ ;
+
+ dateintval
+- : DAY
+- | WEEK
+- | MONTH
+- | YEAR
++ : day=DAY
++ | week=WEEK
++ | month=MONTH
++ | year=YEAR
+ ;
+
+ QUOTE : '"';
+--
+2.4.3
+
diff --git a/media-sound/forked-daapd/files/daapd.confd b/media-sound/forked-daapd/files/daapd.confd
new file mode 100644
index 000000000000..8b268509861b
--- /dev/null
+++ b/media-sound/forked-daapd/files/daapd.confd
@@ -0,0 +1,11 @@
+# Set the log level (0-5)
+#LOG_LEVEL=2
+
+# Specify the log domains. Comma-separated, choose from: config,
+# daap, db, httpd, main, mdns, misc, rsp, scan, xcode, event, remote,
+# dacp, ffmpeg, artwork, player, raop, laudio, dmap, dbperf, spotify,
+# lastfm, cache
+#LOG_DOMAINS=main,config
+
+# ffid to be broadcast in mDNS records
+#FFID=homeserver
diff --git a/media-sound/forked-daapd/files/daapd.initd b/media-sound/forked-daapd/files/daapd.initd
new file mode 100644
index 000000000000..7854bd4cc40e
--- /dev/null
+++ b/media-sound/forked-daapd/files/daapd.initd
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+
+# Override in /etc/conf.d/daapd
+LOG_LEVEL=${LOG_LEVEL:-2}
+LOG_DOMAINS=${LOG_DOMAINS:-'main,mdns,db,scan'}
+FFID=${FFID:-daapd}
+
+PIDFILE=/var/run/forked-daapd.pid
+
+depend() {
+ need avahi-dnsconfd
+}
+
+start() {
+ ebegin "Starting daapd"
+ start-stop-daemon --start forked-daapd \
+ --pidfile "$PIDFILE" \
+ -- \
+ -P "$PIDFILE" \
+ -d "$LOG_LEVEL" \
+ -b "$FFID" \
+ -D "$LOG_DOMAINS"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping daapd"
+ start-stop-daemon --stop forked-daapd \
+ --pidfile "$PIDFILE"
+ eend $?
+}
diff --git a/media-sound/forked-daapd/files/forked-daapd-23.2-fix-arg-enable.patch b/media-sound/forked-daapd/files/forked-daapd-23.2-fix-arg-enable.patch
new file mode 100644
index 000000000000..7c4297ef0e9f
--- /dev/null
+++ b/media-sound/forked-daapd/files/forked-daapd-23.2-fix-arg-enable.patch
@@ -0,0 +1,57 @@
+--- configure.ac.orig 2015-07-20 18:03:12.270584746 -0500
++++ configure.ac 2015-07-20 18:03:00.050585581 -0500
+@@ -51,25 +51,35 @@
+ AC_SYS_LARGEFILE
+ AC_TYPE_OFF_T
+
+-AC_ARG_ENABLE(flac, AS_HELP_STRING([--enable-flac], [extract FLAC metadata with libflac (default=no)]),
+- use_flac=true;
+- CPPFLAGS="${CPPFLAGS} -DFLAC")
+-
+-AC_ARG_ENABLE(musepack, AS_HELP_STRING([--enable-musepack], [extract Musepack metadata with taglib (default=no)]),
+- use_musepack=true;
+- CPPFLAGS="${CPPFLAGS} -DMUSEPACK")
+-
+-AC_ARG_ENABLE(itunes, AS_HELP_STRING([--enable-itunes], [enable iTunes library support (default=no)]),
+- use_itunes=true;
+- CPPFLAGS="${CPPFLAGS} -DITUNES")
+-
+-AC_ARG_ENABLE(spotify, AS_HELP_STRING([--enable-spotify], [enable Spotify library support (default=no)]),
+- use_spotify=true;
+- CPPFLAGS="${CPPFLAGS} -DSPOTIFY")
+-
+-AC_ARG_ENABLE(lastfm, AS_HELP_STRING([--enable-lastfm], [enable LastFM support (default=no)]),
+- use_lastfm=true;
+- CPPFLAGS="${CPPFLAGS} -DLASTFM")
++AC_ARG_ENABLE(flac, AS_HELP_STRING([--enable-flac], [extract FLAC metadata with libflac (default=no)]))
++AS_IF([test "x$enable_flac" = "xyes"], [
++ use_flac=true;
++ CPPFLAGS="${CPPFLAGS} -DFLAC"
++])
++
++AC_ARG_ENABLE(musepack, AS_HELP_STRING([--enable-musepack], [extract Musepack metadata with taglib (default=no)]))
++AS_IF([test "x$enable_musepack" = "xyes"], [
++ use_musepack=true;
++ CPPFLAGS="${CPPFLAGS} -DMUSEPACK"
++])
++
++AC_ARG_ENABLE(itunes, AS_HELP_STRING([--enable-itunes], [enable iTunes library support (default=no)]))
++AS_IF([test "x$enable_itunes" = "xyes"], [
++ use_itunes=true;
++ CPPFLAGS="${CPPFLAGS} -DITUNES"
++])
++
++AC_ARG_ENABLE(spotify, AS_HELP_STRING([--enable-spotify], [enable Spotify library support (default=no)]))
++AS_IF([test "x$enable_spotify" = "xyes"], [
++ use_spotify=true;
++ CPPFLAGS="${CPPFLAGS} -DSPOTIFY"
++])
++
++AC_ARG_ENABLE(lastfm, AS_HELP_STRING([--enable-lastfm], [enable LastFM support (default=no)]))
++AS_IF([test "x$enable_lastfm" = "xyes"], [
++ use_lastfm=true;
++ CPPFLAGS="${CPPFLAGS} -DLASTFM"
++])
+
+ case "$host" in
+ *-*-linux-*)
diff --git a/media-sound/forked-daapd/forked-daapd-23.2-r1.ebuild b/media-sound/forked-daapd/forked-daapd-23.2-r1.ebuild
new file mode 100644
index 000000000000..291b1f091c68
--- /dev/null
+++ b/media-sound/forked-daapd/forked-daapd-23.2-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# TODO:
+# Add --enable-spotify when it works
+
+EAPI=5
+
+inherit autotools eutils user
+
+DESCRIPTION="A DAAP (iTunes) media server"
+HOMEPAGE="https://github.com/ejurgensen/forked-daapd"
+SRC_URI="https://github.com/ejurgensen/forked-daapd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="alsa flac itunes lastfm mpd musepack"
+
+# Note: mpd support appears to be standalone, e.g. --enable-mpd doesn't
+# result in additional linkage.
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/antlr-c:0
+ dev-libs/confuse
+ dev-libs/libevent
+ dev-libs/libgcrypt:0
+ dev-libs/libunistring
+ dev-libs/mini-xml[threads]
+ media-libs/alsa-lib
+ net-dns/avahi[dbus]
+ virtual/ffmpeg
+
+ flac? ( media-libs/flac )
+ itunes? ( app-pda/libplist )
+ lastfm? ( net-misc/curl )
+ musepack? ( media-libs/taglib )
+"
+
+DEPEND="
+ dev-java/antlr:3.5
+ ${RDEPEND}
+"
+
+pkg_setup() {
+ enewuser daapd
+ enewgroup daapd
+}
+
+src_prepare() {
+ # Fixed in 23.3.
+ epatch "${FILESDIR}/${P}-fix-arg-enable.patch"
+
+ # https://github.com/ejurgensen/forked-daapd/pull/185
+ epatch "${FILESDIR}/antlr-3.5.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ ac_cv_prog_ANTLR=antlr3.5 \
+ econf \
+ --with-alsa \
+ $(use_enable flac) \
+ $(use_enable musepack) \
+ $(use_enable itunes) \
+ $(use_enable lastfm) \
+ $(use_enable mpd)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}/daapd.initd" daapd
+ newconfd "${FILESDIR}/daapd.confd" daapd
+
+ # dodir by itself fails in the likely case of /srv/music having a
+ # volume mounted already.
+ test -d /srv/music || dodir /srv/music
+
+ fowners -R daapd:daapd /var/lib/cache/forked-daapd
+}
diff --git a/media-sound/forked-daapd/metadata.xml b/media-sound/forked-daapd/metadata.xml
new file mode 100644
index 000000000000..4f9e72da3bf6
--- /dev/null
+++ b/media-sound/forked-daapd/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>stasibear@gentoo.org</email>
+ <name>Erik Mackdanz</name>
+ </maintainer>
+ <longdescription>
+ This is a much updated version of the original
+ forked-daapd 0.19 (non-gcd), a Linux/FreeBSD DAAP
+ (iTunes) media server with support for AirPlay
+ devices, Apple Remote (and compatibles), Spotify and
+ internet radio.
+ </longdescription>
+ <use>
+ <flag name="itunes">Enable support for iTunes library XML</flag>
+ <flag name="lastfm">Enable LastFM scrobbling support</flag>
+ <flag name="mpd">Enable streaming to mpd</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ejurgensen/forked-daapd</remote-id>
+ </upstream>
+</pkgmetadata>