Go to file
2022-08-23 10:37:41 -04:00
.cargo make android unit tests and earthly build work 2022-01-11 21:48:37 -05:00
.vscode fix cooperative cancellation 2022-06-15 14:05:04 -04:00
external igd 2022-08-22 13:27:26 -04:00
files Add Test CA and simple certs for testing 2021-11-22 09:02:41 -05:00
package receipt rework and discovery rework 2022-05-28 10:07:57 -04:00
scripts update 2022-06-11 18:47:58 -04:00
veilid-cli move tasks to network manager 2022-07-22 13:05:28 -04:00
veilid-core fix android unit tests and add better macos instructions 2022-08-23 10:37:41 -04:00
veilid-flutter detection work 2022-08-07 14:55:48 -04:00
veilid-server igd 2022-08-22 13:27:26 -04:00
veilid-wasm detection work 2022-08-07 14:55:48 -04:00
.earthlyignore add eartly build 2022-01-09 15:17:36 -05:00
.gitignore lints 2021-11-27 21:38:24 -05:00
.gitlab-ci.yml don't bother with clippy after merge to main 2021-12-08 07:33:22 -05:00
.gitmodules igd 2022-08-22 13:27:26 -04:00
Cargo.lock android fixes 2022-08-22 19:25:00 -04:00
Cargo.toml eyre work 2022-07-06 23:15:51 -04:00
Earthfile igd 2022-08-22 13:27:26 -04:00
README.md fix android unit tests and add better macos instructions 2022-08-23 10:37:41 -04:00
setup_linux.sh fix android unit tests and add better macos instructions 2022-08-23 10:37:41 -04:00
setup_macos.sh fix android unit tests and add better macos instructions 2022-08-23 10:37:41 -04:00

Veilid

Introduction

Obtaining the source code

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!

Running the setup script requires:

  • Android SDK and NDK
  • Rust

You may decide to use Android Studio here 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, then use the command line to install the requisite package versions:

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.

cat << EOF >> ~/.profile 
export ANDROID_SDK_ROOT=<path to sdk>
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/22.0.7026061
export PATH=\$PATH:$ANDROID_SDK_ROOT/platform-tools
EOF

Run Veilid setup script

Now you may run the Linux setup script to check your development environment and pull the remaining Rust dependencies:

./setup_linux.sh

macOS

Development of Veilid on MacOS is possible on both Intel and ARM hardware.

Development requires:

  • Xcode, preferably latest version
  • Homebrew here
  • Android SDK and NDK
  • Java 8
  • Rust

You may decide to use Android Studio here 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 Java

brew install openjdk@8

and then symlink it as appropriate for your system:

Intel:

sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk

ARM:

sudo ln -sfn /opt/homebrew/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk

Setup Dependencies using the CLI

Otherwise, you may choose to use Android sdkmanager. Use the command line to install the requisite package versions: brew install android-commandlinetools

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.

cat << EOF >> ~/.zshenv
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
export ANDROID_NDK_HOME=$HOME/Library/Android/sdk/ndk/22.0.7026061
export PATH=\$PATH:$HOME/Library/Android/sdk/platform-tools
EOF

Run Veilid setup script

Now you may run the MacOS setup script to check your development environment and pull the remaining Rust dependencies:

./setup_macos.sh

Windows

TODO

Veilid Server

In order to run the veilid-server locally:

cd ./veilid-server
cargo run

In order to see what options are available:

cargo run -- --help

Veilid CLI

In order to connect to your local veilid-server:

cd ./veilid-cli
cargo run

Similar to veilid-server, you may see CLI options by typing:

cargo run -- --help