mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
media-tv/tvheadend: Drop old 4.2.6
Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST tvheadend-4.2.6.tar.gz 21528720 BLAKE2B 358373bc19bd4c27ddb597bb14e29e2f451d4a1efd075f40c0324d692b5fdcac0d23f2f626ba9d0ca235f7d0c91930c5bf2438d0b6537af187a9fb3fcf36c419 SHA512 6291b0ba1d9af11d5295bf6804988835e746db2d3ebbd465a22e293a1108225c8c361762b78213c881cd15d7dedd16092f28a97c9e5b38f44920848bfbaf9709
|
||||
DIST tvheadend-4.2.7.tar.gz 21815613 BLAKE2B 2a90801189901c8129209d9157fbca826e5e46c2641aa08676a44f3076f4dd82c7732e188e87835ce22b19aedea96b8c816733998241a213904c9f9aff1a2537 SHA512 14dd4f452a785359614e2dfe3c210543e0bddf011b8bb994a282cfcff3f3e2573e48636e4c778c7fea39c01318053211e674911fcec3ad5f7b536bdd9e5f5aa9
|
||||
|
||||
@@ -1,115 +0,0 @@
|
||||
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);
|
||||
@@ -1,110 +0,0 @@
|
||||
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;
|
||||
@@ -1,120 +0,0 @@
|
||||
# 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."
|
||||
}
|
||||
Reference in New Issue
Block a user