Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.64 KB

Build.md

File metadata and controls

67 lines (52 loc) · 2.64 KB

Build instructions

Build from Source

  1. Install Golang 1.22.x from here or using preferred package manager
  2. Follow instructions below for the target systems

Install local deps

Update tantivy

Update the tantivy version in go.mod and run:

make download-tantivy-all-force

Mac

As of 16.01.23 last protobuf version (21.12) broke the JS plugin support, so you can use the v3 branch:

brew install protobuf@3

To generate Swift protobuf:

brew install swift-protobuf

Debian/Ubuntu

We need to have protoc binary (3.x version) and libprotoc headers in orderto build the grpc-web plugin

apt install protobuf-compiler libprotoc-dev

Nix

Repository provides flake.nix with devShell which has all the build dependencies (excluding tentivy-go pre-compiled libraries yet).

nix develop .

Tip

It is also convenient to use nix shell with direnv with nix-direnv, which enables devShell when you cd into directory.

With direnv, you can also switch environments per project in your code editor: emacs-direnv

Install custom protoc

make setup-protoc to install grpc-web plugin (see Protogen for additional information)

Build and install for the desktop client

make install-dev-js to build the local server and copy it and protobuf binding into ../anytype-ts

Parameters:

Build for iOS

Instructions to set up environment for iOS: here

  1. make build-ios to build the framework into dist/ios folder

    Parameters:

  2. make protos-swift to generate swift protobuf bindings into dist/ios/pb

Build for Android

Instructions to setup environment for Android: here

  1. make build-android to build the library into dist/android folder

    Parameters:

  2. make protos-java to generate java protobuf bindings into dist/android/pb