public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-tv/tvheadend/files/, media-tv/tvheadend/
Date: Sun,  2 Sep 2018 11:43:37 +0000 (UTC)	[thread overview]
Message-ID: <1535888590.739b54d63d1152757c3367ac57f249b751caa990.chewi@gentoo> (raw)

commit:     739b54d63d1152757c3367ac57f249b751caa990
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  2 11:27:54 2018 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Sep  2 11:43:10 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=739b54d6

media-tv/tvheadend: Version bump to 4.2.6

Closes: https://bugs.gentoo.org/665086
Package-Manager: Portage-2.3.48, Repoman-2.3.10

 media-tv/tvheadend/Manifest                        |   1 +
 .../files/tvheadend-4.2.5-ffmpeg_3.5.patch         | 115 ++++++++++++++++++++
 .../tvheadend/files/tvheadend-4.2.5-gcc8.patch     | 110 +++++++++++++++++++
 media-tv/tvheadend/tvheadend-4.2.6.ebuild          | 120 +++++++++++++++++++++
 4 files changed, 346 insertions(+)

diff --git a/media-tv/tvheadend/Manifest b/media-tv/tvheadend/Manifest
index 37bd4a7dfce..931e594621d 100644
--- a/media-tv/tvheadend/Manifest
+++ b/media-tv/tvheadend/Manifest
@@ -1 +1,2 @@
 DIST tvheadend-4.2.4.tar.gz 21526564 BLAKE2B 19c571bb253041bd122306eaa516071d096d747b03eaf623b45b79fc0511633a75f1a0925a890207c994da001a2ba3404d1860b91236adae34e307bcf8c57796 SHA512 333a3509da198f5d96316f30fd010a216262315614db302c83405de78d29b32b1d878c0abd7fae2214713107e6955478ee3222b18888a84c57810035af882df4
+DIST tvheadend-4.2.6.tar.gz 21528720 BLAKE2B 358373bc19bd4c27ddb597bb14e29e2f451d4a1efd075f40c0324d692b5fdcac0d23f2f626ba9d0ca235f7d0c91930c5bf2438d0b6537af187a9fb3fcf36c419 SHA512 6291b0ba1d9af11d5295bf6804988835e746db2d3ebbd465a22e293a1108225c8c361762b78213c881cd15d7dedd16092f28a97c9e5b38f44920848bfbaf9709

diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch
new file mode 100644
index 00000000000..eaec90eabce
--- /dev/null
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch
@@ -0,0 +1,115 @@
+diff -up ./src/muxer/muxer_libav.c.orig ./src/muxer/muxer_libav.c
+--- ./src/muxer/muxer_libav.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/muxer/muxer_libav.c	2018-01-23 14:24:07.923509542 +0100
+@@ -174,7 +174,7 @@ lav_muxer_add_stream(lav_muxer_t *lm,
+   }
+ 
+   if(lm->lm_oc->oformat->flags & AVFMT_GLOBALHEADER)
+-    c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++    c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+   return 0;
+ }
+diff -up ./src/plumbing/transcoding.c.orig ./src/plumbing/transcoding.c
+--- ./src/plumbing/transcoding.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/plumbing/transcoding.c	2018-01-23 14:43:14.873964416 +0100
+@@ -19,7 +19,7 @@
+ #include <unistd.h>
+ #include <libavformat/avformat.h>
+ #include <libavcodec/avcodec.h>
+-#include <libavfilter/avfiltergraph.h>
++#include <libavfilter/avfilter.h>
+ #include <libavfilter/buffersink.h>
+ #include <libavfilter/buffersrc.h>
+ #include <libavutil/opt.h>
+@@ -574,7 +574,7 @@ transcoder_stream_audio(transcoder_t *t,
+     octx->channels        = as->aud_channels ? as->aud_channels : ictx->channels;
+     octx->channel_layout  = transcode_get_channel_layout(&octx->channels, ocodec);
+     octx->bit_rate        = as->aud_bitrate  ? as->aud_bitrate  : 0;
+-    octx->flags          |= CODEC_FLAG_GLOBAL_HEADER;
++    octx->flags          |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+     if (!octx->sample_rate) {
+       tvherror(LS_TRANSCODE, "%04X: audio encoder has no suitable sample rate!", shortid(t));
+@@ -619,7 +619,7 @@ transcoder_stream_audio(transcoder_t *t,
+       break;
+ 
+     case SCT_AAC:
+-      octx->flags |= CODEC_FLAG_BITEXACT;
++      octx->flags |= AV_CODEC_FLAG_BITEXACT;
+       // use 64 kbit per channel as default
+       if (octx->bit_rate == 0) {
+         octx->bit_rate = octx->channels * 64000;
+@@ -630,10 +630,10 @@ transcoder_stream_audio(transcoder_t *t,
+       // use vbr with quality setting as default
+       // and also use a user specified bitrate < 16 kbit as quality setting
+       if (octx->bit_rate == 0) {
+-        octx->flags |= CODEC_FLAG_QSCALE;
++        octx->flags |= AV_CODEC_FLAG_QSCALE;
+         octx->global_quality = 4 * FF_QP2LAMBDA;
+       } else if (t->t_props.tp_abitrate < 16) {
+-        octx->flags |= CODEC_FLAG_QSCALE;
++        octx->flags |= AV_CODEC_FLAG_QSCALE;
+         octx->global_quality = t->t_props.tp_abitrate * FF_QP2LAMBDA;
+         octx->bit_rate = 0;
+       }
+@@ -1048,7 +1048,7 @@ create_video_filter(video_stream_t *vs,
+                     AVCodecContext *ictx, AVCodecContext *octx)
+ {
+   AVFilterInOut *flt_inputs, *flt_outputs;
+-  AVFilter *flt_bufsrc, *flt_bufsink;
++  const AVFilter *flt_bufsrc, *flt_bufsink;
+   enum AVPixelFormat pix_fmts[] = { 0, AV_PIX_FMT_NONE };
+   char opt[128];
+   int err;
+@@ -1289,12 +1289,12 @@ transcoder_stream_video(transcoder_t *t,
+       else
+           octx->pix_fmt    = AV_PIX_FMT_YUV420P;
+ 
+-      octx->flags         |= CODEC_FLAG_GLOBAL_HEADER;
++      octx->flags         |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+       if (t->t_props.tp_vbitrate < 64) {
+         // encode with specified quality and optimize for low latency
+         // valid values for quality are 2-31, smaller means better quality, use 5 as default
+-        octx->flags          |= CODEC_FLAG_QSCALE;
++        octx->flags          |= AV_CODEC_FLAG_QSCALE;
+         octx->global_quality  = FF_QP2LAMBDA *
+             (t->t_props.tp_vbitrate == 0 ? 5 : MINMAX(t->t_props.tp_vbitrate, 2, 31));
+       } else {
+@@ -1340,7 +1340,7 @@ transcoder_stream_video(transcoder_t *t,
+       else
+           octx->pix_fmt    = AV_PIX_FMT_YUV420P;
+ 
+-      octx->flags         |= CODEC_FLAG_GLOBAL_HEADER;
++      octx->flags         |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+       // Default = "medium". We gain more encoding speed compared to the loss of quality when lowering it _slightly_.
+       // select preset according to system performance and codec type
+@@ -1371,7 +1371,7 @@ transcoder_stream_video(transcoder_t *t,
+ 
+     case SCT_HEVC:
+       octx->pix_fmt        = AV_PIX_FMT_YUV420P;
+-      octx->flags         |= CODEC_FLAG_GLOBAL_HEADER;
++      octx->flags         |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+       // on all hardware ultrafast (or maybe superfast) should be safe
+       // select preset according to system performance
+@@ -2177,7 +2177,7 @@ transcoder_get_capabilities(int experime
+     if (!WORKING_ENCODER(p->id))
+       continue;
+ 
+-    if (((p->capabilities & CODEC_CAP_EXPERIMENTAL) && !experimental) ||
++    if (((p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && !experimental) ||
+         (p->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) {
+       continue;
+     }
+@@ -2192,7 +2192,7 @@ transcoder_get_capabilities(int experime
+     htsmsg_add_str(m, "name", p->name);
+     snprintf(buf, sizeof(buf), "%s%s",
+              p->long_name ?: "",
+-             (p->capabilities & CODEC_CAP_EXPERIMENTAL) ?
++             (p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ?
+                " (Experimental)" : "");
+     if (buf[0] != '\0')
+       htsmsg_add_str(m, "long_name", buf);

diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch
new file mode 100644
index 00000000000..1891808e407
--- /dev/null
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch
@@ -0,0 +1,110 @@
+diff -up ./src/dvr/dvr_rec.c.orig ./src/dvr/dvr_rec.c
+--- ./src/dvr/dvr_rec.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/dvr/dvr_rec.c	2018-03-08 17:15:06.479877783 +0100
+@@ -669,7 +669,7 @@ static int
+ pvr_generate_filename(dvr_entry_t *de, const streaming_start_t *ss)
+ {
+   char filename[PATH_MAX];
+-  char path[PATH_MAX];
++  char path[PATH_MAX + 1];
+   char ptmp[PATH_MAX];
+   char number[16];
+   char tmp[MAX(PATH_MAX, 512)];
+diff -up ./src/epgdb.c.orig ./src/epgdb.c
+--- ./src/epgdb.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/epgdb.c	2018-03-08 17:15:06.479877783 +0100
+@@ -470,7 +470,7 @@ static int _epg_write_sect ( sbuf_t *sb,
+ 
+ static void epg_save_tsk_callback ( void *p, int dearmed )
+ {
+-  char tmppath[PATH_MAX];
++  char tmppath[PATH_MAX + 4];
+   char path[PATH_MAX];
+   sbuf_t *sb = p;
+   size_t size = sb->sb_ptr, orig;
+diff -up ./src/epggrab/module/eit.c.orig ./src/epggrab/module/eit.c
+--- ./src/epggrab/module/eit.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/epggrab/module/eit.c	2018-03-08 17:15:06.480877787 +0100
+@@ -50,8 +50,8 @@ typedef struct eit_private
+ 
+ typedef struct eit_event
+ {
+-  char              uri[257];
+-  char              suri[257];
++  char              uri[529];
++  char              suri[529];
+   
+   lang_str_t       *title;
+   lang_str_t       *summary;
+diff -up ./src/imagecache.c.orig ./src/imagecache.c
+--- ./src/imagecache.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/imagecache.c	2018-03-08 17:15:06.481877791 +0100
+@@ -252,7 +252,7 @@ imagecache_image_fetch ( imagecache_imag
+ {
+   int res = 1, r;
+   url_t url;
+-  char tpath[PATH_MAX] = "", path[PATH_MAX];
++  char tpath[PATH_MAX + 4] = "", path[PATH_MAX];
+   tvhpoll_event_t ev;
+   tvhpoll_t *efd = NULL;
+   http_client_t *hc = NULL;
+diff -up ./src/input/mpegts/dvb_psi.c.orig ./src/input/mpegts/dvb_psi.c
+--- ./src/input/mpegts/dvb_psi.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/dvb_psi.c	2018-03-08 17:15:06.482877795 +0100
+@@ -678,7 +678,7 @@ static int
+ dvb_freesat_add_service
+   ( dvb_bat_id_t *bi, dvb_freesat_region_t *fr, mpegts_service_t *s, uint32_t lcn )
+ {
+-  char name[96], src[64];
++  char name[96], src[126];
+   if (!fr->bouquet) {
+     strcpy(name, "???");
+     if (idnode_is_instance(&bi->mm->mm_id, &dvb_mux_dvbs_class))
+diff -up ./src/input/mpegts/dvb_support.c.orig ./src/input/mpegts/dvb_support.c
+--- ./src/input/mpegts/dvb_support.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/dvb_support.c	2018-03-08 17:15:06.483877799 +0100
+@@ -853,7 +853,7 @@ dvb_str2val(qam);
+ 
+ const char *dvb_bw2str(int p)
+ {
+-  static char __thread buf[16];
++  static char __thread buf[17];
+   const char *res = dvb_common2str(p);
+   if (res)
+     return res;
+diff -up ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c
+--- ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c	2018-03-08 17:15:06.484877803 +0100
+@@ -185,7 +185,7 @@ linuxdvb_satconf_class_orbitalpos_set
+   linuxdvb_satconf_t *ls = p;
+   int c = *(int*)linuxdvb_satconf_class_orbitalpos_get(p);
+   int n = *(int*)v;
+-  char buf[20];
++  char buf[22];
+ 
+   if (n == c)
+     return 0;
+diff -up ./src/input/mpegts/scanfile.c.orig ./src/input/mpegts/scanfile.c
+--- ./src/input/mpegts/scanfile.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/scanfile.c	2018-03-08 17:23:20.200963915 +0100
+@@ -331,7 +331,7 @@ scanfile_create_network
+ {
+   scanfile_region_t *reg = NULL;
+   scanfile_network_t *net;
+-  char buf[256], buf2[256], buf3[256], *str;
++  char buf[256], buf2[263], buf3[270], *str;
+   int opos;
+ 
+   /* Region */
+diff -up ./src/settings.c.orig ./src/settings.c
+--- ./src/settings.c.orig	2017-12-18 09:57:28.000000000 +0100
++++ ./src/settings.c	2018-03-08 17:15:06.484877803 +0100
+@@ -129,7 +129,7 @@ void
+ hts_settings_save(htsmsg_t *record, const char *pathfmt, ...)
+ {
+   char path[PATH_MAX];
+-  char tmppath[PATH_MAX];
++  char tmppath[PATH_MAX + 4];
+   int fd;
+   va_list ap;
+   htsbuf_queue_t hq;

diff --git a/media-tv/tvheadend/tvheadend-4.2.6.ebuild b/media-tv/tvheadend/tvheadend-4.2.6.ebuild
new file mode 100644
index 00000000000..72be6b32f04
--- /dev/null
+++ b/media-tv/tvheadend/tvheadend-4.2.6.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit linux-info systemd toolchain-funcs user
+
+DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder"
+HOMEPAGE="https://tvheadend.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE="+capmt +constcw +cwc dbus debug dvbcsa dvben50221 +dvb +ffmpeg hdhomerun +imagecache +inotify iptv libressl satip systemd +timeshift uriparser xmltv zeroconf zlib"
+
+RDEPEND="
+	virtual/libiconv
+	dbus? ( sys-apps/dbus )
+	dvbcsa? ( media-libs/libdvbcsa )
+	dvben50221? ( media-tv/linuxtv-dvb-apps )
+	ffmpeg? ( media-video/ffmpeg:0/55.57.57 )
+	hdhomerun? ( media-libs/libhdhomerun )
+	!libressl? ( dev-libs/openssl:= )
+	libressl? ( dev-libs/libressl:= )
+	uriparser? ( dev-libs/uriparser )
+	zeroconf? ( net-dns/avahi )
+	zlib? ( sys-libs/zlib )"
+
+DEPEND="
+	${RDEPEND}
+	sys-devel/gettext
+	virtual/pkgconfig
+	dvb? ( virtual/linuxtv-dvb-headers )"
+
+RDEPEND+="
+	dvb? ( media-tv/dtv-scan-tables )
+	xmltv? ( media-tv/xmltv )"
+
+REQUIRED_USE="dvbcsa? ( || ( capmt constcw cwc dvben50221 ) )"
+
+# Some patches from:
+# https://github.com/rpmfusion/tvheadend
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.0.9-use_system_queue.patch
+	"${FILESDIR}"/${PN}-4.2.1-hdhomerun.patch
+	"${FILESDIR}"/${PN}-4.2.2-dtv_scan_tables.patch
+	"${FILESDIR}"/${PN}-4.2.5-ffmpeg_3.5.patch
+	"${FILESDIR}"/${PN}-4.2.5-gcc8.patch
+)
+
+DOCS=( README.md )
+
+pkg_setup() {
+	use inotify &&
+		CONFIG_CHECK="~INOTIFY_USER" linux-info_pkg_setup
+
+	enewuser tvheadend -1 -1 /etc/tvheadend video
+}
+
+src_configure() {
+	CC="$(tc-getCC)" \
+	PKG_CONFIG="${CHOST}-pkg-config" \
+	econf \
+		--disable-bundle \
+		--disable-ccache \
+		--disable-dvbscan \
+		--disable-ffmpeg_static \
+		--disable-hdhomerun_static \
+		--nowerror \
+		$(use_enable capmt) \
+		$(use_enable constcw) \
+		$(use_enable cwc) \
+		$(use_enable dbus dbus_1) \
+		$(use_enable debug trace) \
+		$(use_enable dvb linuxdvb) \
+		$(use_enable dvbcsa) \
+		$(use_enable dvben50221) \
+		$(use_enable ffmpeg libav) \
+		$(use_enable hdhomerun hdhomerun_client) \
+		$(use_enable imagecache) \
+		$(use_enable inotify) \
+		$(use_enable iptv) \
+		$(use_enable satip satip_server) \
+		$(use_enable satip satip_client) \
+		$(use_enable systemd libsystemd_daemon) \
+		$(use_enable timeshift) \
+		$(use_enable uriparser) \
+		$(use_enable zeroconf avahi) \
+		$(use_enable zlib)
+}
+
+src_compile() {
+	emake CC="$(tc-getCC)"
+}
+
+src_install() {
+	default
+
+	newinitd "${FILESDIR}"/tvheadend.initd tvheadend
+	newconfd "${FILESDIR}"/tvheadend.confd tvheadend
+
+	use systemd &&
+		systemd_dounit "${FILESDIR}"/tvheadend.service
+
+	dodir /etc/tvheadend
+	fperms 0700 /etc/tvheadend
+	fowners tvheadend:video /etc/tvheadend
+}
+
+pkg_postinst() {
+	elog "The Tvheadend web interface can be reached at:"
+	elog "http://localhost:9981/"
+	elog
+	elog "Make sure that you change the default username"
+	elog "and password via the Configuration / Access control"
+	elog "tab in the web interface."
+}


             reply	other threads:[~2018-09-02 11:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-02 11:43 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-30 14:40 [gentoo-commits] repo/gentoo:master commit in: media-tv/tvheadend/files/, media-tv/tvheadend/ James Le Cuirot
2020-05-10 22:18 James Le Cuirot
2019-11-02 12:04 James Le Cuirot
2018-11-10 15:22 James Le Cuirot
2017-12-04 22:20 James Le Cuirot
2016-05-07 15:43 Sam Jorna
2016-01-24 23:04 Sven Wegener
2015-10-13 11:24 Ian Delaney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1535888590.739b54d63d1152757c3367ac57f249b751caa990.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox