forked from gear-tech/gear
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshell.nix
More file actions
57 lines (47 loc) · 1.14 KB
/
shell.nix
File metadata and controls
57 lines (47 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{
pins ? import ./npins,
pkgs ? import pins.nixpkgs { },
lib ? pkgs.lib,
# FIXME: `rustfilt` was removed in recent Nixpkgs due to
# lack of maintenance, so we need an old one.
oldPkgs ? import pins.nixpkgs-old { },
}:
pkgs.mkShell.override { stdenv = pkgs.llvmPackages.stdenv; } {
# FIXME: needed to build `jemalloc`
CFLAGS = "-Wno-int-conversion";
LIBCLANG_PATH = lib.makeLibraryPath [ pkgs.llvmPackages.libclang ];
packages = [
# Nix inputs manager
pkgs.npins
# Rust toolchain installer.
#
# FIXME: It's currently impossible to manage project's Rust
# toolchains with Nix due to hard lock on `rustup`.
pkgs.rustup
# Command runner
pkgs.just
# Maintenance tools and script dependencies
pkgs.cargo-hakari
pkgs.cargo-shear
pkgs.jq
pkgs.typos
# Build tools
pkgs.binaryen
pkgs.cmake
pkgs.foundry
pkgs.nodejs
pkgs.perl
pkgs.pkg-config
pkgs.protobuf
# Testing tools
pkgs.cargo-hack
pkgs.cargo-nextest
# Fuzzing tools
pkgs.cargo-binutils
pkgs.cargo-fuzz
oldPkgs.rustfilt
];
buildInputs = [
pkgs.openssl
];
}