#!/usr/bin/env bash ##makedesc: Install youtube-dl (src) set -eo pipefail installed() { command -v "$1" >/dev/null 2>&1; } install() { echo echo "===============================================" echo "Installing youtube-dl" echo "===============================================" echo # https://github.com/ytdl-org/youtube-dl#installation if ! installed make; then if [ "$(uname -s)" = "Darwin" ]; then echo "ERROR: Install Xcode Command Line Tools first." >&2 exit 1 else sudo apt install -y make fi fi mkdir -p "$HOME/install/youtube-dl" "$HOME/.local/bin" if installed git; then if [ -d "$HOME/install/youtube-dl" ]; then cd "$HOME/install/youtube-dl" git pull else git clone https://github.com/ytdl-org/youtube-dl.git "$HOME/install/youtube-dl" --depth=1 --single-branch fi else if ! installed wget; then if [ "$(uname -s)" = "Darwin" ]; then echo "ERROR: Install wget or use git." >&2 exit 1 else sudo apt install -y wget fi fi wget -q --show-progress https://github.com/ytdl-org/youtube-dl/archive/refs/heads/master.zip -O "$HOME/install/youtube-dl.zip" unzip -oq "$HOME/install/youtube-dl.zip" -d "$HOME/install/youtube-dl" fi cd "$HOME/install/youtube-dl" make youtube-dl mv youtube-dl "$HOME/.local/bin/" echo echo "Finish!" youtube-dl --version echo } case "$1" in *) install ;; esac