A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 85 lines 2.6 kB view raw
1#!/bin/bash 2 3# Abort execution as soon as an error is encountered 4# That way the script do not let the user think the process completed correctly 5# and leave the opportunity to fix the problem and restart compilation where 6# it stopped 7set -e 8 9SDK_DOWNLOAD_URL="https://developer.android.com/studio" 10SDK_DOWNLOAD_KEYWORD="commandlinetools" 11NDK_DOWNLOAD_URL="https://github.com/android/ndk/wiki/Unsupported-Downloads" 12NDK_DOWNLOAD_KEYWORD="r10e" 13 14find_url() { 15 base_url="$1" 16 keyword="$2" 17 os="$3" 18 wget -q -O - $base_url | grep dl.google.com | sed 's/.*"\(https:\/\/dl.google.com\/.*\.zip\)".*/\1/' | grep $os | grep $keyword | grep -v bundle | grep -v .exe 19} 20 21OS=`uname` 22case $OS in 23 Linux) 24 SDK_URL=$(find_url $SDK_DOWNLOAD_URL $SDK_DOWNLOAD_KEYWORD linux) 25 NDK_URL=$(find_url $NDK_DOWNLOAD_URL $NDK_DOWNLOAD_KEYWORD linux) 26 ANDROID=cmdline-tools/latest/bin/sdkmanager 27 ;; 28 29 Darwin) 30 SDK_URL=$(find_url $SDK_DOWNLOAD_URL $SDK_DOWNLOAD_KEYWORD mac) 31 NDK_URL=$(find_url $NDK_DOWNLOAD_URL $NDK_DOWNLOAD_KEYWORD darwin) 32 ANDROID=cmdline-tools/latest/bin/sdkmanager 33 ;; 34 35 CYGWIN*) 36 SDK_URL=$(find_url $SDK_DOWNLOAD_URL $SDK_DOWNLOAD_KEYWORD windows) 37 NDK_URL=$(find_url $NDK_DOWNLOAD_URL $NDK_DOWNLOAD_KEYWORD windows) 38 ANDROID=cmdline-tools/latest/bin/sdkmanager.exe 39 ;; 40esac 41 42prefix="${INSTALL_PREFIX:-$HOME}" 43dldir="${DOWNLOAD_DIR:-/tmp}" 44 45SDK_PATH=${ANDROID_HOME:-$(find $prefix -maxdepth 1 -name "android-sdk")} 46NDK_PATH=$(find $prefix -maxdepth 1 -name "android-ndk-*") 47 48download_and_extract() { 49 url="$1" 50 name=${url##*/} 51 local_file="$dldir/$name" 52 if [ \! -f "$local_file" ]; then 53 echo " * Downloading $name..." 54 wget -O "$local_file" $1 55 fi 56 57 echo " * Extracting $name..." 58 unzip -qo -d "$prefix" "$local_file" 59} 60 61if [ -z "$SDK_PATH" ]; then 62 mkdir -p "$prefix/android-sdk/cmdline-tools" 63 download_and_extract $SDK_URL 64 mv "$prefix/cmdline-tools" "$prefix/android-sdk/cmdline-tools/latest" 65 # OS X doesn't know about realname, use basename instead. 66 SDK_PATH=$prefix/$(basename $prefix/android-sdk) 67fi 68if [ -z "$NDK_PATH" ]; then 69 download_and_extract $NDK_URL 70 NDK_PATH=$prefix/$(basename $prefix/android-ndk-*) 71fi 72 73if [ ! -d "$SDK_PATH/platforms/android-19" ] || [ ! -d "$SDK_PATH/build-tools/19.1.0" ]; then 74 echo " * Installing Android platforms..." 75 $SDK_PATH/$ANDROID --install "platforms;android-19" "build-tools;19.1.0" 76fi 77 78cat <<EOF 79 * All done! 80 81Please set the following environment variables before running tools/configure: 82export ANDROID_SDK_PATH=$SDK_PATH 83export ANDROID_NDK_PATH=$NDK_PATH 84 85EOF