diff --git a/openwrt/package/peercast/Config.in b/openwrt/package/peercast/Config.in new file mode 100644 index 000000000..b26f977cd --- /dev/null +++ b/openwrt/package/peercast/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PEERCAST + prompt "peercast........................... P2P audio and video streaming server" + tristate + default m if CONFIG_DEVEL + select BR2_PACKAGE_LIBPTHREAD + select BR2_PACKAGE_UCLIBCXX + help + 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. + + http://www.peercast.org/ + diff --git a/openwrt/package/peercast/Makefile b/openwrt/package/peercast/Makefile new file mode 100644 index 000000000..575a4041a --- /dev/null +++ b/openwrt/package/peercast/Makefile @@ -0,0 +1,76 @@ +# $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 $(TOPDIR)/package/rules.mk + +$(eval $(call PKG_template,PEERCAST,peercast,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) + +$(PKG_BUILD_DIR)/.configured: + (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \ + 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" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_NLS) \ + --enable-shared \ + --disable-static \ + --with-gnu-ld \ + --enable-staticbin \ + ); + touch $@ + +$(PKG_BUILD_DIR)/.built: + rm -rf $(PKG_INSTALL_DIR) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + all install + touch $@ + +$(IPKG_PEERCAST): + install -m0755 -d $(IDIR_PEERCAST)/usr/sbin + cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/peercast $(IDIR_PEERCAST)/usr/sbin/ + install -m0755 -d $(IDIR_PEERCAST)/usr/share/peercast/html + cp -fpR $(PKG_INSTALL_DIR)/usr/share/peercast/html/en $(IDIR_PEERCAST)/usr/share/peercast/html/ + install -m0755 -d $(IDIR_PEERCAST)/etc + install -m0644 ./files/peercast.ini $(IDIR_PEERCAST)/etc/ + install -m0755 -d $(IDIR_PEERCAST)/etc/init.d + install -m0755 ./files/peercast.init $(IDIR_PEERCAST)/etc/init.d/peercast + ln -sf peercast $(IDIR_PEERCAST)/etc/init.d/S60peercast + $(RSTRIP) $(IDIR_PEERCAST) + $(IPKG_BUILD) $(IDIR_PEERCAST) $(PACKAGE_DIR) diff --git a/openwrt/package/peercast/files/peercast.ini b/openwrt/package/peercast/files/peercast.ini new file mode 100644 index 000000000..b48d3f9f7 --- /dev/null +++ b/openwrt/package/peercast/files/peercast.ini @@ -0,0 +1,81 @@ + +[Server] +serverPort = 7144 +autoServe = Yes +forceIP = +isRoot = No +maxBitrateOut = 0 +maxRelays = 1 +maxDirect = 0 +maxRelaysPerChannel = 0 +firewallTimeout = 30 +forceNormal = No +rootMsg = +authType = cookie +cookiesExpire = session +htmlPath = html/en +minPGNUIncoming = 10 +maxPGNUIncoming = 20 +maxServIn = 50 +chanLog = +networkID = 00000000000000000000000000000000 + +[Broadcast] +broadcastMsgInterval = 10 +broadcastMsg = +icyMetaInterval = 8192 +broadcastID = 898145B5C0427118B595AF7D9E110000 +hostUpdateInterval = 180 +maxControlConnections = 3 +rootHost = yp.peercast.org + +[Client] +refreshHTML = 5 +relayBroadcast = 30 +minBroadcastTTL = 1 +maxBroadcastTTL = 7 +pushTries = 5 +pushTimeout = 60 +maxPushHops = 8 +autoQuery = 0 +queryTTL = 7 + +[Privacy] +password = hackme +maxUptime = 0 + +[Filter] +ip = 255.255.255.255 +private = No +ban = No +network = Yes +direct = Yes +[End] + +[Notify] +PeerCast = Yes +Broadcasters = Yes +TrackInfo = Yes +[End] + +[Server1] +allowHTML = Yes +allowBroadcast = Yes +allowNetwork = Yes +allowDirect = Yes +[End] + +[Server2] +allowHTML = No +allowBroadcast = Yes +allowNetwork = No +allowDirect = No +[End] + +[Debug] +logDebug = No +logErrors = No +logNetwork = No +logChannel = No +pauseLog = No +idleSleepTime = 10 diff --git a/openwrt/package/peercast/files/peercast.init b/openwrt/package/peercast/files/peercast.init new file mode 100644 index 000000000..c61c31438 --- /dev/null +++ b/openwrt/package/peercast/files/peercast.init @@ -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 $? + diff --git a/openwrt/package/peercast/ipkg/peercast.conffiles b/openwrt/package/peercast/ipkg/peercast.conffiles new file mode 100644 index 000000000..0c554494e --- /dev/null +++ b/openwrt/package/peercast/ipkg/peercast.conffiles @@ -0,0 +1 @@ +/etc/peercast.ini diff --git a/openwrt/package/peercast/ipkg/peercast.control b/openwrt/package/peercast/ipkg/peercast.control new file mode 100644 index 000000000..a09a246fe --- /dev/null +++ b/openwrt/package/peercast/ipkg/peercast.control @@ -0,0 +1,6 @@ +Package: peercast +Priority: optional +Section: net +Description: P2P audio and video streaming server +Depends: libpthread, uclibc++ +