#
|
|
# 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 <m95d+git@psihoexpert.ro>
|
|
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))
|