media-video/tbc-tools - 3.2.8 (tatsh-overlay)

Search

Install

Install this version:

emerge -a =media-video/tbc-tools-3.2.8

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =media-video/tbc-tools-3.2.8

Or alternatively:

emerge --autounmask-write -a =media-video/tbc-tools-3.2.8

Package Information

Description:
Post decoder tools for the decode projects' TBC format.
Homepage:
https://github.com/harrypm/tbc-tools
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
3.2.8 8 ~amd64 0
View Raw Ebuild
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{11..14} )

inherit cmake python-single-r1 xdg

DESCRIPTION="Post decoder tools for the decode projects' TBC format."
HOMEPAGE="https://github.com/harrypm/tbc-tools"
# Both are git submodules, so they are absent from the GitHub archive.
EZPWD_SHA="62a490c13f6e057fbf2dc6777fde234c7a19098e"
CC_DECODER_SHA="3dc59562c20ade687c524d9f4510a55a836ca475"
SRC_URI="https://github.com/harrypm/${PN}/archive/refs/tags/v${PV}.tar.gz
	-> ${P}.gh.tar.gz
	https://github.com/pjkundert/ezpwd-reed-solomon/archive/${EZPWD_SHA}.tar.gz
	-> ${PN}-ezpwd-${EZPWD_SHA:0:8}.gh.tar.gz
	https://github.com/eshaz/cc_decoder/archive/${CC_DECODER_SHA}.tar.gz
	-> ${PN}-cc_decoder-${CC_DECODER_SHA:0:8}.gh.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="teletext"

REQUIRED_USE="${PYTHON_REQUIRED_USE}"

# ld-chroma-decoder requires ONNX Runtime unconditionally; upstream provides no
# option to build without it.
DEPEND="dev-qt/qtbase:6[gui,sql,widgets]
	dev-qt/qtsvg:6
	sci-libs/fftw:3.0=
	|| ( sci-libs/onnxruntime sci-libs/onnxruntime-bin )"
# tbc-video-export is a bundled Python application driving ffmpeg, and
# ld-process-vbi shells out to the bundled vhs-teletext for teletext export.
# shellcheck disable=SC2016
RDEPEND="${DEPEND}
	${PYTHON_DEPS}
	media-video/ffmpeg
	$(python_gen_cond_dep '
		dev-python/typing-extensions[${PYTHON_USEDEP}]
		teletext? (
			dev-python/click[${PYTHON_USEDEP}]
			dev-python/matplotlib[${PYTHON_USEDEP}]
			dev-python/numpy[${PYTHON_USEDEP}]
			dev-python/pyzmq[${PYTHON_USEDEP}]
			dev-python/scipy[${PYTHON_USEDEP}]
			dev-python/tqdm[${PYTHON_USEDEP}]
		)
	')"

PATCHES=(
	"${FILESDIR}/${P}-no-install-cache-update.patch"
	"${FILESDIR}/${P}-vendor-datadir.patch"
)

pkg_setup() {
	python-single-r1_pkg_setup
}

src_prepare() {
	rmdir src/efm-decoder/libs/ezpwd src/ld-process-vbi/vendor/cc_decoder || die
	mv "${WORKDIR}/ezpwd-reed-solomon-${EZPWD_SHA}" src/efm-decoder/libs/ezpwd || die
	mv "${WORKDIR}/cc_decoder-${CC_DECODER_SHA}" src/ld-process-vbi/vendor/cc_decoder || die
	# Both bundled Python applications hunt for an interpreter on PATH. Only the
	# one selected here is guaranteed to have the dependencies installed.
	sed -i "s|^PYTHON_NAMES=(.*)$|PYTHON_NAMES=(${EPYTHON} python3 python)|" \
		src/tbc-video-export/tbc-video-export.in || die
	sed -i "s|QStringLiteral(\"python3\"),|QStringLiteral(\"${EPYTHON}\"),\n        QStringLiteral(\"python3\"),|" \
		src/ld-process-vbi/teletextintegration.cpp || die
	cmake_src_prepare
}

src_configure() {
	local mycmakeargs=(
		# ld-decode's Python library is provided by media-video/vhs-decode.
		-DBUILD_PYTHON=OFF
		# sci-libs/onnxruntime{,-bin} install their headers straight into
		# /usr/include, but the onnxruntimeTargets.cmake they ship points
		# INTERFACE_INCLUDE_DIRECTORIES at /usr/include/onnxruntime, which does
		# not exist and makes CMake reject the imported target. Skip the config
		# package and let upstream's own path search find things instead.
		-DCMAKE_DISABLE_FIND_PACKAGE_onnxruntime=ON
		"-DONNXRUNTIME_ROOT=${EPREFIX}/usr"
	)
	cmake_src_configure
}

src_install() {
	cmake_src_install
	if ! use teletext; then
		rm -r "${ED}/usr/share/${PN}/vendor/vhs-teletext" || die
	fi
}

USE Flags

Manage flags for this package: euse -i <flag> -p media-video/tbc-tools | euse -E <flag> -p media-video/tbc-tools | euse -D <flag> -p media-video/tbc-tools

Global/Standard Flags

Inherited Eclasses

xdg

Dependencies

DEPEND

dev-qt/qtbase:6[gui,sql,widgets]
	dev-qt/qtsvg:6
	sci-libs/fftw:3.0=
	|| ( sci-libs/onnxruntime sci-libs/onnxruntime-bin )

RDEPEND

${DEPEND}
	${PYTHON_DEPS}
	media-video/ffmpeg
	$(python_gen_cond_dep '
		dev-python/typing-extensions[${PYTHON_USEDEP}]
		teletext? (
			dev-python/click[${PYTHON_USEDEP}]
			dev-python/matplotlib[${PYTHON_USEDEP}]
			dev-python/numpy[${PYTHON_USEDEP}]
			dev-python/pyzmq[${PYTHON_USEDEP}]
			dev-python/scipy[${PYTHON_USEDEP}]
			dev-python/tqdm[${PYTHON_USEDEP}]
		)
	')

Manifest for 3.2.8

Type File Size Source URLs
DIST tbc-tools-3.2.8.gh.tar.gz 115617328 bytes https://github.com/harrypm/tbc-tools/archive/refs/tags/v3.2.8.tar.gz
DIST tbc-tools-cc_decoder-3dc59562.gh.tar.gz 13817010 bytes https://github.com/eshaz/cc_decoder/archive/3dc59562c20ade687c524d9f4510a55a836ca475.tar.gz
DIST tbc-tools-ezpwd-62a490c1.gh.tar.gz 1486765 bytes https://github.com/pjkundert/ezpwd-reed-solomon/archive/62a490c13f6e057fbf2dc6777fde234c7a19098e.tar.gz