108 lines
3.0 KiB
Bash
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
|
|
}
|