aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Hixson <jhixson@FreeBSD.org>2019-04-28 14:25:50 +0800
committerJohn Hixson <jhixson@FreeBSD.org>2019-04-28 14:25:50 +0800
commitffdf414282fd3c0a3763e3bb6749349f24bf1f55 (patch)
treeb1d6999307098a698dd326fa35298760dd863017
parentf1f4b7df4c68c651e9a64514be547e3d23759b89 (diff)
downloadfreebsd-ports-gnome-ffdf414282fd3c0a3763e3bb6749349f24bf1f55.tar.gz
freebsd-ports-gnome-ffdf414282fd3c0a3763e3bb6749349f24bf1f55.tar.zst
freebsd-ports-gnome-ffdf414282fd3c0a3763e3bb6749349f24bf1f55.zip
[New port] audio/pianod2: A free, multi-source, network-controlled music player daemon
Approved by: araujo Differential Revision: https://reviews.freebsd.org/D19042
-rw-r--r--audio/Makefile1
-rw-r--r--audio/pianod2/Makefile54
-rw-r--r--audio/pianod2/distinfo3
-rw-r--r--audio/pianod2/files/patch-configure.ac23
-rw-r--r--audio/pianod2/files/patch-src-Makefile.am11
-rw-r--r--audio/pianod2/files/patch-src-common-xmlio.cpp14
-rw-r--r--audio/pianod2/files/patch-src-mediaunits-pandora-pandorasource.cpp10
-rw-r--r--audio/pianod2/files/pianod.in30
-rw-r--r--audio/pianod2/pkg-descr4
-rw-r--r--audio/pianod2/pkg-plist40
10 files changed, 190 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index cf351085fd16..62f7be87f613 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -635,6 +635,7 @@
SUBDIR += pear-Text_Spell_Audio
SUBDIR += penguinsap
SUBDIR += pianobar
+ SUBDIR += pianod2
SUBDIR += picard
SUBDIR += picard-plugins
SUBDIR += pithos
diff --git a/audio/pianod2/Makefile b/audio/pianod2/Makefile
new file mode 100644
index 000000000000..e3651eeb6a37
--- /dev/null
+++ b/audio/pianod2/Makefile
@@ -0,0 +1,54 @@
+# Created by: John Hixson <jhixson@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= pianod2
+PORTVERSION= 301
+CATEGORIES= audio
+MASTER_SITES= http://deviousfish.com/Downloads/pianod2/Devel/
+
+MAINTAINER= jhixson@FreeBSD.org
+COMMENT= Free, multi-source, network-controlled music player daemon
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libao.so:audio/libao \
+ libavcodec.so:multimedia/ffmpeg \
+ libgcrypt.so:security/libgcrypt \
+ libgstreamer-1.0.so:multimedia/gstreamer1 \
+ libgzstream.so:devel/gzstream \
+ libcurl.so:ftp/curl \
+ libgnutls.so:security/gnutls \
+ libjson-c.so:devel/json-c \
+ libSDL.so:devel/sdl12 \
+ libtag.so:audio/taglib
+RUN_DEPENDS= mksh>0:shells/mksh
+
+USES= autoreconf compiler:c11 gettext gmake gnome pkgconfig shebangfix
+
+USE_GNOME= glib20
+USE_GSTREAMER= ffmpeg
+
+USE_RC_SUBR= pianod
+
+GNU_CONFIGURE= yes
+
+SHEBANG_FILES= contrib/piano contrib/runmix
+ksh_CMD= ${LOCALBASE}/bin/mksh
+
+CONFIGURE_ARGS= --with-compression \
+ --with-accesscontrol \
+ --with-engine=gstreamer \
+ --with-libao \
+ --with-libsdl \
+ --with-tonegenerator \
+ --with-pandora \
+ --with-tls \
+ --with-taglib
+
+MAKE_ARGS= CC="${CC}" PREFIX="${PREFIX}"
+
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.include <bsd.port.mk>
diff --git a/audio/pianod2/distinfo b/audio/pianod2/distinfo
new file mode 100644
index 000000000000..6d8eb6cd240f
--- /dev/null
+++ b/audio/pianod2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1548905797
+SHA256 (pianod2-301.tar.gz) = d6fa01d786af65fe3b4e6f4f97fa048db6619b9443e23f655d3ea8ab4766caee
+SIZE (pianod2-301.tar.gz) = 796928
diff --git a/audio/pianod2/files/patch-configure.ac b/audio/pianod2/files/patch-configure.ac
new file mode 100644
index 000000000000..54784555a444
--- /dev/null
+++ b/audio/pianod2/files/patch-configure.ac
@@ -0,0 +1,23 @@
+--- configure.ac.orig 2018-12-07 06:39:29 UTC
++++ configure.ac
+@@ -19,7 +19,7 @@
+ AC_PREREQ([2.68])
+ AC_CONFIG_MACRO_DIRS([m4])
+ AC_INIT([pianod2],
+- m4_esyscmd([svn info svn://svn.deviousfish.com/pianod2 | grep Revision: | awk '{print $2}' | tr -d '\n']),
++ [301],
+ [pianod@lists.deviousfish.com],
+ ,[http://deviousfish.com/pianod2])
+ AM_INIT_AUTOMAKE([foreign -Wall -Werror])
+@@ -543,9 +543,9 @@ AS_IF([test "$with_libao" != "no" ], [
+
+ # Check for libsdl
+ AS_IF([test "$with_libsdl" != "no" ], [
+- DF_CHECK_LIBRARY([libsdl], [libsdl],
++ DF_CHECK_LIBRARY([libSDL], [libSDL],
+ [SDL/SDL.h SDL/SDL_version.h SDL/SDL_audio.h],,
+- [sdl], [SDL_OpenAudio],,
++ [SDL], [SDL_OpenAudio],,
+ [], [DF_DO_WITHOUT([libsdl])]
+ )
+ DF_DECIDE_WITH([libsdl])
diff --git a/audio/pianod2/files/patch-src-Makefile.am b/audio/pianod2/files/patch-src-Makefile.am
new file mode 100644
index 000000000000..f265d4a91cbe
--- /dev/null
+++ b/audio/pianod2/files/patch-src-Makefile.am
@@ -0,0 +1,11 @@
+--- src/Makefile.am.orig 2018-03-16 18:13:50 UTC
++++ src/Makefile.am
+@@ -44,7 +44,7 @@ libao_ldadd = -lao
+ endif
+
+ if WITH_LIBSDL
+-libsdl_ldadd = -lsdl
++libsdl_ldadd = -lSDL
+ endif
+
+ if WITH_LIBAVDEVICE
diff --git a/audio/pianod2/files/patch-src-common-xmlio.cpp b/audio/pianod2/files/patch-src-common-xmlio.cpp
new file mode 100644
index 000000000000..ea61e55456ce
--- /dev/null
+++ b/audio/pianod2/files/patch-src-common-xmlio.cpp
@@ -0,0 +1,14 @@
+--- src/common/xmlio.cpp.orig 2018-03-16 18:13:50 UTC
++++ src/common/xmlio.cpp
+@@ -212,11 +212,7 @@ static char *select_nobody_user (const char *nobody_na
+ // Stupid apple/BSDism: nobody.pw_gid should be gid_t but is int.
+ // Other varieties get this right.
+ } while (getgrouplist (nobody_name, nobody.pw_gid,
+-#if !defined(__FreeBSD__) && !defined(__APPLE__)
+ nobody_groups,
+-#else
+- (int *) nobody_groups,
+-#endif
+ &nobody_groups_count) < 0);
+ }
+ return home;
diff --git a/audio/pianod2/files/patch-src-mediaunits-pandora-pandorasource.cpp b/audio/pianod2/files/patch-src-mediaunits-pandora-pandorasource.cpp
new file mode 100644
index 000000000000..f82d3ac5ea17
--- /dev/null
+++ b/audio/pianod2/files/patch-src-mediaunits-pandora-pandorasource.cpp
@@ -0,0 +1,10 @@
+--- src/mediaunits/pandora/pandorasource.cpp.orig 2018-03-16 18:13:50 UTC
++++ src/mediaunits/pandora/pandorasource.cpp
+@@ -15,6 +15,7 @@
+
+ #include <limits.h>
+ #include <unistd.h>
++#include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <resolv.h>
+
diff --git a/audio/pianod2/files/pianod.in b/audio/pianod2/files/pianod.in
new file mode 100644
index 000000000000..dc9461f43483
--- /dev/null
+++ b/audio/pianod2/files/pianod.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: pianod
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable this service:
+#
+# pianod_enable (bool): Set to NO by default.
+# Set it to YES to enable pianod.
+# pianod_args (string): Additional arguments to pianod
+#
+
+. /etc/rc.subr
+
+name=pianod
+rcvar=pianod_enable
+
+: ${pianod_enable:="NO"}
+: ${pianod_args:=""}
+
+pidfile=/var/run/pianod.pid
+procname="%%PREFIX%%/bin/pianod"
+command="/usr/sbin/daemon"
+command_args="-f -p ${pidfile} ${procname} ${pianod_args}"
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/audio/pianod2/pkg-descr b/audio/pianod2/pkg-descr
new file mode 100644
index 000000000000..0ca011216957
--- /dev/null
+++ b/audio/pianod2/pkg-descr
@@ -0,0 +1,4 @@
+pianod2 is a free, multi-source, network-controlled music player daemon
+for use as central music server or scriptable backend.
+
+WWW: http://deviousfish.com/Pianod2/index.html
diff --git a/audio/pianod2/pkg-plist b/audio/pianod2/pkg-plist
new file mode 100644
index 000000000000..68c7c1eaa65d
--- /dev/null
+++ b/audio/pianod2/pkg-plist
@@ -0,0 +1,40 @@
+bin/piano
+bin/pianod
+bin/runmix
+man/man1/piano.1.gz
+man/man1/pianod.1.gz
+man/man1/runmix.1.gz
+share/pianod/html/client.css
+share/pianod/html/client.lib.js
+share/pianod/html/console.css
+share/pianod/html/console.html
+share/pianod/html/console.html.de
+share/pianod/html/console.html.en
+share/pianod/html/console.html.en_us
+share/pianod/html/console.html.es
+share/pianod/html/console.html.fr
+share/pianod/html/console.lib.js
+share/pianod/html/index.html
+share/pianod/html/index.html.de
+share/pianod/html/index.html.en
+share/pianod/html/index.html.en_us
+share/pianod/html/index.html.es
+share/pianod/html/index.html.fr
+share/pianod/html/no-art.jpeg
+share/pianod/html/pianod-button.gif
+share/pianod/html/pianod-icon.gif
+share/pianod/html/robots.txt
+share/pianod/html/translate.js
+share/pianod/html/translate.js.de
+share/pianod/html/translate.js.en
+share/pianod/html/translate.js.en_us
+share/pianod/html/translate.js.es
+share/pianod/html/translate.js.fr
+share/pianod/html/viewer.css
+share/pianod/html/viewer.html
+share/pianod/html/viewer.html.de
+share/pianod/html/viewer.html.en
+share/pianod/html/viewer.html.en_us
+share/pianod/html/viewer.html.es
+share/pianod/html/viewer.html.fr
+share/pianod/html/viewer.lib.js