diff options
Diffstat (limited to 'media-tv/tvheadend')
-rw-r--r-- | media-tv/tvheadend/Manifest | 1 | ||||
-rw-r--r-- | media-tv/tvheadend/tvheadend-4.3_p20240618-r1.ebuild | 174 |
2 files changed, 175 insertions, 0 deletions
diff --git a/media-tv/tvheadend/Manifest b/media-tv/tvheadend/Manifest index 5102df886833..27f678d18a76 100644 --- a/media-tv/tvheadend/Manifest +++ b/media-tv/tvheadend/Manifest @@ -6,6 +6,7 @@ AUX tvheadend.confd 359 BLAKE2B 3b44e47b9216daaa2defa69254700693015619e8b0196060 AUX tvheadend.initd 375 BLAKE2B 6fbf53a0a67957ee5756b56189d42b741adb7603b5590aa5fa0fd6b2a1d1ba930af05de8ebedba343302aa861f7fb42d3eb25b67acf6b43aa7c956d4965ab944 SHA512 6f17fa6bee502f586b4500c5f5541c9c6ce095deed7ddb3c1d1ad129a2e22fa66de0e72b712866659f7080753c73f67154d6dcdbf8539d6c8a942bea29bb1aa7 AUX tvheadend.service 512 BLAKE2B 04ae8d2f664c6050f0209cea91dd5c5fc84234b09444d5de732cd80740bfdde488d23003defa73839e6c4e6e3fe6b1f5da3c9e272e3db2b80e1433fe4362cf01 SHA512 768e08bb06dc898257e62dc93e3e5faf5bdd69d08afc6009250050581d2e823ab0b5de2cb76bb45a0934479095c5a4afd1924fa61461768713b814f5baf4f252 DIST tvheadend-4.3_p20240618.tar.gz 22578849 BLAKE2B 49941eef965bdc5483116ba591ec92d1a2bd903df3a4fe610cfb77e5d1b90eb6328a2aff344bd1be0ed2b1a4299e3f3d7fd566035a649482f4b0f67f54b5218b SHA512 1fc2b5f7323ef5b919999fbb9c6ca86a12ff45c0fce10c86dc063070b62a9899b7320356153bd86cbd9b988a634a74b65737789006ff0b5928486f08a1869b46 +EBUILD tvheadend-4.3_p20240618-r1.ebuild 4678 BLAKE2B da2c5ae83198915d061d1a8a3ef3513b18f345cc90bfad9ddc816247a40311ca0376d94ca3d6a5fac742ecf0c14841f4caa4104ebe9ad8a44cf5876faad66ea5 SHA512 d0df0e8caa551eb13f2de4e00069b9ede7bb5e3be4f172525eb54e65c56376e9e7fecd774738a4ed5499fccaa5076cf083efc9af9da1da64d18127913624d8d8 EBUILD tvheadend-4.3_p20240618.ebuild 4558 BLAKE2B 52853c7647eb60236a03250f8268291f6cdd217689a6515e72d6903906c12b4b0ab607c78fe724a833b1428c7da69a8cb14d53897c386aed179962343e26d6a1 SHA512 0a944a5315256c79b1837ec9e0c4d0f9e62215804e1d5a3b682d2617dd0a1bea1bef3b58391d0fc2d4f3bd29ff71f1ac14872403da7e09f8842508137a0c76cc EBUILD tvheadend-9999.ebuild 4415 BLAKE2B 19024b51b085ebd3a28361c569c9914837dc8be2cacade62c9ceb7c9554f21693d619e931f07aaefcea41b12ee7a99ec392bda06d06be9ede695d42e8aa54c80 SHA512 93602f181f62ec37e56800eebe2f0a66c9664e360d9f4364b84eb230dc9a65f0feb0214fa772322973f4ae07d61c56d311af4cb520ee1c146752c849e41b60ac MISC metadata.xml 1168 BLAKE2B dc42b9e7a3cc221a875b758f838fe3e4aac5fe6af865459b3e866e735905f8a3245496019d5924bc5cc6ee77410a03e0977dd425141c66ca52fcb8d83d410d99 SHA512 242b625a50dcadc5d6af611cdabce021cf09e3e13f626930532e725f9cac8d80bfeed87f0dd6e420c9c9a5c0ac521508440ec85f649581e5cb214b6cfc11c935 diff --git a/media-tv/tvheadend/tvheadend-4.3_p20240618-r1.ebuild b/media-tv/tvheadend/tvheadend-4.3_p20240618-r1.ebuild new file mode 100644 index 000000000000..9c05853e0b6a --- /dev/null +++ b/media-tv/tvheadend/tvheadend-4.3_p20240618-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +COMMIT="e855f62e6697cf756ad2eed2ed03b8d06ba2019b" +PYTHON_COMPAT=( python3_{10..13} ) + +inherit ffmpeg-compat flag-o-matic linux-info python-single-r1 systemd toolchain-funcs + +DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder" +HOMEPAGE="https://tvheadend.org/" +SRC_URI="https://github.com/tvheadend/tvheadend/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT}" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 arm arm64 x86" +IUSE="dbus debug +ddci dvbcsa +dvb +ffmpeg hdhomerun +imagecache +inotify iptv opus satip systemd +timeshift uriparser 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-compat:6=[opus?,vpx?,x264?,x265?] ) + hdhomerun? ( media-libs/libhdhomerun ) + dev-libs/openssl:0= + uriparser? ( dev-libs/uriparser ) + zeroconf? ( net-dns/avahi ) + zlib? ( sys-libs/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 ) + ) +" + +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() { + # TODO: fix with >=ffmpeg-7 then drop compat (bug #954780) + use ffmpeg && ffmpeg_compat_setup 6 + + # -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 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 +} |