Port peercast to -ng
authorFlorian Fainelli <florian@openwrt.org>
Sun, 6 Aug 2006 14:50:20 +0000 (14:50 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 6 Aug 2006 14:50:20 +0000 (14:50 +0000)
SVN-Revision: 4491

multimedia/peercast/Makefile [new file with mode: 0644]
multimedia/peercast/files/peercast.ini [new file with mode: 0644]
multimedia/peercast/files/peercast.init [new file with mode: 0644]

diff --git a/multimedia/peercast/Makefile b/multimedia/peercast/Makefile
new file mode 100644 (file)
index 0000000..0afa39d
--- /dev/null
@@ -0,0 +1,74 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=peercast
+PKG_VERSION:=0.1214
+PKG_RELEASE:=1
+PKG_MD5SUM:=4e8449cde7135ad97f788e67e1bd64ee
+
+PKG_SOURCE_URL:=http://www.cti.ecp.fr/~beauxir5/peercast
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/peercast
+  SECTION:=multimedia
+  CATEGORY:=Multimedia
+  DEPENDS:=+libpthread +uclibcxx
+  TITLE:=P2P audio and video streaming server
+  DESCRIPTION:=PeerCast is a fresh new P2P streaming server. It can stream music\\\
+       and video from a broad variety of formats. Many audio players can\\\
+       listen to peercast streams, as it's been built to remain compatible\\\
+       with Nullsoft Shoutcast.\\\
+  URL:=http://www.peercast.org/
+endef
+
+define Package/peercast/conffiles
+/etc/peercast.ini
+endef
+
+define Build/Configure
+$(call Build/Configure/Default,--enable-shared \
+                       --disable-static \
+                       --with-gnu-ld \
+                       --enable-staticbin, BUILD_CC=$(TARGET_CC) HOSTCC=$(HOSTCC) \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -nostdinc++ -nodefaultlibs" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+               LIBS="-nodefaultlibs -luClibc++ -lpthread")
+endef
+
+define Build/Compile
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+endef
+
+define Package/peercast/install        
+       install -m0755 -d $(1)/usr/sbin
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/peercast $(1)/usr/sbin/
+       install -m0755 -d $(1)/usr/share/peercast/html
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/peercast/html/en $(1)/usr/share/peercast/html/
+       install -m0755 -d $(1)/etc
+       install -m0644 ./files/peercast.ini $(1)/etc/
+       install -m0755 -d $(1)/etc/init.d
+       install -m0755 ./files/peercast.init $(1)/etc/init.d/peercast
+       ln -sf peercast $(1)/etc/init.d/S60peercast
+endef
+
+$(eval $(call BuildPackage,peercast))
diff --git a/multimedia/peercast/files/peercast.ini b/multimedia/peercast/files/peercast.ini
new file mode 100644 (file)
index 0000000..b48d3f9
--- /dev/null
@@ -0,0 +1,81 @@
+\r
+[Server]\r
+serverPort = 7144\r
+autoServe = Yes\r
+forceIP = \r
+isRoot = No\r
+maxBitrateOut = 0\r
+maxRelays = 1\r
+maxDirect = 0\r
+maxRelaysPerChannel = 0\r
+firewallTimeout = 30\r
+forceNormal = No\r
+rootMsg = \r
+authType = cookie\r
+cookiesExpire = session\r
+htmlPath = html/en\r
+minPGNUIncoming = 10\r
+maxPGNUIncoming = 20\r
+maxServIn = 50\r
+chanLog = \r
+networkID = 00000000000000000000000000000000\r
+\r
+[Broadcast]\r
+broadcastMsgInterval = 10\r
+broadcastMsg = \r
+icyMetaInterval = 8192\r
+broadcastID = 898145B5C0427118B595AF7D9E110000\r
+hostUpdateInterval = 180\r
+maxControlConnections = 3\r
+rootHost = yp.peercast.org\r
+\r
+[Client]\r
+refreshHTML = 5\r
+relayBroadcast = 30\r
+minBroadcastTTL = 1\r
+maxBroadcastTTL = 7\r
+pushTries = 5\r
+pushTimeout = 60\r
+maxPushHops = 8\r
+autoQuery = 0\r
+queryTTL = 7\r
+\r
+[Privacy]\r
+password = hackme\r
+maxUptime = 0\r
+\r
+[Filter]\r
+ip = 255.255.255.255\r
+private = No\r
+ban = No\r
+network = Yes\r
+direct = Yes\r
+[End]\r
+\r
+[Notify]\r
+PeerCast = Yes\r
+Broadcasters = Yes\r
+TrackInfo = Yes\r
+[End]\r
+\r
+[Server1]\r
+allowHTML = Yes\r
+allowBroadcast = Yes\r
+allowNetwork = Yes\r
+allowDirect = Yes\r
+[End]\r
+\r
+[Server2]\r
+allowHTML = No\r
+allowBroadcast = Yes\r
+allowNetwork = No\r
+allowDirect = No\r
+[End]\r
+\r
+[Debug]\r
+logDebug = No\r
+logErrors = No\r
+logNetwork = No\r
+logChannel = No\r
+pauseLog = No\r
+idleSleepTime = 10\r
diff --git a/multimedia/peercast/files/peercast.init b/multimedia/peercast/files/peercast.init
new file mode 100644 (file)
index 0000000..c61c314
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+PID_F=/var/run/peercast.pid
+
+case $1 in
+ start)
+  peercast -d -i /etc/peercast.ini -l /var/log/peercast.log -p $PID_F
+  ;;
+ stop)
+  [ -f $PID_F ] && kill $(cat $PID_F) >/dev/null 2>&1
+  ;;
+ *)
+  echo "usage: $0 (start|stop)"
+  exit 1
+esac
+
+exit $?
+