You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.7 KiB

  1. #
  2. # Copyright (C) 2006-2011 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=icecast
  9. PKG_VERSION:=2.4.2
  10. PKG_RELEASE:=1
  11. PKG_LICENSE:=GPL-2.0
  12. PKG_MAINTAINER:=André Gaul <andre@gaul.io>
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  14. PKG_SOURCE_URL:=http://downloads.xiph.org/releases/icecast/
  15. PKG_MD5SUM:=55947c83d31dfcbbede58c9521c676f4
  16. PKG_FIXUP:=autoreconf
  17. include $(INCLUDE_DIR)/package.mk
  18. TREMOR_BUILD_DIR=$(PKG_BUILD_DIR)/libvorbisidec-1.2.0-dave
  19. TREMOR_DIR=$(TREMOR_BUILD_DIR)/ipkg-install/usr
  20. define Package/icecast
  21. SECTION:=multimedia
  22. CATEGORY:=Multimedia
  23. DEPENDS:=+libcurl +libxml2 +libxslt +libogg +libopenssl
  24. TITLE:=A streaming media server for Ogg/Vorbis and MP3 audio streams
  25. URL:=http://www.icecast.org/
  26. endef
  27. define Package/icecast/description
  28. Icecast is a streaming media server which currently supports Ogg
  29. Vorbis and MP3 audio streams. It can be used to create an Internet
  30. radio station or a privately running jukebox and many things in
  31. between. It is very versatile in that new formats can be added
  32. relatively easily and supports open standards for commuincation and
  33. interaction.
  34. endef
  35. define Build/Prepare
  36. $(Build/Prepare/Default)
  37. $(SUBMAKE) -f libvorbisidec.mk \
  38. BUILD_DIR="$(PKG_BUILD_DIR)" \
  39. V=99 \
  40. prepare
  41. endef
  42. define Build/Configure
  43. $(MAKE) -f libvorbisidec.mk \
  44. BUILD_DIR="$(PKG_BUILD_DIR)" \
  45. V=99 \
  46. compile
  47. $(SED) 's,-lvorbis ,$(TREMOR_DIR)/lib/libvorbisidec.a -logg ,g' $(PKG_BUILD_DIR)/configure
  48. $(call Build/Configure/Default, \
  49. --enable-yp \
  50. --with-curl="yes" \
  51. --with-curl-config="$(STAGING_DIR)/usr/bin/curl-config" \
  52. --with-ogg="$(STAGING_DIR)/usr" \
  53. --with-speex="no" \
  54. --with-theora="no" \
  55. --with-vorbis="$(TREMOR_DIR)" \
  56. --with-xslt-config="$(STAGING_DIR)/usr/bin/xslt-config" \
  57. , \
  58. CPPFLAGS="-I$(TREMOR_DIR)/include -I$(STAGING_DIR)/usr/include/libxml2 $(TARGET_CPPFLAGS)" \
  59. )
  60. endef
  61. define Build/Compile
  62. $(MAKE) -C $(PKG_BUILD_DIR) \
  63. DESTDIR="$(PKG_INSTALL_DIR)" \
  64. INCLUDES="-I$(PKG_BUILD_DIR)/src -I$(TREMOR_DIR)/include" \
  65. all install
  66. endef
  67. define Package/icecast/install
  68. $(INSTALL_DIR) $(1)/etc
  69. $(CP) $(PKG_INSTALL_DIR)/etc/icecast.xml $(1)/etc/
  70. $(INSTALL_DIR) $(1)/etc/init.d
  71. $(INSTALL_BIN) ./files/icecast.init $(1)/etc/init.d/icecast
  72. $(INSTALL_DIR) $(1)/usr/bin
  73. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/icecast $(1)/usr/bin/
  74. $(INSTALL_DIR) $(1)/usr/share/icecast
  75. $(CP) $(PKG_INSTALL_DIR)/usr/share/icecast/admin $(1)/usr/share/icecast/
  76. $(CP) $(PKG_INSTALL_DIR)/usr/share/icecast/web $(1)/usr/share/icecast/
  77. endef
  78. define Package/icecast/conffiles
  79. /etc/icecast.xml
  80. endef
  81. $(eval $(call BuildPackage,icecast))