SUMMARY="A command-line program to download videos from various sites"
DESCRIPTION="A fork of youtube-dl with additional features and fixes. \
The program is usually invoked as youtube-dl followed by \
options and the video URL. Run 'yt-dlp --help' and get a summary \
of all options.
Some YouTube videos are served using Adobe's proprietary RTMP protocol, which \
imposes DRM restrictions and encrypts the connection. yt-dlp is not able \
to download these videos by itself."
HOMEPAGE="https://github.com/yt-dlp/yt-dlp"
COPYRIGHT="2006-2022 youtube-dl and yt-dlp contributors"
LICENSE="Unlicense"
REVISION="2"
SOURCE_URI="https://github.com/yt-dlp/yt-dlp/releases/download/$portVersion/yt-dlp.tar.gz"
SOURCE_FILENAME="yt-dlp-$portVersion.tar.gz"
CHECKSUM_SHA256="c8dd119c28a5d256322ddb3a2fff72bc02ace43fc5880c0065d97f7a48d7a8e3"
SOURCE_DIR="yt-dlp"

ARCHITECTURES="any"

PROVIDES="
	yt_dlp = $portVersion
	cmd:yt_dlp = $portVersion
	"
REQUIRES="
	haiku
	ffmpeg_tools
	cmd:python3
	"

BUILD_REQUIRES="
	haiku_devel
	"
BUILD_PREREQUIRES="
	cmd:find
	cmd:make
	cmd:zip
	"

PYTHON_PACKAGES=(python3)
PYTHON_VERSIONS=(3.7)
for i in "${!PYTHON_PACKAGES[@]}"; do
	pythonPackage=${PYTHON_PACKAGES[i]}
	pythonVersion=${PYTHON_VERSIONS[$i]}
	eval "\
		PROVIDES_${pythonPackage}=\"\n\
			${portName}_$pythonPackage = $portVersion\n\
			cmd:yt_dlp_$pythonPackage = $portVersion\n\
			\"; \
		REQUIRES_$pythonPackage=\"\n\
			haiku\n\
			cmd:python$pythonVersion\n\
			\"\
		"

	BUILD_REQUIRES="$BUILD_REQUIRES
		setuptools_$pythonPackage
		"
	BUILD_PREREQUIRES="$BUILD_PREREQUIRES
		cmd:python$pythonVersion
		"
done

INSTALL()
{
	for i in "${!PYTHON_PACKAGES[@]}"; do
		pythonPackage=${PYTHON_PACKAGES[i]}
		pythonVersion=${PYTHON_VERSIONS[$i]}

		python=python$pythonVersion
		installLocation="$prefix"/lib/$python/vendor-packages/
		export PYTHONPATH="$installLocation"
		rm -rf build
		mkdir -p "$installLocation"
		$python setup.py build install --root=/ --prefix="$prefix"

		rm -rf "$prefix"/share/man
		mv "$binDir"/yt-dlp "$binDir"/yt-dlp-$pythonPackage
		packageEntries $pythonPackage \
			"$prefix"/lib/$python \
			"$binDir"/yt-dlp-$pythonPackage
	done

	make install PREFIX="$prefix" MANDIR="$manDir" SHAREDIR="$dataDir" \
		PYTHON="/system/bin/python3" BINDIR="$binDir" DESTDIR=

	install -d "$dataDir"/bash-completion "$docDir"
	mv "$prefix"/share/doc/yt_dlp/README.txt "$docDir"

	rm -rf "$prefix"/etc "$prefix"/share
}

TEST()
{
	# Will fail because flake8 is not available
	make offlinetest
}
