tvheadend: multiple improvements
[feed/packages.git] / multimedia / tvheadend / Makefile
index ebcc8f586811dd327ed924ab29895fe425d2aa50..f2df7070c9128ccd5724bb5b3c2c5c03cc0948fd 100644 (file)
@@ -30,6 +30,7 @@ define Package/tvheadend
   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
@@ -48,10 +49,12 @@ define Package/tvheadend/config
   endmenu
 endef
 
-ifeq ($(CONFIG_TVHEADEND_CWC_SUPPORT),)
-  CONFIGURE_ARGS += --disable-cwc
+# 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
@@ -60,17 +63,72 @@ 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
 
@@ -89,6 +147,8 @@ define Package/tvheadend/install
        $(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/