fork of radicle with Git LFS support, backed by IPFS
Go to file
Fintan Halpenny bed69ddca9
radicle: fix cyphernet flag & update deps
The `cyphernet` package has two feature flags that delegate to
underlying crates. These are:
* ed25519 = cyphergraphy/ed25519
* p2p-ed25519 = cypheraddr/p2p-ed25519

When attempting to install binaries, the compiler will result in an
error:
```
error[E0432]: unresolved import `cyphernet::addr::PeerAddr`
  --> radicle/src/node.rs:26:9
   |
26 | pub use cyphernet::addr::PeerAddr;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ no `PeerAddr` in the root
```

The `PeerAddr` type is only exported when `p2p-ed25519` or
`cypheraddr/p2p-secp256k1` is enabled. The `radicle` crate was using
the `ed25519` flag. Instead, the `p2p-ed25519` flag should be used.

No explanation as to why the previous flag was working could be found,
but is being discussed on Zulip[[0]].

To update the dependencies, a `cargo update` was also excuted to
update the dependencies.

[0]: https://radicle.zulipchat.com/#narrow/stream/369277-heartwood/topic/cyphernet.20dubious.20feature.20flag

Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
2023-07-04 11:10:07 +01:00
.github/workflows ci: Move shell scripts into standalone files 2023-06-20 13:16:57 +02:00
.nix nix: update toolchain 2023-06-07 11:44:44 +02:00
radicle radicle: fix cyphernet flag & update deps 2023-07-04 11:10:07 +01:00
radicle-cli node: Implement `sessions` command 2023-07-04 00:26:31 +02:00
radicle-cli-test cli-test: Add easy file creation syntax 2023-06-22 11:15:42 +02:00
radicle-cob cob: Test deterministic traversal order 2023-05-30 16:31:01 +02:00
radicle-crdt cob: Use new `Immutable` lattice for merges 2023-07-03 12:31:05 +02:00
radicle-crypto cli: Make some UX improvements to `rad auth` 2023-06-20 16:05:35 +02:00
radicle-dag dag: Improve trait bounds 2023-05-30 16:31:01 +02:00
radicle-httpd httpd: Implement `EditCodeComment` in route 2023-07-03 12:31:05 +02:00
radicle-node node: Implement `sessions` command 2023-07-04 00:26:31 +02:00
radicle-remote-helper Update `radicle-surf` 2023-06-22 11:15:42 +02:00
radicle-ssh cli: `rad self` improvements 2023-06-30 14:41:00 +02:00
radicle-term cli: Implement hunk-based code review 2023-06-22 11:15:42 +02:00
radicle-tools Update dependencies 2023-05-10 15:56:21 +02:00
radicle-tui cli: Implement hunk-based code review 2023-06-22 11:15:42 +02:00
scripts scripts: Add `delete-remote-branches` script 2023-05-25 10:07:02 +02:00
systemd Move unit files to `systemd` directory 2023-06-22 12:13:30 +02:00
.dockerignore Dockerize services 2022-12-14 17:15:40 +01:00
.env.seed seed: Update default tracking policy for seed 2023-04-17 21:16:56 +02:00
.gitignore cli: Fix ahead/behind and diff behavior 2023-06-13 13:16:00 +02:00
.gitsigners Add `.gitsigners` file with core team 2023-04-05 11:46:57 +02:00
ARCHITECTURE.md Flesh out `HACKING.md` 2023-03-16 13:06:38 +01:00
CONTRIBUTING.md docs: Update contributor guide 2023-04-28 10:59:31 +02:00
Cargo.lock radicle: fix cyphernet flag & update deps 2023-07-04 11:10:07 +01:00
Cargo.toml tui: Add basic framework 2023-03-20 16:27:42 +01:00
DCO Add licenses and contributor information 2022-11-16 12:26:12 +01:00
HACKING.md node: Rename control socket 2023-03-31 17:29:58 +02:00
LICENSE-APACHE Add licenses and contributor information 2022-11-16 12:26:12 +01:00
LICENSE-MIT Add licenses and contributor information 2022-11-16 12:26:12 +01:00
README.md Move unit files to `systemd` directory 2023-06-22 12:13:30 +02:00
build.rs Rust 1.67 2023-02-04 19:30:29 +01:00
docker-compose.yml ci: Preserve generated TLS certs between restarts 2023-05-12 12:40:05 +02:00
rust-toolchain Update to Rust 1.70 2023-06-02 14:40:44 +02:00

README.md

❤️🪵

Radicle Heartwood Protocol & Stack

Heartwood is the third iteration of the Radicle Protocol, a powerful peer-to-peer code collaboration and publishing stack. The repository contains a full implemention of Heartwood, complete with a user-friendly command-line interface (rad) and network daemon (radicle-node).

Radicle was designed to be a secure, decentralized and powerful alternative to code forges such as GitHub and GitLab that preserves user sovereignty and freedom.

Installation

Requirements

  • Linux or Unix based operating system.
  • Git 2.34 or later
  • OpenSSH 9.1 or later with ssh-agent

📀 From binaries

Requires curl and tar.

Run the following command to install the latest binary release:

sh <(curl -sSf https://radicle.xyz/install)

📦 From source

Requires the Rust toolchain.

You can install the Radicle stack from source, by running the following commands from inside this repository:

cargo install --path radicle-cli --force --locked
cargo install --path radicle-node --force --locked
cargo install --path radicle-remote-helper --force --locked

Or directly from our seed node:

cargo install --force --locked --git https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git \
    radicle-cli radicle-node radicle-remote-helper

Running

Systemd unit files are provided for the node and HTTP daemon under the /systemd folder. They can be used as a starting point for further customization.

Additionally, a Dockerfile is included under both crates.

For running in debug mode, see HACKING.md.

Contributing

See CONTRIBUTING.md and HACKING.md for an introduction to contributing to Radicle.

License

Radicle is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.