Skip to content

Commit

Permalink
Make instructions more concise
Browse files Browse the repository at this point in the history
This change removes the `Install and Build Aranya` section in favor of
organizing these steps with the integration details.
  • Loading branch information
shannynat committed Feb 3, 2025
1 parent 54a5a5b commit fd9bd17
Showing 1 changed file with 27 additions and 50 deletions.
77 changes: 27 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,22 @@ most recent version of the following tools:
- [patchelf](https://github.com/NixOS/patchelf)
- [cargo-make](https://github.com/sagiegurari/cargo-make?tab=readme-ov-file#installation)

### Install and Build Aranya
### Integrate Aranya

Aranya may be integrated into your application using one of the following:

#### Rust
1. [Rust library](#rust-lib)
2. [C API](#c-api)

Regardless of the version of the Aranya library being integrated, you will need
the [Aranya Daemon](crates/aranya-daemon/) executable. A prebuilt version is
available for supported platforms in the Aranya
[release](https://github.com/aranya-project/aranya/releases). Otherwise,
build the daemon locally.

#### <a href name="rust-lib"></a>Rust Library

First, install the Aranya client.

##### From this repository:

Expand All @@ -105,7 +118,8 @@ Once the source-code is downloaded, navigate to the Aranya project workspace and

`cargo build --release`

This will build the Aranya client.
This will build the Aranya [client](crates/aranya-client/) and the
[daemon](crates/aranya-daemon/) executable.

##### From crates.io:

Expand All @@ -120,59 +134,19 @@ Or, add it to your project's `Cargo.toml`:
aranya-client = { git = "[email protected]:aranya-project/aranya.git" }
```

#### C

Pre-built versions of the library are uploaded (along with the [header file](https://github.com/aranya-project/aranya/blob/main/crates/aranya-client-capi/output/aranya-client.h)) to each Aranya [release](https://github.com/aranya-project/aranya/releases).

#### Additional build options

This repository uses `cargo-make` to automate different tasks, including
building the code, documentation and examples. Once the repository is
downloaded and Rust is installed on your device, run the following to install
`cargo-make`:

`$ cargo install cargo-make`

Then, navigate to this directory and run the following to build Aranya:

`$ cargo make build-code`

Or, build the C API, example and its associated documentation:

`$ cargo make build-capi`

Run `$ cargo make` to see a list of all available tasks.

### Integrate Aranya

Aranya may be integrated using one of the following:

1. [Rust library](#rust-lib)
2. [C API](#c-api)

Regardless of the version of the Aranya library being integrated, you will need
the [Aranya Daemon](crates/aranya-daemon/) executable. A prebuilt version is
available for supported platforms in the Aranya
[release](https://github.com/aranya-project/aranya/releases). Otherwise,
build the daemon locally.

#### <a href name="rust-lib"></a>Rust Library

Using the installation instructions above, get the code through this repository
or crates.io and add it to your project.

Integrate the [client](crates/aranya-client) library into your application. The
Integrate the client library into your application. The
[client's README](crates/aranya-client/README.md) has more information on using
the Rust client.

#### <a href name="c-api"></a>C API

Use the [`aranya-client-capi` C API](crates/aranya-client-capi/) or download
a prebuilt version (along with the [header file](https://github.com/aranya-project/aranya/blob/main/crates/aranya-client-capi/output/aranya-client.h)) for your target platform from the
Aranya [release](https://github.com/aranya-project/aranya/releases/) to
integrate into your application using `cmake`.
Pre-built versions of the library are uploaded (along with the [header file](https://github.com/aranya-project/aranya/blob/main/crates/aranya-client-capi/output/aranya-client.h)) to each Aranya [release](https://github.com/aranya-project/aranya/releases).

A [CMakeLists.txt](https://github.com/aranya-project/aranya/blob/main/examples/c/CMakeLists.txt)
Otherwise, build the [`aranya-client-capi` C API](crates/aranya-client-capi/)
for your target platform.

Aranya can then be integrated using `cmake`. A
[CMakeLists.txt](https://github.com/aranya-project/aranya/blob/main/examples/c/CMakeLists.txt)
is provided to make it easier to build the library into an application.

### Run Aranya
Expand Down Expand Up @@ -235,6 +209,9 @@ Step 7. Call the Fast Channels API from `Member A`'s daemon to send a message.
Optionally, call the Fast Channels API from `Member B`'s daemon to send a
message back.
For more details on how Aranya starts and the steps performed in the examples,
see the [walkthrough](https://aranya-project.github.io/aranya-docs/walkthrough/).
## Maintainers
This repository is maintained by software engineers employed at [SpiderOak](https://spideroak.com/)

0 comments on commit fd9bd17

Please sign in to comment.