From 8ee701df16a5abf85ab16b9cd74589e2daa2d3ff Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sun, 17 May 2026 13:53:11 +0100 Subject: [PATCH] media-tv/tvheadend: Bump snapshot to 20260516 Barely tested. Sorry, I don't use this any more. Bugs: https://bugs.gentoo.org/954780 Signed-off-by: James Le Cuirot --- media-tv/tvheadend/Manifest | 1 + .../tvheadend/tvheadend-4.3_p20260516.ebuild | 180 ++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 media-tv/tvheadend/tvheadend-4.3_p20260516.ebuild diff --git a/media-tv/tvheadend/Manifest b/media-tv/tvheadend/Manifest index 4be00c4079abb..79c075ebb7ad9 100644 --- a/media-tv/tvheadend/Manifest +++ b/media-tv/tvheadend/Manifest @@ -1 +1,2 @@ DIST tvheadend-4.3_p20240618.tar.gz 22578849 BLAKE2B 49941eef965bdc5483116ba591ec92d1a2bd903df3a4fe610cfb77e5d1b90eb6328a2aff344bd1be0ed2b1a4299e3f3d7fd566035a649482f4b0f67f54b5218b SHA512 1fc2b5f7323ef5b919999fbb9c6ca86a12ff45c0fce10c86dc063070b62a9899b7320356153bd86cbd9b988a634a74b65737789006ff0b5928486f08a1869b46 +DIST tvheadend-4.3_p20260516.tar.gz 22758364 BLAKE2B 825f5b4dcb566f72108a2f3a9be0770d911155c4418192d107df1a7ca6834e163e091c4eebc3732155044b4b2443260f6bf0338c53e6c5a6d4ba9e1971a541d4 SHA512 6ef1cf090b9d1fe366c0a9279406831559d4d2c298b84814bee74da6c635845b4ce18385bbde856cdb60683c2654ff395a9e5ad5b03344db1ecbf389da24f334 diff --git a/media-tv/tvheadend/tvheadend-4.3_p20260516.ebuild b/media-tv/tvheadend/tvheadend-4.3_p20260516.ebuild new file mode 100644 index 0000000000000..248f0f14759cc --- /dev/null +++ b/media-tv/tvheadend/tvheadend-4.3_p20260516.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit flag-o-matic linux-info python-single-r1 systemd toolchain-funcs + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" + inherit git-r3 +else + COMMIT="ca9a085a24b2517652e4ff8a91763aba907a6463" + SRC_URI="https://github.com/tvheadend/tvheadend/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder" +HOMEPAGE="https://tvheadend.org/" + +LICENSE="GPL-3" +SLOT="0" +IUSE="dbus debug +ddci dvbcsa +dvb +ffmpeg hdhomerun +imagecache +inotify iptv opus satip systemd +timeshift uriparser vaapi vpx x264 x265 xmltv zeroconf zlib" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ddci? ( dvb ) +" + +BDEPEND=" + ${PYTHON_DEPS} + sys-devel/gettext + virtual/pkgconfig +" + +RDEPEND=" + ${PYTHON_DEPS} + acct-user/tvheadend + virtual/libiconv + dbus? ( sys-apps/dbus ) + dvbcsa? ( media-libs/libdvbcsa ) + ffmpeg? ( media-video/ffmpeg:=[opus?,vpx?,x264?,x265?] ) + hdhomerun? ( media-libs/libhdhomerun ) + dev-libs/openssl:0= + uriparser? ( dev-libs/uriparser ) + zeroconf? ( net-dns/avahi ) + zlib? ( virtual/zlib:= ) +" + +# ffmpeg sub-dependencies needed for headers only. Check under +# src/transcoding/codec/codecs/libs for include statements. + +DEPEND=" + ${RDEPEND} + dvb? ( sys-kernel/linux-headers ) + ffmpeg? ( + opus? ( media-libs/opus ) + vpx? ( media-libs/libvpx ) + x264? ( media-libs/x264 ) + x265? ( media-libs/x265 ) + ) + vaapi? ( media-libs/libva:= ) +" + +RDEPEND+=" + $(python_gen_cond_dep ' + dev-python/requests[${PYTHON_USEDEP}] + ') + dvb? ( media-tv/dtv-scan-tables ) + xmltv? ( media-tv/xmltv ) +" + +# Some patches from: +# https://github.com/rpmfusion/tvheadend + +PATCHES=( + "${FILESDIR}"/${PN}-4.0.9-use_system_queue.patch + "${FILESDIR}"/${PN}-4.3-hdhomerun.patch + "${FILESDIR}"/${PN}-4.2.2-dtv_scan_tables.patch + "${FILESDIR}"/${PN}-4.2.7-python3.patch +) + +DOCS=( README.md ) + +pkg_setup() { + python-single-r1_pkg_setup + + use inotify && + CONFIG_CHECK="~INOTIFY_USER" linux-info_pkg_setup +} + +# We unconditionally enable codecs that do not require additional +# dependencies when building tvheadend. If support is missing from +# ffmpeg at runtime then tvheadend will simply disable these codecs. + +# It is not necessary to specific all the --disable-*-static options as +# most of them only take effect when --enable-ffmpeg_static is given. + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/932794 + # https://github.com/tvheadend/tvheadend/issues/1732 + filter-lto + + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + econf \ + --disable-bundle \ + --disable-ccache \ + --disable-dvbscan \ + --disable-ffmpeg_static \ + --disable-hdhomerun_static \ + --enable-libfdkaac \ + --enable-libtheora \ + --enable-libvorbis \ + --nowerror \ + $(use_enable dbus dbus_1) \ + $(use_enable debug trace) \ + $(use_enable ddci) \ + $(use_enable dvb linuxdvb) \ + $(use_enable dvbcsa) \ + $(use_enable dvbcsa capmt) \ + $(use_enable dvbcsa cccam) \ + $(use_enable dvbcsa constcw) \ + $(use_enable dvbcsa cwc) \ + $(use_enable ffmpeg libav) \ + $(use_enable hdhomerun hdhomerun_client) \ + $(use_enable imagecache) \ + $(use_enable inotify) \ + $(use_enable iptv) \ + $(use_enable opus libopus) \ + $(use_enable satip satip_server) \ + $(use_enable satip satip_client) \ + $(use_enable systemd libsystemd_daemon) \ + $(use_enable timeshift) \ + $(use_enable uriparser) \ + $(use_enable vaapi) \ + $(use_enable vpx libvpx) \ + $(use_enable x264 libx264) \ + $(use_enable x265 libx265) \ + $(use_enable zeroconf avahi) \ + $(use_enable zlib) +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + default + python_fix_shebang "${ED}"/usr/bin/ + + newinitd "${FILESDIR}"/tvheadend.initd tvheadend + newconfd "${FILESDIR}"/tvheadend.confd tvheadend + + use systemd && + systemd_dounit "${FILESDIR}"/tvheadend.service +} + +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." + + . "${EROOT}"/etc/conf.d/tvheadend &>/dev/null + + if [[ ${TVHEADEND_CONFIG} = ${EPREFIX}/etc/tvheadend ]]; then + echo + ewarn "The HOME directory for the tvheadend user has changed from" + ewarn "${EPREFIX}/etc/tvheadend to ${EPREFIX}/var/lib/tvheadend. The daemon will continue" + ewarn "to use the old location until you update TVHEADEND_CONFIG in" + ewarn "${EPREFIX}/etc/conf.d/tvheadend. Please manually move your existing files" + ewarn "before you do so." + fi +}