From 47d16a57aca02907e9e9a39c86d359ccf200181c Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Mon, 29 Mar 2021 09:16:42 +0200 Subject: [PATCH] Add simplified installation script Add a script to download the server and build scrcpy using the prebuilt server. --- BUILD.md | 31 +++++++++++++++++++++++++++++++ README.md | 12 ++++++------ install_release.sh | 21 +++++++++++++++++++++ 3 files changed, 58 insertions(+), 6 deletions(-) create mode 100755 install_release.sh diff --git a/BUILD.md b/BUILD.md index 98837e69..f81ca495 100644 --- a/BUILD.md +++ b/BUILD.md @@ -3,6 +3,37 @@ Here are the instructions to build _scrcpy_ (client and server). +## Simple + +If you just want to install the latest release from `master`, follow this +simplified process. + +First, you need to install the required packages: + +```bash +# for Debian/Ubuntu +sudo apt install ffmpeg libsdl2-2.0-0 adb wget \ + gcc git pkg-config meson ninja-build \ + libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev +``` + +Then clone the repo and execute the installation script +([source](install_release.sh)): + +```bash +git clone https://github.com/Genymobile/scrcpy +cd scrcpy +./install_release.sh +``` + +When a new release is out, update the repo and reinstall: + +```bash +git pull +./install_release.sh +``` + + ## Branches ### `master` diff --git a/README.md b/README.md index a62d2295..0b0dc8a6 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,10 @@ control it using keyboard and mouse. - Windows: [download][direct-win64] - macOS: `brew install scrcpy` -Build from sources: [BUILD] +Build from sources: [BUILD] ([simplified process][BUILD_simple]) + +[BUILD]: BUILD.md +[BUILD_simple]: BUILD.md#simple ### Linux @@ -76,9 +79,8 @@ For Gentoo, an [Ebuild] is available: [`scrcpy/`][ebuild-link]. [Ebuild]: https://wiki.gentoo.org/wiki/Ebuild [ebuild-link]: https://github.com/maggu2810/maggu2810-overlay/tree/master/app-mobilephone/scrcpy -You could also [build the app manually][BUILD] (don't worry, it's not that -hard). - +You could also [build the app manually][BUILD] ([simplified +process][BUILD_simple]). ### Windows @@ -763,8 +765,6 @@ A colleague challenged me to find a name as unpronounceable as [gnirehtet]. See [BUILD]. -[BUILD]: BUILD.md - ## Common issues diff --git a/install_release.sh b/install_release.sh new file mode 100755 index 00000000..5179c447 --- /dev/null +++ b/install_release.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -e + +BUILDDIR=build-auto +PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/v1.17/scrcpy-server-v1.17 +PREBUILT_SERVER_SHA256=11b5ad2d1bc9b9730fb7254a78efd71a8ff46b1938ff468e47a21b653a1b6725 + +echo "[scrcpy] Downloading prebuilt server..." +wget "$PREBUILT_SERVER_URL" -O scrcpy-server +echo "[scrcpy] Verifying prebuilt server..." +echo "$PREBUILT_SERVER_SHA256 scrcpy-server" | sha256sum --check + +echo "[scrcpy] Building client..." +rm -rf "$BUILDDIR" +meson "$BUILDDIR" --buildtype release --strip -Db_lto=true \ + -Dprebuilt_server=scrcpy-server +cd "$BUILDDIR" +ninja + +echo "[scrcpy] Installing (sudo)..." +sudo ninja install