0
0
Fork 0
haikuports/net-misc/youtube_dl/youtube_dl-2021.06.06.recipe

108 lines
3.0 KiB
Bash

SUMMARY="A command-line program to download videos from various sites"
DESCRIPTION="The program is usually invoked as youtube-dl followed by \
options and the video URL. Run 'youtube-dl --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. youtube-dl is not able \
to download these videos by itself."
HOMEPAGE="https://ytdl-org.github.io/youtube-dl/index.html"
COPYRIGHT="2006-2021 youtube-dl contributors"
LICENSE="Unlicense"
REVISION="1"
SOURCE_URI="https://yt-dl.org/downloads/$portVersion/youtube-dl-$portVersion.tar.gz"
CHECKSUM_SHA256="3ccb0e4db9fd172338ed1c32bae0be2f716458dca4143e55732ff55260b20ac3"
SOURCE_DIR="youtube-dl"
ARCHITECTURES="any"
PROVIDES="
youtube_dl = $portVersion
cmd:youtube_dl = $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:youtube_dl_$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"/youtube-dl "$binDir"/youtube-dl-$pythonPackage
packageEntries $pythonPackage \
"$prefix"/lib/$python \
"$binDir"/youtube-dl-$pythonPackage
# Avoid interference between the different python versions, clean any
# temporary files. Don't use "make clean" because it also removes
# things that we are not able to rebuild (docs need pandoc, for example)
rm youtube-dl
done
make install PREFIX="$prefix" MANDIR="$manDir" SHAREDIR="$dataDir" \
PYTHON="/system/bin/python3"
install -d "$dataDir"/bash-completion "$docDir"
mv "$prefix"/share/doc/youtube_dl/README.txt "$docDir"
# We now have two identical files in $prefix/etc/bash_completion.d/
# Let's drop "youtube-dl.bash-completion" and keep "youtube-dl".
rm -f "$prefix"/etc/bash_completion.d/youtube-dl.bash-completion
# We need "youtube-dl" in "$dataDir/bash-completion/completions/".
mv "$prefix"/etc/bash_completion.d "$dataDir"/bash-completion/completions
mv "$prefix"/etc/fish "$dataDir"
cd "$prefix"
rmdir -p etc share/doc/youtube_dl
}
TEST()
{
# Will fail because flake8 is not available
make offlinetest
}