Merge branch 'linux-setup-experience' into 'main'

Add a README, minor changes to linux setup script

See merge request veilid/veilid!4
This commit is contained in:
signal9 2022-08-22 19:43:51 +00:00
commit 1817679460
2 changed files with 99 additions and 4 deletions

97
README.md Normal file
View File

@ -0,0 +1,97 @@
# Veilid
## Introduction
## Obtaining the source code
```shell
git clone --recurse-submodules git@gitlab.hackers.town:veilid/veilid.git
```
## Dependencies
### GNU/Linux
Development of Veilid on GNU/Linux requires a Debian variant such as Debian
itself, Ubuntu or Mint. Pull requests to support other distributions would be
welcome!
Development requires the Android SDK and NDK be installed.
You may decide to use Android Studio to maintain your Android dependencies. If
so, use the dependency manager within your IDE. If you do so, you may skip to
[Run Veilid setup script](#Run Veilid setup script).
* build-tools;30.0.3
* ndk;22.0.7026061
* cmake;3.22.1
#### Setup Dependencies using the CLI
Otherwise, you may choose to use Android `sdkmanager`. Follow the installation
instructions for `sdkmanager`
[here](https://developer.android.com/studio/command-line/sdkmanager), then use
the command line to install the requisite package versions:
```shell
sdkmanager --install "build-tools;30.0.3"
sdkmanager --install "ndk;22.0.7026061"
sdkmanager --install "cmake;3.22.1"
```
Export environment variables and add the Android SDK platform-tools directory to
your path.
```shell
cat << EOF >> ~/.profile
export ANDROID_SDK_ROOT=<path to sdk>
export ANDROID_NDK_HOME=<path to ndk>
export PATH=${ANDROID_SDK_ROOT}/platform-tools"
```
#### Run Veilid setup script
Now you may run the Linux setup script to check your development environment and
pull the remaining Rust dependencies:
```shell
./setup_linux.sh
```
### macOS
**TODO**
### Windows
**TODO**
## Veilid Server
In order to run the `veilid-server` locally:
```shell
cd ./veilid-server
cargo run
```
In order to see what options are available:
```shell
cargo run -- --help
```
## Veilid CLI
In order to connect to your local `veilid-server`:
```shell
cd ./veilid-cli
cargo run
```
Similar to `veilid-server`, you may see CLI options by typing:
```shell
cargo run -- --help
```

View File

@ -1,7 +1,7 @@
#!/bin/bash
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
if [ ! "$(grep -qEi 'debian|buntu|mint' /etc/*release 2>/dev/null)" ]; then
if [ "$(lsb_release -d | grep -qEi 'debian|buntu|mint')" ]; then
echo Not a supported Linux
exit 1
fi
@ -62,6 +62,4 @@ rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-andro
cargo install wasm-bindgen-cli
# Ensure packages are installed
sudo apt-get install libc6-dev-i386 libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 openjdk-11-jdk llvm wabt
sudo apt-get install libc6-dev-i386 libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 openjdk-11-jdk llvm wabt capnproto