diff --git a/README.md b/README.md index ba61a0fd..e1356070 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ Mozilla Sync Storage built with [Rust](https://rust-lang.org). - MySQL 5.7 (or compatible) -\* libmysqlclient (`brew install mysql` on macOS, `apt-get install libmysqlclient-dev` on Ubuntu) - [Go](https://golang.org/doc/install) +- Cmake +- Pkg-config +- Openssl Depending on your OS, you may also need to install `libgrpcdev`, and `protobuf-compiler-grpc`. diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000..219e655a --- /dev/null +++ b/shell.nix @@ -0,0 +1,20 @@ +# Nix is a powerful package manager for Linux and other Unix systems that makes +# package management reliable and reproducible: https://nixos.org/nix/. +# This file is intended to be used with `nix-shell` +# (https://nixos.org/nix/manual/#sec-nix-shell) to setup a fully-functional +# syncstorage-rs build environment by installing all required dependencies. +with import {}; +stdenv.mkDerivation { + name = "syncstorage-rs"; + buildInputs = [ + rustc + cargo + libmysqlclient + pkgconfig + openssl + cmake + protobuf + go + ]; + NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql"; +}