Merge pull request #130 from andrenarchy/master

Import and upgrade icecast
This commit is contained in:
sbyx 2014-07-28 10:07:52 +02:00
commit 1b4bfe3d37
5 changed files with 315 additions and 0 deletions

View File

@ -0,0 +1,94 @@
#
# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=icecast
PKG_VERSION:=2.4.0
PKG_RELEASE:=1
PKG_MAINTAINER:=André Gaul <gaul@web-yard.de>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.us.xiph.org/releases/icecast/
PKG_MD5SUM:=bb00bfc0d6d2dde24974641085602b81
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
TREMOR_BUILD_DIR=$(PKG_BUILD_DIR)/libvorbisidec-1.2.0-dave
TREMOR_DIR=$(TREMOR_BUILD_DIR)/ipkg-install/usr
define Package/icecast
SECTION:=multimedia
CATEGORY:=Multimedia
DEPENDS:=+libcurl +libxml2 +libxslt +libogg +libopenssl
TITLE:=A streaming media server for Ogg/Vorbis and MP3 audio streams
URL:=http://www.icecast.org/
endef
define Package/icecast/description
Icecast is a streaming media server which currently supports Ogg
Vorbis and MP3 audio streams. It can be used to create an Internet
radio station or a privately running jukebox and many things in
between. It is very versatile in that new formats can be added
relatively easily and supports open standards for commuincation and
interaction.
endef
define Build/Prepare
$(Build/Prepare/Default)
$(SUBMAKE) -f libvorbisidec.mk \
BUILD_DIR="$(PKG_BUILD_DIR)" \
V=99 \
prepare
endef
define Build/Configure
$(MAKE) -f libvorbisidec.mk \
BUILD_DIR="$(PKG_BUILD_DIR)" \
V=99 \
compile
$(SED) 's,-lvorbis ,$(TREMOR_DIR)/lib/libvorbisidec.a -logg ,g' $(PKG_BUILD_DIR)/configure
$(call Build/Configure/Default, \
--enable-yp \
--with-curl="yes" \
--with-curl-config="$(STAGING_DIR)/usr/bin/curl-config" \
--with-ogg="$(STAGING_DIR)/usr" \
--with-speex="no" \
--with-theora="no" \
--with-vorbis="$(TREMOR_DIR)" \
--with-xslt-config="$(STAGING_DIR)/usr/bin/xslt-config" \
, \
CPPFLAGS="-I$(TREMOR_DIR)/include -I$(STAGING_DIR)/usr/include/libxml2 $(TARGET_CPPFLAGS)" \
)
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
INCLUDES="-I$(PKG_BUILD_DIR)/src -I$(TREMOR_DIR)/include" \
all install
endef
define Package/icecast/install
$(INSTALL_DIR) $(1)/etc
$(CP) $(PKG_INSTALL_DIR)/etc/icecast.xml $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/icecast.init $(1)/etc/init.d/icecast
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/icecast $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/share/icecast
$(CP) $(PKG_INSTALL_DIR)/usr/share/icecast/admin $(1)/usr/share/icecast/
$(CP) $(PKG_INSTALL_DIR)/usr/share/icecast/web $(1)/usr/share/icecast/
endef
define Package/icecast/conffiles
/etc/icecast.xml
endef
$(eval $(call BuildPackage,icecast))

View File

@ -0,0 +1,14 @@
#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2014 OpenWrt.org
USE_PROCD=1
START=99
STOP=15
start_service() {
procd_open_instance
procd_set_param command /usr/bin/icecast -c /etc/icecast.xml
procd_set_param respawn
procd_close_instance
}

View File

@ -0,0 +1,41 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=icecast-libvorbisidec
PKG_VERSION:=1.2.0-dave
PKG_RELEASE:=1
PKG_SOURCE:=libvorbisidec-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://users.tpg.com.au/davico/openwrt/
PKG_MD5SUM:=cb8e51aab92ef164f8e0e8853f7164fa
PKG_BUILD_DIR:=$(BUILD_DIR)/libvorbisidec-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PATCH_DIR=./patches-libvorbisidec
include $(INCLUDE_DIR)/package.mk
define Build/Configure
$(call Build/Configure/Default, \
--disable-shared \
--enable-static \
)
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
all install
endef
define Build/InstallDev
true
endef
$(eval $(call Build/DefaultTargets))

View File

