diff --git a/packages/addons/service/tvheadend42/changelog.txt b/packages/addons/service/tvheadend42/changelog.txt index 41aa2a3535..bc57820813 100644 --- a/packages/addons/service/tvheadend42/changelog.txt +++ b/packages/addons/service/tvheadend42/changelog.txt @@ -1,3 +1,7 @@ +113 +- update to 4.2.6-7 +- full transcoding support + 112 - update to 4.2.3-20 - changed name @@ -46,4 +50,4 @@ - fix the XMLTV import script 100 -- initial LibreELEC version \ No newline at end of file +- initial LibreELEC version diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk index ee67034227..8289d0edd3 100644 --- a/packages/addons/service/tvheadend42/package.mk +++ b/packages/addons/service/tvheadend42/package.mk @@ -17,15 +17,15 @@ ################################################################################ PKG_NAME="tvheadend42" -PKG_VERSION="407c8a3" -PKG_VERSION_NUMBER="4.2.3-20" -PKG_REV="112" +PKG_VERSION="5613551" +PKG_VERSION_NUMBER="4.2.6-7" +PKG_REV="113" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.tvheadend.org" PKG_URL="https://github.com/tvheadend/tvheadend/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="tvheadend-${PKG_VERSION}*" -PKG_DEPENDS_TARGET="toolchain curl dvb-tools libdvbcsa libiconv openssl pngquant:host Python:host yasm" +PKG_DEPENDS_TARGET="toolchain avahi curl dvb-apps ffmpegx libdvbcsa libiconv openssl pngquant:host Python:host" PKG_SECTION="service" PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux" PKG_LONGDESC="Tvheadend ($PKG_VERSION_NUMBER): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T" @@ -35,19 +35,38 @@ PKG_IS_ADDON="yes" PKG_ADDON_NAME="Tvheadend Server 4.2" PKG_ADDON_TYPE="xbmc.service" -# transcoding only for generic -if [ "$TARGET_ARCH" = x86_64 ]; then - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva-intel-driver" - TVH_TRANSCODING="--enable-ffmpeg_static --enable-libav --enable-libfdkaac --disable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-qsv" -else - TVH_TRANSCODING="--disable-ffmpeg_static --disable-libav" +# basic transcoding options +PKG_TVH_TRANSCODING="\ + --disable-ffmpeg_static \ + --disable-libfdkaac_static \ + --disable-libopus_static \ + --disable-libtheora \ + --disable-libtheora_static \ + --disable-libvorbis_static \ + --disable-libvpx_static \ + --disable-libx264_static \ + --disable-libx265_static \ + --enable-libav \ + --enable-libfdkaac \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265" + +# specific transcoding options +if [[ "$TARGET_ARCH" != "x86_64" ]]; then + PKG_TVH_TRANSCODING="$PKG_TVH_TRANSCODING \ + --disable-libvpx \ + --disable-libx265" fi PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --arch=$TARGET_ARCH \ --cpu=$TARGET_CPU \ --cc=$CC \ - --disable-avahi \ + $PKG_TVH_TRANSCODING \ + --enable-avahi \ --enable-bundle \ --disable-dbus_1 \ --enable-dvbcsa \ @@ -57,9 +76,9 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --enable-epoll \ --enable-inotify \ --enable-pngquant \ + --disable-libmfx_static \ --disable-nvenc \ --disable-uriparser \ - $TVH_TRANSCODING \ --enable-tvhcsa \ --enable-trace \ --nowerror \ @@ -76,30 +95,21 @@ pre_configure_target() { cd $PKG_BUILD rm -rf .$TARGET_NAME -# transcoding - if [ "$TARGET_ARCH" = x86_64 ]; then - export AS=$TOOLCHAIN/bin/yasm - export LDFLAGS="$LDFLAGS -lX11 -lm -lvdpau -lva -lva-drm -lva-x11" - export ARCH=$TARGET_ARCH - fi +# pass ffmpegx to build + PKG_CONFIG_PATH="$(get_build_dir ffmpegx)/.INSTALL_PKG/usr/local/lib/pkgconfig" + CFLAGS="$CFLAGS -I$(get_build_dir ffmpegx)/.INSTALL_PKG/usr/local/include" + LDFLAGS="$LDFLAGS -L$(get_build_dir ffmpegx)/.INSTALL_PKG/usr/local/lib" - export CROSS_COMPILE=$TARGET_PREFIX + export CROSS_COMPILE="$TARGET_PREFIX" export CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include/iconv -L$SYSROOT_PREFIX/usr/lib/iconv" } -# transcoding link tvheadend with g++ -if [ "$TARGET_ARCH" = x86_64 ]; then - pre_make_target() { - export CXX=$CXX - } -fi - post_make_target() { $CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl } makeinstall_target() { - : # nothing to do here + : } addon() { diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-01_makefile.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-01_makefile.patch deleted file mode 100644 index b1ad8ebf86..0000000000 --- a/packages/addons/service/tvheadend42/patches/tvheadend42-01_makefile.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Team LibreELEC - https://LibreELEC.tv -Subject: adjust Tvheadend ffmpeg build to work with LibreELEC (transcoding) 07.05.2016 - ---- - -diff --git a/Makefile b/Makefile ---- a/Makefile -+++ b/Makefile -@@ -97,50 +97,65 @@ FFMPEG_CONFIG := \ - PKG_CONFIG_LIBDIR=$(FFMPEG_LIBDIR)/pkgconfig $(PKG_CONFIG) \ - --define-variable=prefix=$(FFMPEG_PREFIX) --static - -+CFLAGS += -I${FFMPEG_PREFIX}/include -+LDFLAGS += ${FFMPEG_LIBDIR}/libavfilter.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libswresample.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libavresample.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libswscale.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libavformat.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libavcodec.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libavutil.a -+ - ifeq ($(CONFIG_LIBX264_STATIC),yes) - FFMPEG_DEPS += libx264 -+LDFLAGS += ${FFMPEG_LIBDIR}/libx264.a - endif - - ifeq ($(CONFIG_LIBX265_STATIC),yes) - FFMPEG_DEPS += libx265 -+LDFLAGS += ${FFMPEG_LIBDIR}/libx265.a - endif - - ifeq ($(CONFIG_LIBVPX_STATIC),yes) - FFMPEG_DEPS += libvpx -+LDFLAGS += ${FFMPEG_LIBDIR}/libvpx.a - endif - - ifeq ($(CONFIG_LIBOGG_STATIC),yes) - FFMPEG_DEPS += libogg -+LDFLAGS += ${FFMPEG_LIBDIR}/libogg.a - endif - - ifeq ($(CONFIG_LIBTHEORA_STATIC),yes) - FFMPEG_DEPS += libtheoraenc libtheoradec libtheora -+LDFLAGS += ${FFMPEG_LIBDIR}/libtheora.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libtheoradec.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libtheoraenc.a - endif - - ifeq ($(CONFIG_LIBVORBIS_STATIC),yes) - FFMPEG_DEPS += libvorbisfile libvorbisenc libvorbis -+LDFLAGS += ${FFMPEG_LIBDIR}/libvorbis.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libvorbisenc.a -+LDFLAGS += ${FFMPEG_LIBDIR}/libvorbisfile.a - endif - - ifeq ($(CONFIG_LIBFDKAAC_STATIC),yes) - FFMPEG_DEPS += libfdk-aac -+LDFLAGS += ${FFMPEG_LIBDIR}/libfdk-aac.a - endif - - ifeq ($(CONFIG_LIBMFX_STATIC),yes) - FFMPEG_DEPS += libmfx -+LDFLAGS += ${FFMPEG_LIBDIR}/libmfx.a - endif - --LDFLAGS += $(foreach lib,$(FFMPEG_LIBS),$(FFMPEG_LIBDIR)/$(lib).a) --LDFLAGS += $(foreach lib,$(FFMPEG_DEPS),$(FFMPEG_LIBDIR)/$(lib).a) -- - else # !FFMPEG_STATIC - - FFMPEG_CONFIG := $(PKG_CONFIG) - - endif # FFMPEG_STATIC - --CFLAGS += `$(FFMPEG_CONFIG) --cflags $(FFMPEG_LIBS)` --LDFLAGS += `$(FFMPEG_CONFIG) --libs $(FFMPEG_LIBS)` -- - endif - - # LIBAV ######################################################################## -@@ -613,7 +628,7 @@ reconfigure: - - # Binary - ${PROG}: .config.mk make_webui $(OBJS) -- $(pCC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS) -+ $(CXX) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS) - - # Object - ${BUILDDIR}/%.o: %.c diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-02_makefile_ffmpeg.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-02_makefile_ffmpeg.patch deleted file mode 100644 index c011dd2cbe..0000000000 --- a/packages/addons/service/tvheadend42/patches/tvheadend42-02_makefile_ffmpeg.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Team LibreELEC - https://LibreELEC.tv -Subject: adjust Tvheadend ffmpeg build to work with LibreELEC (transcoding) 07.05.2016 - ---- - -diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg ---- a/Makefile.ffmpeg -+++ b/Makefile.ffmpeg -@@ -24,6 +24,9 @@ FFMPEG_HOST := $(ARCH)-linux-gnu - FFMPEG_TARGET := x86-linux-gcc - endif - -+FFMPEG_HOST := $(ARCH)-libreelec-linux-gnu -+FFMPEG_TARGET := $(ARCH)-libreelec-linux-gnu -+ - unexport CFLAGS - unexport LDFLAGS - -@@ -145,7 +148,7 @@ $(LIB_ROOT)/$(YASM)/.tvh_download: - - $(LIB_ROOT)/$(YASM)/.tvh_build: \ - $(LIB_ROOT)/$(YASM)/.tvh_download -- cd $(LIB_ROOT)/$(YASM) && $(CONFIGURE) -+ cd $(LIB_ROOT)/$(YASM) && $(CONFIGURE) CC=$(HOST_CC) - DESTDIR=$(EBUILDIR) \ - $(MAKE) -C $(LIB_ROOT)/$(YASM) install - @touch $@ -@@ -238,6 +241,7 @@ $(LIB_ROOT)/$(LIBX265)/.tvh_build: \ - cd $(LIB_ROOT)/$(LIBX265)/build/linux && cmake -G "Unix Makefiles" \ - -DCMAKE_INSTALL_PREFIX="/ffmpeg" \ - -DENABLE_SHARED:BOOL=OFF \ -+ -DEXTRA_LINK_FLAGS="-ldl" \ - ../../source - DESTDIR=$(EBUILDIR) \ - $(MAKE) -C $(LIB_ROOT)/$(LIBX265)/build/linux install -@@ -271,7 +275,7 @@ endif - ifeq (yes,$(CONFIG_LIBVPX_STATIC)) - - ifneq (,$(FFMPEG_TARGET)) --LIBVPX_TARGET := --target=$(FFMPEG_TARGET) -+LIBVPX_TARGET := --target=generic-gnu - endif - - $(LIB_ROOT)/$(LIBVPX)/.tvh_download: -@@ -283,7 +287,7 @@ $(LIB_ROOT)/$(LIBVPX)/.tvh_build: \ - $(LIB_ROOT)/$(YASM)/.tvh_build \ - $(LIB_ROOT)/$(LIBVPX)/.tvh_download - cd $(LIB_ROOT)/$(LIBVPX) && \ -- ASFLAGS="-DENABLE_PIC=1 -DPIC=1" $(CONFIGURE) \ -+ ASFLAGS="-DENABLE_PIC=1 -DPIC=1" CROSS=$(FFMPEG_TARGET)- $(CONFIGURE) \ - --extra-cflags="$(CFLAGS_PI)" \ - --disable-examples \ - --disable-docs \ -@@ -359,7 +363,8 @@ $(LIB_ROOT)/$(LIBTHEORA)/.tvh_build: \ - $(LIB_ROOT)/$(LIBTHEORA)/.tvh_download - cd $(LIB_ROOT)/$(LIBTHEORA) && \ - CFLAGS="$(CFLAGS_PI)" $(CONFIGURE) \ -- --with-ogg=$(EPREFIX) \ -+ OGG_CFLAGS=-I$(EPREFIX)/include \ -+ OGG_LIBS=-L$(EPREFIX)/lib \ - --disable-examples \ - --disable-spec \ - $(LIBTHEORA_HOST) -@@ -406,7 +411,8 @@ $(LIB_ROOT)/$(LIBVORBIS)/.tvh_build: \ - $(LIB_ROOT)/$(LIBVORBIS)/.tvh_download - cd $(LIB_ROOT)/$(LIBVORBIS) && \ - CFLAGS="$(CFLAGS_PI)" $(CONFIGURE) \ -- --with-ogg=$(EPREFIX) -+ OGG_CFLAGS=-I$(EPREFIX)/include \ -+ OGG_LIBS=-L$(EPREFIX)/lib - DESTDIR=$(EBUILDIR) \ - $(MAKE) -C $(LIB_ROOT)/$(LIBVORBIS) install - @touch $@ -@@ -559,6 +565,8 @@ $(LIB_ROOT)/$(FFMPEG)/.tvh_build: \ - $(LIB_ROOT)/$(LIBMFX)/.tvh_build \ - $(LIB_ROOT)/$(FFMPEG)/.tvh_download - cd $(LIB_ROOT)/$(FFMPEG) && $(CONFIGURE) \ -+ --cc=$(FFMPEG_HOST)-gcc \ -+ --cxx=$(FFMPEG_HOST)-g++ \ - --disable-all \ - --enable-gpl \ - --extra-cflags="$(ECFLAGS)" \