11let
2- self = import ./. { } ;
2+ self = import ./. { } ;
33 inherit ( self ) sources pkgs meta ;
44
5- cargoDependencySetOfCrate = crate : [ crate ] ++ pkgs . lib . concatMap cargoDependencySetOfCrate ( crate . dependencies ++ crate . buildDependencies ) ;
6- cargoDependencySet = pkgs . lib . unique ( pkgs . lib . flatten ( pkgs . lib . mapAttrsToList ( crateName : crate : cargoDependencySetOfCrate crate . build ) self . cargo . workspaceMembers ) ) ;
7- in pkgs . mkShell rec {
5+ cargoDependencySetOfCrate =
6+ crate :
7+ [ crate ]
8+ ++ pkgs . lib . concatMap cargoDependencySetOfCrate ( crate . dependencies ++ crate . buildDependencies ) ;
9+ cargoDependencySet = pkgs . lib . unique (
10+ pkgs . lib . flatten (
11+ pkgs . lib . mapAttrsToList (
12+ crateName : crate : cargoDependencySetOfCrate crate . build
13+ ) self . cargo . workspaceMembers
14+ )
15+ ) ;
16+ in
17+ pkgs . mkShell rec {
818 name = meta . operator . name ;
919
1020 packages = with pkgs ; [
@@ -16,25 +26,28 @@ in pkgs.mkShell rec {
1626 ## to ensure all the dependencies are caught.
1727 # cacert
1828 # vim nvim nano
29+ crate2nix
1930 ] ;
2031
2132 # derivation runtime dependencies
2233 buildInputs = pkgs . lib . concatMap ( crate : crate . buildInputs ) cargoDependencySet ;
2334
2435 # build time dependencies
25- nativeBuildInputs = pkgs . lib . concatMap ( crate : crate . nativeBuildInputs ) cargoDependencySet ++ ( with pkgs ; [
26- clang
27- git
28- # Replace llvmPackages with llvmPackages_X, where X is the latest LLVM version (at the time of writing, 16)
29- llvmPackages . bintools
30- rustup
31-
32- # additions for this repo
33- yarn
34- typescript
35- vite
36- go
37- ] ) ;
36+ nativeBuildInputs =
37+ pkgs . lib . concatMap ( crate : crate . nativeBuildInputs ) cargoDependencySet
38+ ++ ( with pkgs ; [
39+ clang
40+ git
41+ # Replace llvmPackages with llvmPackages_X, where X is the latest LLVM version (at the time of writing, 16)
42+ llvmPackages . bintools
43+ rustup
44+
45+ # additions for this repo
46+ yarn
47+ typescript
48+ vite
49+ go
50+ ] ) ;
3851
3952 LIBCLANG_PATH = "${ pkgs . libclang . lib } /lib" ;
4053 BINDGEN_EXTRA_CLANG_ARGS = "-I${ pkgs . glibc . dev } /include -I${ pkgs . clang } /resource-root/include" ;
0 commit comments