@ -0,0 +1,155 @@
--- a/src/format_flac.c
+++ b/src/format_flac.c
@@ -18,7 +18,7 @@
#endif
#include <stdlib.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include <string.h>
typedef struct source_tag source_t;
--- a/src/format_midi.c
+++ b/src/format_midi.c
@@ -18,7 +18,7 @@
#endif
#include <stdlib.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include <string.h>
typedef struct source_tag source_t;
--- a/src/format_ogg.c
+++ b/src/format_ogg.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include <string.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include "refbuf.h"
#include "source.h"
--- a/src/format_ogg.h
+++ b/src/format_ogg.h
@@ -18,7 +18,7 @@
#ifndef __FORMAT_OGG_H__
#define __FORMAT_OGG_H__
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include "refbuf.h"
#include "format.h"
--- a/src/format_speex.c
+++ b/src/format_speex.c
@@ -18,7 +18,7 @@
#endif
#include <stdlib.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include <speex/speex_header.h>
typedef struct source_tag source_t;
--- a/src/format_theora.c
+++ b/src/format_theora.c
@@ -18,7 +18,7 @@
#endif
#include <stdlib.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include <theora/theora.h>
typedef struct source_tag source_t;
--- a/src/format_vorbis.c
+++ b/src/format_vorbis.c
@@ -18,8 +18,8 @@
#endif
#include <stdlib.h>
-#include <ogg/ogg.h>
-#include <vorbis/codec.h>
+#include <tremor/ogg.h>
+#include <tremor/ivorbiscodec.h>
#include <memory.h>
#include <string.h>
--- a/src/source.c
+++ b/src/source.c
@@ -19,7 +19,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#include <errno.h>
#ifndef _WIN32
--- a/src/format_kate.c
+++ b/src/format_kate.c
@@ -19,7 +19,7 @@
#include <stdlib.h>
#include <string.h>
-#include <ogg/ogg.h>
+#include <tremor/ogg.h>
#ifdef HAVE_KATE
#include <kate/oggkate.h>
#endif
--- a/m4/vorbis.m4
+++ b/m4/vorbis.m4
@@ -38,9 +38,9 @@ if test "x$vorbis_prefix" != "x$ogg_pref
])
fi
-VORBIS_LIBS="-lvorbis"
-VORBISFILE_LIBS="-lvorbisfile"
-VORBISENC_LIBS="-lvorbisenc"
+VORBIS_LIBS="-lvorbisidec"
+VORBISFILE_LIBS="-lvorbisidec"
+VORBISENC_LIBS="-lvorbisidec"
xt_save_LIBS="$LIBS"
xt_save_LDFLAGS="$LDFLAGS"
@@ -58,18 +58,6 @@ AC_TRY_LINK_FUNC(ogg_stream_init, [xt_li
)
])
-if test "x$xt_lib_vorbis" = "xok"; then
-#
-# Now check if the installed Vorbis is sufficiently new.
-#
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
-#include <vorbis/codec.h>
-#include <vorbis/vorbisenc.h>
- ], [
-struct ovectl_ratemanage_arg a;
-])],,[xt_lib_vorbis="old version found"])
-AC_MSG_RESULT([$xt_lib_vorbis])
-fi
CPPFLAGS="$xt_save_CPPFLAGS"
LIBS="$xt_save_LIBS"
LDFLAGS="$xt_save_LDFLAGS"
--- a/m4/ogg.m4
+++ b/m4/ogg.m4
@@ -29,7 +29,7 @@ XIPH_GCC_WARNING([-I$ogg_prefix/include]
])
AC_CACHE_CHECK([for libogg], xt_cv_lib_ogg,
[dnl
-OGG_LIBS="-logg"
+OGG_LIBS="-lvorbisidec"
#
# check if the installed Ogg is sufficiently new.
@@ -42,7 +42,7 @@ LIBS="$LIBS $OGG_LIBS"
LDFLAGS="$LDFLAGS $OGG_LDFLAGS"
AC_TRY_LINK_FUNC(ogg_sync_init,
[ xt_cv_lib_ogg=ok ],
- [ AC_TRY_LINK([#include <ogg/ogg.h>],,
+ [ AC_TRY_LINK([#include <tremor/ogg.h>],,
[ xt_cv_lib_ogg="pre v1.0, needs updating" ],
[ xt_cv_lib_ogg="not found" ])
])

View File

@ -0,0 +1,11 @@
--- a/m4/xiph_curl.m4
+++ b/m4/xiph_curl.m4
@@ -52,7 +52,7 @@ AC_CHECK_HEADERS([curl/curl.h],, curl_ok
AC_MSG_CHECKING(for libcurl)
if test "$curl_ok" = "yes"
then
- AC_RUN_IFELSE(AC_LANG_SOURCE([
+ AC_COMPILE_IFELSE(AC_LANG_SOURCE([
#include <curl/curl.h>
int main()
{