include $(TOPDIR)/rules.mk
PKG_NAME:=tvheadend
-PKG_VERSION:=4.0.10
-PKG_RELEASE:=6
+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:=f610e7d9f3bf6cff05cd73830a66ee0c74bc5291c4c9d08369364c4c681ebf23
+PKG_HASH:=1aef889373d5fad2a7bd2f139156d4d5e34a64b6d38b87b868a2df415f01f7ad
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE.md
SECTION:=multimedia
CATEGORY:=Multimedia
TITLE:=Tvheadend is a TV streaming server for Linux
- DEPENDS:=+libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client $(ICONV_DEPENDS)
+ DEPENDS:=+libopenssl +librt +zlib +libffi +TVHEADEND_AVAHI_SUPPORT:libavahi-client $(ICONV_DEPENDS)
URL:=https://tvheadend.org
- MAINTAINER:=Jan Čermák <jan.cermak@nic.cz>
+ MAINTAINER:=Marius Dinu <m95d+git@psihoexpert.ro>
endef
define Package/tvheadend/description
--arch=$(ARCH) \
--disable-dbus_1 \
--disable-libav \
- --enable-bundle
+ --disable-ffmpeg_static \
+ --enable-bundle \
+ --nowerror=unused-variable
define Build/Prepare
$(call Build/Prepare/Default)
--- a/src/main.c
+++ b/src/main.c
-@@ -965,10 +965,12 @@ main(int argc, char **argv)
+@@ -1155,10 +1155,12 @@ main(int argc, char **argv)
sigprocmask(SIG_BLOCK, &set, NULL);
trap_init(argv[0]);
SSL_load_error_strings();
SSL_library_init();
+#endif
-
- /* Initialise configuration */
- notify_init();
-@@ -1159,8 +1161,11 @@ main(int argc, char **argv)
- #endif
- free(opt_satip_xml.str);
-
+ /* Rand seed */
+ randseed.thread_id = (void *)main_tid;
+ gettimeofday(&randseed.tv, NULL);
+@@ -1346,8 +1348,11 @@ main(int argc, char **argv)
+ if(opt_fork)
+ unlink(opt_pidpath);
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
/* OpenSSL - welcome to the "cleanup" hell */
+#ifndef OPENSSL_NO_ENGINE
RAND_cleanup();
CRYPTO_cleanup_all_ex_data();
EVP_cleanup();
-@@ -1168,12 +1173,13 @@ main(int argc, char **argv)
- #ifndef OPENSSL_NO_COMP
+@@ -1355,12 +1360,13 @@ main(int argc, char **argv)
+ #if !defined(OPENSSL_NO_COMP)
COMP_zlib_cleanup();
#endif
- ERR_remove_state(0);
+ ERR_remove_thread_state(NULL);
ERR_free_strings();
- #ifndef OPENSSL_NO_COMP
+ #if !defined(OPENSSL_NO_COMP) && OPENSSL_VERSION_NUMBER < 0x1010006f
sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
#endif
/* end of OpenSSL cleanup code */
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -28,7 +28,7 @@ PROG := $(BUILDDIR)/tvheadend
- #
-
- CFLAGS += -g -O2 -Wunused-result
--CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
-+#CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
- CFLAGS += -Wmissing-prototypes
- CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
- CFLAGS += -D_FILE_OFFSET_BITS=64
+--- a/src/input/mpegts.h
++++ b/src/input/mpegts.h
+@@ -1132,7 +1132,7 @@ typedef struct mpegts_listener
+ void (*ml_mux_delete) (mpegts_mux_t *mm, void *p);
+ } mpegts_listener_t;
+
+-LIST_HEAD(,mpegts_listener) mpegts_listeners;
++static LIST_HEAD(,mpegts_listener) mpegts_listeners;
+
+ #define mpegts_add_listener(ml)\
+ LIST_INSERT_HEAD(&mpegts_listeners, ml, ml_link)
--- a/src/input.h
+++ b/src/input.h
-@@ -120,8 +120,8 @@ void tvh_hardware_delete ( tvh_hardware_
+@@ -128,8 +128,8 @@ void tvh_hardware_delete ( tvh_hardware_
extern const idclass_t tvh_input_class;
extern const idclass_t tvh_input_instance_class;
#define TVH_INPUT_FOREACH(x) LIST_FOREACH(x, &tvh_inputs, ti_link)
#define TVH_HARDWARE_FOREACH(x) LIST_FOREACH(x, &tvh_hardware, th_link)
---- a/src/input/mpegts.h
-+++ b/src/input/mpegts.h
-@@ -1017,7 +1017,7 @@ typedef struct mpegts_listener
- void (*ml_mux_delete) (mpegts_mux_t *mm, void *p);
- } mpegts_listener_t;
-
--LIST_HEAD(,mpegts_listener) mpegts_listeners;
-+static LIST_HEAD(,mpegts_listener) mpegts_listeners;
-
- #define mpegts_add_listener(ml)\
- LIST_INSERT_HEAD(&mpegts_listeners, ml, ml_link)