A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
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