# # Copyright (C) 2015 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:=tvheadend PKG_VERSION:=4.2.8 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tvheadend/tvheadend/tar.gz/v$(PKG_VERSION)? PKG_HASH:=1aef889373d5fad2a7bd2f139156d4d5e34a64b6d38b87b868a2df415f01f7ad PKG_LICENSE:=GPL-3.0 PKG_LICENSE_FILES:=LICENSE.md PKG_FIXUP:=autoreconf PKG_USE_MIPS16:=0 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk define Package/tvheadend SECTION:=multimedia CATEGORY:=Multimedia TITLE:=Tvheadend is a TV streaming server for Linux DEPENDS:=+libopenssl +librt +zlib +libffi +TVHEADEND_AVAHI_SUPPORT:libavahi-client $(ICONV_DEPENDS) USERID:=tvheadend:dvb URL:=https://tvheadend.org MAINTAINER:=Marius Dinu endef define Package/tvheadend/description Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. endef define Package/tvheadend/config menu "Configuration" depends on PACKAGE_tvheadend source "$(SOURCE)/Config.in" endmenu endef # Generic build options ifneq ($(CONFIG_PKG_ASLR_PIE_NONE),) CONFIGURE_ARGS += --disable-pie endif # TV sources ifeq ($(CONFIG_TVHEADEND_LINUXDVB_SUPPORT),) CONFIGURE_ARGS += --disable-linuxdvb endif ifeq ($(CONFIG_TVHEADEND_DVBSCAN_SUPPORT),) CONFIGURE_ARGS += --disable-dvbscan endif ifeq ($(CONFIG_TVHEADEND_IPTV),) CONFIGURE_ARGS += --disable-iptv endif ifeq ($(CONFIG_TVHEADEND_SATIP_SERVER),) CONFIGURE_ARGS += --disable-satip_server endif ifeq ($(CONFIG_TVHEADEND_SATIP_CLIENT),) CONFIGURE_ARGS += --disable-satip_client endif ifeq ($(CONFIG_TVHEADEND_HDHOMERUN_CLIENT),) CONFIGURE_ARGS += --disable-hdhomerun_static else CONFIGURE_ARGS += --enable-hdhomerun_client endif # Descrambling ifeq ($(CONFIG_TVHEADEND_CWC_SUPPORT),) CONFIGURE_ARGS += --disable-cwc endif ifeq ($(CONFIG_TVHEADEND_CAPMT_SUPPORT),) CONFIGURE_ARGS += --disable-capmt endif ifeq ($(CONFIG_TVHEADEND_CCW_SUPPORT),) CONFIGURE_ARGS += --disable-constcw endif # Other options ifeq ($(CONFIG_TVHEADEND_AVAHI_SUPPORT),) CONFIGURE_ARGS += --disable-avahi else CONFIGURE_ARGS += --enable-avahi endif ifeq ($(CONFIG_TVHEADEND_IMAGECACHE),) CONFIGURE_ARGS += --disable-imagecache else CONFIGURE_ARGS += --enable-imagecache endif ifeq ($(CONFIG_TVHEADEND_TRACE),) CONFIGURE_ARGS += --disable-trace endif # libav and ffmpeg are broken, so remove codecs too. CONFIGURE_ARGS += \ --arch=$(ARCH) \ --disable-dbus_1 \ --disable-libav \ --disable-ffmpeg_static \ --disable-libx264 \ --disable-libx264_static \ --disable-libx265 \ --disable-libx265_static \ --disable-libvpx \ --disable-libvpx_static \ --disable-libtheora \ --disable-libtheora_static \ --disable-libvorbis \ --disable-libvorbis_static \ --disable-libfdkaac \ --disable-libfdkaac_static \ --enable-bundle \ --nowerror=unused-variable define Build/Prepare $(call Build/Prepare/Default) echo 'Tvheadend $(shell echo $(PKG_SOURCE_VERSION) | sed "s/^v//")~openwrt$(PKG_RELEASE)' \ > $(PKG_BUILD_DIR)/debian/changelog endef define Package/conffiles /etc/config/tvheadend endef define Package/tvheadend/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/tvheadend.init $(1)/etc/init.d/tvheadend $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/tvheadend.config $(1)/etc/config/tvheadend $(INSTALL_DIR) $(1)/etc/hotplug.d/usb $(INSTALL_BIN) ./files/dvb.hotplug $(1)/etc/hotplug.d/usb/50-dvb $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/build.linux/tvheadend $(1)/usr/bin/ endef $(eval $(call BuildPackage,tvheadend))