summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorUlrik Strid <ulrik.strid@outlook.com>2021-09-21 08:47:59 +0000
committerVincent Laporte <vbgl@users.noreply.github.com>2021-10-13 10:04:20 +0200
commit2db064d02899a3bb18180f2fe0db1b1b6ce9b687 (patch)
tree4be4a7130544381e6b68295c8a865f9611aa24d7 /pkgs
parent7054010222820e96d6923fece737972ef383b6e2 (diff)
downloadnixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar.gz
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar.bz2
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar.lz
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar.xz
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.tar.zst
nixpkgs-2db064d02899a3bb18180f2fe0db1b1b6ce9b687.zip
ocamlPackages.tezos-*: 8.3 -> 10.2
ocamlPackages.lwt-canceler: 0.2 -> 0.3
ocamlPackages.json-data-encoding: 0.8 -> 0.10
ocamlPackages.data-encoding: 0.2.0 -> 0.4.0
ocamlPackages.ff-sig, ff-pbt: init at 0.6.1
ocamlPacakges.bls12-381: 0.3.15 -> 0.4.2

Co-authored-by: Vincent Laporte <vbgl@users.noreply.github.com>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/gen.nix30
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/unix.nix48
-rw-r--r--pkgs/development/ocaml-modules/data-encoding/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ff/pbt.nix21
-rw-r--r--pkgs/development/ocaml-modules/ff/sig.nix27
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/bson.nix3
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/lwt-canceler/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix39
-rw-r--r--pkgs/development/ocaml-modules/tezos/base.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/clic.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix38
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-base.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/context.nix34
-rw-r--r--pkgs/development/ocaml-modules/tezos/crypto.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/error-monad.nix7
-rw-r--r--pkgs/development/ocaml-modules/tezos/event-logging.nix16
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue.nix17
-rw-r--r--pkgs/development/ocaml-modules/tezos/legacy-store.nix40
-rw-r--r--pkgs/development/ocaml-modules/tezos/lmdb.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix13
-rw-r--r--pkgs/development/ocaml-modules/tezos/micheline.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-proxy.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-registration.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p-services.nix3
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p.nix9
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix19
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-compiler.nix9
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix22
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment.nix12
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-updater.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/proxy.nix36
-rw-r--r--pkgs/development/ocaml-modules/tezos/requester.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/sapling.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-context.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-services.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell.nix45
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-backends.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-services.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib-unix.nix17
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/store.nix48
-rw-r--r--pkgs/development/ocaml-modules/tezos/test-helpers.nix33
-rw-r--r--pkgs/development/ocaml-modules/tezos/test-services.nix6
-rw-r--r--pkgs/development/ocaml-modules/tezos/validation.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/version.nix5
-rw-r--r--pkgs/development/ocaml-modules/tezos/workers.nix5
-rw-r--r--pkgs/top-level/ocaml-packages.nix32
62 files changed, 1081 insertions, 166 deletions
diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix
index 08bb426d8ab..e7426cf10e9 100644
--- a/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,34 +1,22 @@
-{ lib, fetchFromGitLab, buildDunePackage, ff, zarith, ctypes, tezos-rust-libs, alcotest }:
+{ lib, buildDunePackage, bls12-381-gen, ff-sig, zarith, ctypes, alcotest }:
 
 buildDunePackage rec {
   pname = "bls12-381";
-  version = "0.3.15";
 
-  src = fetchFromGitLab {
-    owner = "dannywillems";
-    repo = "ocaml-bls12-381";
-    rev = version;
-    sha256 = "1s8n657fsl2gs01p7v2ffpcfzymavifhhpriyx1gq5qh4zvvw4vr";
-  };
-  useDune2 = true;
+  inherit (bls12-381-gen) version src useDune2 doCheck;
 
   minimalOCamlVersion = "4.08";
   propagatedBuildInputs = [
-    ff
+    ff-sig
     zarith
     ctypes
-    tezos-rust-libs
+    bls12-381-gen
   ];
 
   checkInputs = [
     alcotest
   ];
 
-  # This is a hack to work around the hack used in the dune files
-  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
-
-  doCheck = true;
-
   meta = {
     homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
     description = "OCaml binding for bls12-381 from librustzcash";
diff --git a/pkgs/development/ocaml-modules/bls12-381/gen.nix b/pkgs/development/ocaml-modules/bls12-381/gen.nix
new file mode 100644
index 00000000000..d7daba263c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bls12-381/gen.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitLab, buildDunePackage, ff-sig, zarith }:
+
+buildDunePackage rec {
+  pname = "bls12-381-gen";
+  version = "0.4.2";
+
+  src = fetchFromGitLab {
+      owner = "dannywillems";
+      repo = "ocaml-bls12-381";
+      rev = version;
+      sha256 = "0jxc8qrdn74brmzjns1xycv3cb257kx5pa3ripgl9ci4njkv87n2";
+  };
+  useDune2 = true;
+
+  minimalOCamlVersion = "4.08";
+
+  propagatedBuildInputs = [
+    ff-sig
+    zarith
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
+    description = "Functors to generate BLS12-381 primitives based on stubs";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bls12-381/unix.nix b/pkgs/development/ocaml-modules/bls12-381/unix.nix
new file mode 100644
index 00000000000..4da1a489e2c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bls12-381/unix.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildDunePackage
+, rustc
+, cargo
+, dune-configurator
+, bls12-381
+, bls12-381-gen
+, ff-pbt
+, ff-sig
+, zarith
+, ctypes
+, tezos-rust-libs
+, alcotest
+}:
+
+buildDunePackage {
+  pname = "bls12-381-unix";
+
+  inherit (bls12-381-gen) version src useDune2 doCheck;
+
+  checkInputs = [
+    alcotest
+    ff-pbt
+  ];
+
+  buildInputs = [
+    rustc
+    cargo
+    dune-configurator
+  ];
+
+  propagatedBuildInputs = [
+    ff-sig
+    zarith
+    ctypes
+    bls12-381-gen
+    bls12-381
+    tezos-rust-libs
+  ];
+
+  # This is a hack to work around the hack used in the dune files
+  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
+
+  meta = {
+    description = "UNIX version of BLS12-381 primitives implementing the virtual package bls12-381";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix
index 2e4e0518a52..f7036d38d38 100644
--- a/pkgs/development/ocaml-modules/data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/data-encoding/default.nix
@@ -12,13 +12,13 @@
 
 buildDunePackage {
   pname = "data-encoding";
-  version = "0.2.0";
+  version = "0.4.0";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "data-encoding";
-    rev = "0.2";
-    sha256 = "0d9c2ix2imqk4r0jfhnwak9laarlbsq9kmswvbnjzdm2g0hwin1d";
+    rev = "v0.4";
+    sha256 = "1f88l9azpfk730hps5v6zlg4yyyyhj1gl27qy3cbbkzjc82d2rhx";
   };
   useDune2 = true;
 
diff --git a/pkgs/development/ocaml-modules/ff/pbt.nix b/pkgs/development/ocaml-modules/ff/pbt.nix
new file mode 100644
index 00000000000..e0363160dd7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ff/pbt.nix
@@ -0,0 +1,21 @@
+{ lib, fetchFromGitLab, buildDunePackage, zarith, ff-sig, alcotest }:
+
+buildDunePackage {
+  pname = "ff-pbt";
+  inherit (ff-sig) version src doCheck useDune2;
+
+  minimalOCamlVersion = "4.08";
+
+  checkInputs = [
+    alcotest
+  ];
+
+  propagatedBuildInputs = [
+    zarith
+    ff-sig
+  ];
+
+  meta = ff-sig.meta // {
+    description = "Property based testing library for finite fields over the package ff-sig";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ff/sig.nix b/pkgs/development/ocaml-modules/ff/sig.nix
new file mode 100644
index 00000000000..a2c7ca0d0c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ff/sig.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitLab, buildDunePackage, zarith }:
+
+buildDunePackage rec {
+  pname = "ff-sig";
+  version = "0.6.1";
+  src = fetchFromGitLab {
+    owner = "dannywillems";
+    repo = "ocaml-ff";
+    rev = version;
+    sha256 = "0p42ivyfbn1pwm18773y4ga9cm64ysha0rplzvrnhszg01anarc0";
+  };
+
+  useDune2 = true;
+
+  propagatedBuildInputs = [
+    zarith
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://gitlab.com/dannywillems/ocaml-ff";
+    description = "Minimal finite field signatures";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
index 5048a8fd06a..d131acf4b48 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, json-data-encoding, ocplib-endian, crowbar }:
+{ lib, buildDunePackage, json-data-encoding, ocplib-endian, crowbar, alcotest }:
 
 buildDunePackage {
   pname = "json-data-encoding-bson";
@@ -12,6 +12,7 @@ buildDunePackage {
 
   checkInputs = [
     crowbar
+    alcotest
   ];
 
   meta = json-data-encoding.meta // {
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/default.nix b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
index 6dfea612b10..69fbdb6ed1c 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitLab, buildDunePackage, uri, crowbar }:
+{ lib, fetchFromGitLab, buildDunePackage, uri, crowbar, alcotest }:
 
 buildDunePackage rec {
   pname = "json-data-encoding";
-  version = "0.8";
-
+  version = "0.10";
+  minimalOCamlVersion = "4.10";
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "json-data-encoding";
-    rev = "v${version}";
-    sha256 = "1c6m2qvi9bm6qjxc38p6cia1f66r0rb9xf6b8svlj3jjymvqw889";
+    rev = "${version}";
+    sha256 = "0m0xx382wr44wz7gxf7mpfjx2w287pvqhg2lfvzmclfq3y5iy6mx";
   };
   useDune2 = true;
 
@@ -18,6 +18,7 @@ buildDunePackage rec {
 
   checkInputs = [
     crowbar
+    alcotest
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/lwt-canceler/default.nix b/pkgs/development/ocaml-modules/lwt-canceler/default.nix
index 2e4d12082b7..97b27157265 100644
--- a/pkgs/development/ocaml-modules/lwt-canceler/default.nix
+++ b/pkgs/development/ocaml-modules/lwt-canceler/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "lwt-canceler";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "lwt-canceler";
     rev = "v${version}";
-    sha256 = "07931486vg83sl1c268i0vyw61l8n8xs2krjsj43070zljqi8rf1";
+    sha256 = "1xbb7012hp901b755kxmfgg293rz34rkhwzg2z9i6sakwd7i0h9p";
   };
   useDune2 = true;
 
diff --git a/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
new file mode 100644
index 00000000000..fe2664333e3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-stdlib-unix
+, tezos-base
+, tezos-shell-services
+, tezos-protocol-environment
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-010-PtGRANAD-parameters
+, tezos-client-010-PtGRANAD
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-010-PtGRANAD-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol/test/helpers";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-stdlib-unix
+    tezos-shell-services
+    tezos-protocol-environment
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-010-PtGRANAD-parameters
+    tezos-client-010-PtGRANAD
+    alcotest-lwt
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol testing framework";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/base.nix b/pkgs/development/ocaml-modules/tezos/base.nix
index 2f5d7658131..544daa297ac 100644
--- a/pkgs/development/ocaml-modules/tezos/base.nix
+++ b/pkgs/development/ocaml-modules/tezos/base.nix
@@ -2,31 +2,35 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-crypto
+, tezos-hacl-glue-unix
 , tezos-micheline
+, tezos-test-helpers
 , ptime
-, ezjsonm
 , ipaddr
-, qcheck-alcotest
-, crowbar
+, bls12-381-unix
 }:
 
 buildDunePackage {
   pname = "tezos-base";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_base";
 
   propagatedBuildInputs = [
     tezos-crypto
     tezos-micheline
+    tezos-hacl-glue-unix
+    bls12-381-unix
     ptime
-    ezjsonm
     ipaddr
   ];
 
   checkInputs = [
-    qcheck-alcotest
-    crowbar
+    # tezos-test-helpers
   ];
 
+  # circular dependency if we add this
+  doCheck = false;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: meta-package and pervasive type definitions for Tezos";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/clic.nix b/pkgs/development/ocaml-modules/tezos/clic.nix
index d69174e5f29..863ecb8df45 100644
--- a/pkgs/development/ocaml-modules/tezos/clic.nix
+++ b/pkgs/development/ocaml-modules/tezos/clic.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-clic";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_clic";
 
   propagatedBuildInputs = [
     tezos-stdlib-unix
@@ -19,6 +20,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library of auto-documented command-line-parsing combinators";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
new file mode 100644
index 00000000000..55a98454508
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-mockup-registration
+, tezos-proxy
+, tezos-signer-backends
+, tezos-protocol-010-PtGRANAD-parameters
+, tezos-protocol-plugin-010-PtGRANAD
+, alcotest-lwt
+, ppx_inline_test
+, cacert
+}:
+
+buildDunePackage {
+  pname = "tezos-client-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_client";
+
+  propagatedBuildInputs = [
+    tezos-mockup-registration
+    tezos-proxy
+    tezos-signer-backends
+    tezos-protocol-010-PtGRANAD-parameters
+    tezos-protocol-plugin-010-PtGRANAD
+    ppx_inline_test
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    cacert
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol specific library for `tezos-client`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/client-base.nix b/pkgs/development/ocaml-modules/tezos/client-base.nix
new file mode 100644
index 00000000000..f2503481720
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/client-base.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-shell-services
+, tezos-sapling
+, alcotest
+}:
+
+buildDunePackage {
+  pname = "tezos-client-base";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_client_base";
+
+  propagatedBuildInputs = [
+    tezos-shell-services
+    tezos-sapling
+  ];
+
+  checkInputs = [
+    alcotest
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/context.nix b/pkgs/development/ocaml-modules/tezos/context.nix
new file mode 100644
index 00000000000..e118c3e1ebe
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/context.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, tezos-shell-services
+, irmin
+, irmin-pack
+, digestif
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-context";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_context";
+
+  propagatedBuildInputs = [
+    tezos-base
+    tezos-shell-services
+    irmin
+    irmin-pack
+    digestif
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/crypto.nix b/pkgs/development/ocaml-modules/tezos/crypto.nix
index 9c5bd45f94f..532e8fc12b2 100644
--- a/pkgs/development/ocaml-modules/tezos/crypto.nix
+++ b/pkgs/development/ocaml-modules/tezos/crypto.nix
@@ -1,37 +1,41 @@
 { lib
 , buildDunePackage
 , tezos-stdlib
-, tezos-clic
 , tezos-rpc
-, bls12-381
-, hacl-star
+, tezos-clic
+, tezos-hacl-glue
+, tezos-hacl-glue-unix
 , secp256k1-internal
-, uecc
 , ringo
-, ff
-, alcotest
+, bls12-381
+, bls12-381-unix
+, tezos-test-helpers
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-crypto";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_crypto";
 
   propagatedBuildInputs = [
-    tezos-clic
     tezos-rpc
-    bls12-381
-    hacl-star
+    tezos-clic
+    tezos-hacl-glue
+    tezos-hacl-glue-unix
     secp256k1-internal
-    uecc
     ringo
+    bls12-381
+    bls12-381-unix
   ];
 
   checkInputs = [
-    alcotest
+    tezos-test-helpers
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library with all the cryptographic primitives used by Tezos";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
new file mode 100644
index 00000000000..f0f9c2be770
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-updater
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-embedded-protocol-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
+
+  preBuild = tezos-protocol-010-PtGRANAD.preBuild;
+
+  propagatedBuildInputs = [
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-updater
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition, embedded in `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/error-monad.nix b/pkgs/development/ocaml-modules/tezos/error-monad.nix
index 70cdff0c0ac..cbebf1e51c6 100644
--- a/pkgs/development/ocaml-modules/tezos/error-monad.nix
+++ b/pkgs/development/ocaml-modules/tezos/error-monad.nix
@@ -4,19 +4,22 @@
 , data-encoding
 , lwt
 , lwt-canceler
+, tezos-lwt-result-stdlib
 , alcotest
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-error-monad";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_error_monad";
 
   propagatedBuildInputs = [
     tezos-stdlib
     data-encoding
     lwt
     lwt-canceler
+    tezos-lwt-result-stdlib
   ];
 
   checkInputs = [
@@ -24,6 +27,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: error monad";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/event-logging.nix b/pkgs/development/ocaml-modules/tezos/event-logging.nix
index 30d6c12087e..75b4a5d0643 100644
--- a/pkgs/development/ocaml-modules/tezos/event-logging.nix
+++ b/pkgs/development/ocaml-modules/tezos/event-logging.nix
@@ -1,21 +1,27 @@
 { lib
 , buildDunePackage
 , tezos-stdlib
-, tezos-lwt-result-stdlib
+, tezos-error-monad
+, data-encoding
 , lwt_log
-, alcotest
-, alcotest-lwt
+, lwt
 }:
 
 buildDunePackage {
   pname = "tezos-event-logging";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_event_logging";
 
   propagatedBuildInputs = [
-    tezos-lwt-result-stdlib
+    tezos-stdlib
+    tezos-error-monad
+    data-encoding
     lwt_log
+    lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: event logging library";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
new file mode 100644
index 00000000000..5c8afad0f2a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-hacl-glue
+, ctypes
+, hacl-star
+}:
+
+buildDunePackage {
+  pname = "tezos-hacl-glue-unix";
+
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/unix";
+
+  propagatedBuildInputs = [
+    ctypes
+    hacl-star
+    tezos-hacl-glue
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: thin layer of glue around hacl-star (unix implementation)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
new file mode 100644
index 00000000000..409d04bb266
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
@@ -0,0 +1,17 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+}:
+
+buildDunePackage {
+  pname = "tezos-hacl-glue";
+
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/virtual";
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: thin layer of glue around hacl-star (virtual package)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/legacy-store.nix b/pkgs/development/ocaml-modules/tezos/legacy-store.nix
new file mode 100644
index 00000000000..6029401e361
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/legacy-store.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-context
+, tezos-lmdb
+, tezos-validation
+, tezos-shell-services
+, tezos-protocol-compiler
+, lwt-watcher
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-legacy-store";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_store/legacy_store";
+
+  propagatedBuildInputs = [
+    tezos-context
+    tezos-lmdb
+    tezos-validation
+    tezos-shell-services
+    lwt-watcher
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/lmdb.nix b/pkgs/development/ocaml-modules/tezos/lmdb.nix
index 960b2532c37..6eaed942317 100644
--- a/pkgs/development/ocaml-modules/tezos/lmdb.nix
+++ b/pkgs/development/ocaml-modules/tezos/lmdb.nix
@@ -8,24 +8,22 @@
 , alcotest
 }:
 
-buildDunePackage rec {
-  pname = "tezos-lmdb";
+let
   version = "7.4";
   src = fetchFromGitLab {
     owner = "tezos";
     repo = "tezos";
     rev = "v${version}";
-    sha256 = "18q02j74aa8mxv233kvyb62xbhjngzpgppp6kgr4m53d7a78wgsm";
+    sha256 = "0sghc60xzr02pmmkr626pnhzrnczf7mki7qyxzzfn7rbbdbrf4wp";
   };
+in
 
-  useDune2 = true;
+buildDunePackage {
+  pname = "tezos-lmdb";
+  version = version;
+  src = "${src}/vendors/ocaml-lmdb";
 
-  preBuild = ''
-    rm dune
-    rm -rf src
-    rm -rf docs
-    ls vendors | grep -v ocaml-lmdb |xargs rm -rf
-  '';
+  useDune2 = true;
 
   buildInputs = [
     pkg-config
diff --git a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix b/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
index fe32b7aba74..89c15b0f634 100644
--- a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
+++ b/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
@@ -2,10 +2,10 @@
 , buildDunePackage
 , ocaml
 , tezos-stdlib
-, tezos-error-monad
+, lwt
 , alcotest
 , alcotest-lwt
-, crowbar
+, tezos-test-helpers
 }:
 
 if lib.versionAtLeast ocaml.version "4.12" then
@@ -14,18 +14,21 @@ else
 
 buildDunePackage {
   pname = "tezos-lwt-result-stdlib";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_lwt_result_stdlib";
 
   propagatedBuildInputs = [
-    tezos-error-monad
+    lwt
   ];
 
   checkInputs = [
     alcotest
     alcotest-lwt
-    crowbar
+    tezos-test-helpers
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: error-aware stdlib replacement";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/micheline.nix b/pkgs/development/ocaml-modules/tezos/micheline.nix
index a729cdef155..c28e8f89745 100644
--- a/pkgs/development/ocaml-modules/tezos/micheline.nix
+++ b/pkgs/development/ocaml-modules/tezos/micheline.nix
@@ -10,11 +10,13 @@
 
 buildDunePackage {
   pname = "tezos-micheline";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_micheline";
 
   propagatedBuildInputs = [
     tezos-error-monad
     uutf
+    ppx_inline_test
   ];
 
   checkInputs = [
@@ -22,6 +24,8 @@ buildDunePackage {
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: internal AST and parser for the Michelson language";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix b/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
new file mode 100644
index 00000000000..d949439fcee
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+, tezos-protocol-environment
+, tezos-rpc-http-client
+, resto-cohttp-self-serving-client
+}:
+
+buildDunePackage {
+  pname = "tezos-mockup-proxy";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_mockup_proxy";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+    tezos-protocol-environment
+    tezos-rpc-http-client
+    resto-cohttp-self-serving-client
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: local RPCs";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-registration.nix b/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
new file mode 100644
index 00000000000..651c89a5986
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-mockup-registration";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_mockup";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/p2p-services.nix b/pkgs/development/ocaml-modules/tezos/p2p-services.nix
index b4243f589f0..da15852aa97 100644
--- a/pkgs/development/ocaml-modules/tezos/p2p-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/p2p-services.nix
@@ -6,7 +6,8 @@
 
 buildDunePackage {
   pname = "tezos-p2p-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_p2p_services";
 
   propagatedBuildInputs = [
     tezos-base
diff --git a/pkgs/development/ocaml-modules/tezos/p2p.nix b/pkgs/development/ocaml-modules/tezos/p2p.nix
index b75c03debfa..cec1f1ef7b6 100644
--- a/pkgs/development/ocaml-modules/tezos/p2p.nix
+++ b/pkgs/development/ocaml-modules/tezos/p2p.nix
@@ -2,13 +2,16 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-p2p-services
+, tezos-test-services
 , alcotest-lwt
+, astring
 , lwt-watcher
 }:
 
 buildDunePackage {
   pname = "tezos-p2p";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_p2p";
 
   propagatedBuildInputs = [
     tezos-p2p-services
@@ -16,9 +19,13 @@ buildDunePackage {
   ];
 
   checkInputs = [
+    astring
     alcotest-lwt
+    tezos-test-services
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library for a pool of P2P connections";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
deleted file mode 100644
index 5b043eede93..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-008-PtEdo2Zk
-, qcheck-alcotest
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-008-PtEdo2Zk-parameters";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
-
-  propagatedBuildInputs = [
-    tezos-protocol-008-PtEdo2Zk
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: parameters";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix b/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
deleted file mode 100644
index 49a7f0e6380..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-008-PtEdo2Zk";
-  inherit (tezos-stdlib) version src useDune2 doCheck;
-
-  preBuild = ''
-    rm -rf vendors
-    substituteInPlace src/proto_008_PtEdo2Zk/lib_protocol/dune.inc --replace "-nostdlib" ""
-  '';
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
new file mode 100644
index 00000000000..832ca9df30c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-010-PtGRANAD
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-010-PtGRANAD-parameters";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_parameters";
+
+  propagatedBuildInputs = [
+    tezos-protocol-010-PtGRANAD
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: parameters";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
new file mode 100644
index 00000000000..80809cafbab
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol";
+
+  preBuild = ''
+    rm dune
+    cp -f ${tezos-protocol-compiler.src}/dune_protocol dune
+    sed -i.back -e s/-nostdlib//g dune.inc
+  '';
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: economic-protocol definition";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix b/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
index a43356d9cbe..6178fb6c081 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
@@ -4,6 +4,7 @@
 , tezos-stdlib
 , tezos-protocol-environment
 , ocp-ocamlres
+, re
 , pprint
 }:
 
@@ -13,16 +14,20 @@ else
 
 buildDunePackage {
   pname = "tezos-protocol-compiler";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_compiler";
 
-  minimalOCamlVersion = "4.09";
+  minimalOCamlVersion = "4.10";
 
   propagatedBuildInputs = [
     tezos-protocol-environment
     ocp-ocamlres
+    re
     pprint
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: economic-protocol compiler";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix b/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
deleted file mode 100644
index 51efe694184..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-demo-noops";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: demo_noops economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
index 42662105b95..3aa5e0f6fca 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
@@ -5,10 +5,13 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-packer";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   minimalOCamlVersion = "4.03";
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: sigs/structs packer for economic protocol environment";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
index 79b84360a9d..3008de62431 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
@@ -8,7 +8,21 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-sigs";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
+
+  postPatch = ''
+    ls ./sigs/v0
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v1/z.mli
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v2/z.mli
+    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v3/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v1/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v1/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v2/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v2/z.mli
+    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v3/z.mli
+    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v3/z.mli
+  '';
 
   propagatedBuildInputs = [
     tezos-protocol-environment-packer
@@ -18,11 +32,7 @@ buildDunePackage {
     tezos-stdlib
   ];
 
-  postPatch = ''
-    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./src/lib_protocol_environment/sigs/v1/z.mli
-    sed -i 's/out_channel/Stdlib.out_channel/g' ./src/lib_protocol_environment/sigs/v1/z.mli
-    sed -i 's/Buffer/Stdlib.Buffer/g' ./src/lib_protocol_environment/sigs/v1/z.mli
-  '';
+  doCheck = true;
 
   meta = tezos-stdlib.meta // {
     description = "Tezos: restricted typing environment for the economic protocols";
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
index feddca046f8..f7b61b22b23 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
@@ -7,13 +7,16 @@
 
 buildDunePackage {
   pname = "tezos-protocol-environment-structs";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   propagatedBuildInputs = [
     tezos-crypto
     tezos-protocol-environment-packer
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: restricted typing environment for the economic protocols";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
index 60d9ae29222..292e4ce41ee 100644
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
+++ b/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
@@ -1,22 +1,26 @@
 { lib
+, ocaml
 , buildDunePackage
 , tezos-stdlib
 , tezos-base
 , tezos-sapling
+, tezos-context
 , tezos-protocol-environment-sigs
 , tezos-protocol-environment-structs
+, tezos-test-helpers
 , zarith
 , alcotest-lwt
-, crowbar
 }:
 
 buildDunePackage {
   pname = "tezos-protocol-environment";
-  inherit (tezos-stdlib) version src useDune2 doCheck preBuild;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
 
   propagatedBuildInputs = [
     tezos-sapling
     tezos-base
+    tezos-context
     tezos-protocol-environment-sigs
     tezos-protocol-environment-structs
     zarith # this might break, since they actually want 1.11
@@ -24,9 +28,11 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
-    crowbar
+    tezos-test-helpers
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
new file mode 100644
index 00000000000..2ce23157742
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-embedded-protocol-010-PtGRANAD
+, tezos-protocol-010-PtGRANAD
+, tezos-shell
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-plugin-010-PtGRANAD";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_plugin";
+
+  buildInputs = [
+    tezos-embedded-protocol-010-PtGRANAD
+    tezos-protocol-010-PtGRANAD
+    tezos-shell
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos/Protocol: protocol plugin registerer";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-updater.nix b/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
new file mode 100644
index 00000000000..29aaa8be734
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
@@ -0,0 +1,26 @@
+{ lib
+, ocaml
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-compiler
+, tezos-shell-context
+, lwt-exit
+}:
+
+buildDunePackage {
+  pname = "tezos-protocol-updater";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_updater";
+
+  propagatedBuildInputs = [
+    tezos-shell-context
+    lwt-exit
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: economic-protocol dynamic loading for `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/proxy.nix b/pkgs/development/ocaml-modules/tezos/proxy.nix
new file mode 100644
index 00000000000..4e46027de0d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/proxy.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-mockup-proxy
+, tezos-context
+, ringo-lwt
+, alcotest-lwt
+, crowbar
+, tezos-test-services
+, tezos-test-helpers
+}:
+
+buildDunePackage {
+  pname = "tezos-proxy";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_proxy";
+
+  propagatedBuildInputs = [
+    ringo-lwt
+    tezos-mockup-proxy
+    tezos-context
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    crowbar
+    tezos-test-services
+    tezos-test-helpers
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: protocol registration for the mockup mode";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/requester.nix b/pkgs/development/ocaml-modules/tezos/requester.nix
index d4a2b69eaa8..2326f8ec91d 100644
--- a/pkgs/development/ocaml-modules/tezos/requester.nix
+++ b/pkgs/development/ocaml-modules/tezos/requester.nix
@@ -9,7 +9,8 @@
 
 buildDunePackage {
   pname = "tezos-requester";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_requester";
 
   propagatedBuildInputs = [
     tezos-base
@@ -21,6 +22,8 @@ buildDunePackage {
     tezos-test-services
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: generic resource fetching service";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
new file mode 100644
index 00000000000..246618ce076
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http-client
+, cohttp-lwt-unix
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http-client-unix";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http-client
+    cohttp-lwt-unix
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: unix implementation of the RPC client";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
new file mode 100644
index 00000000000..54cb71617bb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http
+, resto-cohttp-client
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http-client";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http
+    resto-cohttp-client
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (http client)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http.nix b/pkgs/development/ocaml-modules/tezos/rpc-http.nix
new file mode 100644
index 00000000000..56fda87f93d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/rpc-http.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-base
+, resto-directory
+, resto-cohttp
+}:
+
+buildDunePackage {
+  pname = "tezos-rpc-http";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
+
+  propagatedBuildInputs = [
+    tezos-base
+    resto-directory
+    resto-cohttp
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library of auto-documented RPCs (http server and client)";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc.nix b/pkgs/development/ocaml-modules/tezos/rpc.nix
index 33450bdf167..f8a1336146e 100644
--- a/pkgs/development/ocaml-modules/tezos/rpc.nix
+++ b/pkgs/development/ocaml-modules/tezos/rpc.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-rpc";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_rpc";
 
   propagatedBuildInputs = [
     tezos-error-monad
@@ -16,6 +17,8 @@ buildDunePackage {
     resto-directory
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/sapling.nix b/pkgs/development/ocaml-modules/tezos/sapling.nix
index 40665e38054..a51973ed724 100644
--- a/pkgs/development/ocaml-modules/tezos/sapling.nix
+++ b/pkgs/development/ocaml-modules/tezos/sapling.nix
@@ -4,12 +4,14 @@
 , tezos-stdlib
 , tezos-crypto
 , tezos-rust-libs
+, tezos-test-services
 , alcotest-lwt
 }:
 
 buildDunePackage {
   pname = "tezos-sapling";
-  inherit (tezos-stdlib) version src useDune2 preBuild;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_sapling";
 
   propagatedBuildInputs = [
     tezos-crypto
@@ -18,8 +20,10 @@ buildDunePackage {
 
   checkInputs = [
     alcotest-lwt
+    tezos-test-services
   ];
 
+  # requires the "zcash-params" files
   doCheck = false;
 
   # This is a hack to work around the hack used in the dune files
diff --git a/pkgs/development/ocaml-modules/tezos/shell-context.nix b/pkgs/development/ocaml-modules/tezos/shell-context.nix
new file mode 100644
index 00000000000..89b50177f2c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/shell-context.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-environment
+}:
+
+buildDunePackage {
+  pname = "tezos-shell-context";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
+
+  propagatedBuildInputs = [
+    tezos-protocol-environment
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: economic-protocols environment implementation for `tezos-node`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/shell-services.nix b/pkgs/development/ocaml-modules/tezos/shell-services.nix
index 4e2f40497eb..d15993e0a91 100644
--- a/pkgs/development/ocaml-modules/tezos/shell-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/shell-services.nix
@@ -8,7 +8,8 @@
 
 buildDunePackage {
   pname = "tezos-shell-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_shell_services";
 
   propagatedBuildInputs = [
     tezos-workers
@@ -16,6 +17,8 @@ buildDunePackage {
     tezos-version
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/shell.nix b/pkgs/development/ocaml-modules/tezos/shell.nix
new file mode 100644
index 00000000000..268db42fcdb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/shell.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-p2p
+, tezos-requester
+, tezos-validation
+, tezos-store
+, tezos-workers
+, tezos-test-services
+# , tezos-embedded-protocol-demo-noops
+, tezos-test-helpers
+# , tezos-protocol-plugin-alpha
+, alcotest-lwt
+, crowbar
+}:
+
+buildDunePackage {
+  pname = "tezos-shell";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_shell";
+
+  propagatedBuildInputs = [
+    tezos-p2p
+    tezos-requester
+    tezos-validation
+    tezos-store
+    tezos-workers
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+    crowbar
+    tezos-test-helpers
+    tezos-test-services
+    # tezos-embedded-protocol-demo-noops
+    # tezos-protocol-plugin-alpha
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-backends.nix b/pkgs/development/ocaml-modules/tezos/signer-backends.nix
new file mode 100644
index 00000000000..0b49779c279
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/signer-backends.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-rpc-http-client-unix
+, tezos-signer-services
+, alcotest
+, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "tezos-signer-backends";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_signer_backends";
+
+  propagatedBuildInputs = [
+    tezos-rpc-http-client-unix
+    tezos-signer-services
+  ];
+
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: remote-signature backends for `tezos-client`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-services.nix b/pkgs/development/ocaml-modules/tezos/signer-services.nix
new file mode 100644
index 00000000000..2f7333312fa
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/signer-services.nix
@@ -0,0 +1,21 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-client-base
+}:
+
+buildDunePackage {
+  pname = "tezos-signer-services";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_signer_services";
+
+  propagatedBuildInputs = [
+    tezos-client-base
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: descriptions of RPCs exported by `tezos-signer`";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix b/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
index 2b3a01469a7..1b275d03dff 100644
--- a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
+++ b/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
@@ -2,28 +2,31 @@
 , buildDunePackage
 , tezos-stdlib
 , tezos-event-logging
-, lwt
+, re
 , ptime
 , mtime
 , ipaddr
-, re
-, alcotest
-, alcotest-lwt
+, ezjsonm
+, fmt
 }:
 
 buildDunePackage {
   pname = "tezos-stdlib-unix";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_stdlib_unix";
 
   propagatedBuildInputs = [
     tezos-event-logging
-    lwt
+    re
     ptime
     mtime
     ipaddr
-    re
+    ezjsonm
+    fmt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: yet-another local-extension of the OCaml standard library (unix-specific fragment)";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib.nix b/pkgs/development/ocaml-modules/tezos/stdlib.nix
index eff403ba808..07ec63785be 100644
--- a/pkgs/development/ocaml-modules/tezos/stdlib.nix
+++ b/pkgs/development/ocaml-modules/tezos/stdlib.nix
@@ -9,19 +9,24 @@
 , crowbar
 , bigstring
 , lwt_log
+, ppx_inline_test
+, qcheck-alcotest
+, tezos-test-helpers
 }:
 
 buildDunePackage rec {
   pname = "tezos-stdlib";
-  version = "8.3";
-  src = fetchFromGitLab {
+  version = "10.2";
+  base_src = fetchFromGitLab {
     owner = "tezos";
     repo = "tezos";
     rev = "v${version}";
-    sha256 = "1ykhz5m5sb2hq04nspbsbq8wspkhimagb5g6yi65hpdbn8f4zr6h";
+    sha256 = "1sqwbdclsvzz0781r0830ncy1j048h12jp3hsdy7hz4dpqp80jsq";
   };
 
-  minimalOCamlVersion = "4.0.8";
+  src = "${base_src}/src/lib_stdlib";
+
+  minimalOCamlVersion = "4.10.0";
 
   useDune2 = true;
 
@@ -33,17 +38,23 @@ buildDunePackage rec {
     hex
     lwt
     zarith
+    ppx_inline_test
   ];
 
   checkInputs = [
+    bigstring
+    lwt_log
     alcotest
     alcotest-lwt
     crowbar
     bigstring
     lwt_log
+    qcheck-alcotest
+    # tezos-test-helpers
   ];
 
-  doCheck = true;
+  # circular dependency if we add this
+  doCheck = false;
 
   meta = {
     description = "Tezos: yet-another local-extension of the OCaml standard library";
diff --git a/pkgs/development/ocaml-modules/tezos/store.nix b/pkgs/development/ocaml-modules/tezos/store.nix
new file mode 100644
index 00000000000..69dad751270
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/store.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-updater
+, tezos-validation
+, tezos-legacy-store
+, tezos-protocol-compiler
+, index
+, camlzip
+, tar-unix
+, ringo-lwt
+, digestif
+, alcotest-lwt
+, lwt-watcher
+}:
+
+buildDunePackage {
+  pname = "tezos-store";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_store";
+
+  propagatedBuildInputs = [
+    index
+    camlzip
+    tar-unix
+    ringo-lwt
+    digestif
+    lwt-watcher
+    tezos-protocol-updater
+    tezos-validation
+    tezos-legacy-store
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  checkInputs = [
+    alcotest-lwt
+  ];
+
+  # A lot of extra deps with wide dependency cones needed
+  doCheck = false;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/test-helpers.nix b/pkgs/development/ocaml-modules/tezos/test-helpers.nix
new file mode 100644
index 00000000000..68a0d841ccf
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/test-helpers.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitLab
+, buildDunePackage
+, qcheck-alcotest
+, alcotest
+, alcotest-lwt
+, hashcons
+, pyml
+, uri
+, tezos-test-services
+, tezos-stdlib
+}:
+
+buildDunePackage rec {
+  pname = "tezos-test-helpers";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_test";
+
+  propagatedBuildInputs = [
+    qcheck-alcotest
+    alcotest
+    alcotest-lwt
+    hashcons
+    pyml
+    uri
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: yet-another local-extension of the OCaml standard library";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/test-services.nix b/pkgs/development/ocaml-modules/tezos/test-services.nix
index ba30b922d17..0da38d896ea 100644
--- a/pkgs/development/ocaml-modules/tezos/test-services.nix
+++ b/pkgs/development/ocaml-modules/tezos/test-services.nix
@@ -1,4 +1,5 @@
 { lib
+, fetchFromGitLab
 , buildDunePackage
 , tezos-stdlib
 , tezos-base
@@ -7,13 +8,16 @@
 
 buildDunePackage {
   pname = "tezos-test-services";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_test_services";
 
   propagatedBuildInputs = [
     tezos-base
     alcotest-lwt
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: Alcotest-based test services";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/validation.nix b/pkgs/development/ocaml-modules/tezos/validation.nix
new file mode 100644
index 00000000000..b26b81f4a77
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tezos/validation.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildDunePackage
+, tezos-stdlib
+, tezos-protocol-updater
+, tezos-protocol-compiler
+}:
+
+buildDunePackage {
+  pname = "tezos-validation";
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_validation";
+
+  propagatedBuildInputs = [
+    tezos-protocol-updater
+  ];
+
+  buildInputs = [
+    tezos-protocol-compiler
+  ];
+
+  doCheck = true;
+
+  meta = tezos-stdlib.meta // {
+    description = "Tezos: library for blocks validation";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos/version.nix b/pkgs/development/ocaml-modules/tezos/version.nix
index 3b4bdd4bf6f..a0928d15f46 100644
--- a/pkgs/development/ocaml-modules/tezos/version.nix
+++ b/pkgs/development/ocaml-modules/tezos/version.nix
@@ -6,12 +6,15 @@
 
 buildDunePackage {
   pname = "tezos-version";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_version";
 
   propagatedBuildInputs = [
     tezos-base
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: version information generated from Git";
   };
diff --git a/pkgs/development/ocaml-modules/tezos/workers.nix b/pkgs/development/ocaml-modules/tezos/workers.nix
index ca659f8adfb..65a60a216cd 100644
--- a/pkgs/development/ocaml-modules/tezos/workers.nix
+++ b/pkgs/development/ocaml-modules/tezos/workers.nix
@@ -6,12 +6,15 @@
 
 buildDunePackage {
   pname = "tezos-workers";
-  inherit (tezos-stdlib) version src useDune2 preBuild doCheck;
+  inherit (tezos-stdlib) version useDune2;
+  src = "${tezos-stdlib.base_src}/src/lib_workers";
 
   propagatedBuildInputs = [
     tezos-base
   ];
 
+  doCheck = true;
+
   meta = tezos-stdlib.meta // {
     description = "Tezos: worker library";
   };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 1966d836e6f..c80919e07af 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -79,6 +79,8 @@ let
     bitv = callPackage ../development/ocaml-modules/bitv { };
 
     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
+    bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
+    bls12-381-unix = callPackage ../development/ocaml-modules/bls12-381/unix.nix { };
 
     bolt = callPackage ../development/ocaml-modules/bolt { };
 
@@ -378,6 +380,8 @@ let
     fdkaac = callPackage ../development/ocaml-modules/fdkaac { };
 
     ff = callPackage ../development/ocaml-modules/ff { };
+    ff-pbt = callPackage ../development/ocaml-modules/ff/pbt.nix { };
+    ff-sig = callPackage ../development/ocaml-modules/ff/sig.nix { };
 
     fiat-p256 = callPackage ../development/ocaml-modules/fiat-p256 { };
 
@@ -1275,31 +1279,53 @@ let
 
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
 
+    tezos-010-PtGRANAD-test-helpers = callPackage ../development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix { };
     tezos-base = callPackage ../development/ocaml-modules/tezos/base.nix { };
     tezos-clic = callPackage ../development/ocaml-modules/tezos/clic.nix { };
+    tezos-client-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/client-010-PtGRANAD.nix { };
+    tezos-client-base = callPackage ../development/ocaml-modules/tezos/client-base.nix { };
+    tezos-context = callPackage ../development/ocaml-modules/tezos/context.nix { };
     tezos-crypto = callPackage ../development/ocaml-modules/tezos/crypto.nix { };
+    tezos-embedded-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix { };
     tezos-error-monad = callPackage ../development/ocaml-modules/tezos/error-monad.nix { };
     tezos-event-logging = callPackage ../development/ocaml-modules/tezos/event-logging.nix { };
+    tezos-legacy-store = callPackage ../development/ocaml-modules/tezos/legacy-store.nix { };
     tezos-lmdb = callPackage ../development/ocaml-modules/tezos/lmdb.nix { };
+    tezos-hacl-glue = callPackage ../development/ocaml-modules/tezos/hacl-glue.nix { };
+    tezos-hacl-glue-unix = callPackage ../development/ocaml-modules/tezos/hacl-glue-unix.nix { };
     tezos-lwt-result-stdlib = callPackage ../development/ocaml-modules/tezos/lwt-result-stdlib.nix { };
     tezos-micheline = callPackage ../development/ocaml-modules/tezos/micheline.nix { };
+    tezos-mockup-proxy = callPackage ../development/ocaml-modules/tezos/mockup-proxy.nix { };
+    tezos-mockup-registration = callPackage ../development/ocaml-modules/tezos/mockup-registration.nix { };
     tezos-p2p-services = callPackage ../development/ocaml-modules/tezos/p2p-services.nix { };
     tezos-p2p = callPackage ../development/ocaml-modules/tezos/p2p.nix { };
-    tezos-protocol-008-PtEdo2Zk-parameters = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk-parameters.nix { };
-    tezos-protocol-008-PtEdo2Zk = callPackage ../development/ocaml-modules/tezos/protocol-008-PtEdo2Zk.nix { };
+    tezos-protocol-010-PtGRANAD-parameters = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix { };
+    tezos-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix { };
     tezos-protocol-compiler = callPackage ../development/ocaml-modules/tezos/protocol-compiler.nix { };
-    tezos-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/protocol-demo-noops.nix { };
     tezos-protocol-environment-packer = callPackage ../development/ocaml-modules/tezos/protocol-environment-packer.nix { };
     tezos-protocol-environment-sigs = callPackage ../development/ocaml-modules/tezos/protocol-environment-sigs.nix { };
     tezos-protocol-environment-structs = callPackage ../development/ocaml-modules/tezos/protocol-environment-structs.nix { };
     tezos-protocol-environment = callPackage ../development/ocaml-modules/tezos/protocol-environment.nix { };
+    tezos-protocol-plugin-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix { };
+    tezos-protocol-updater = callPackage ../development/ocaml-modules/tezos/protocol-updater.nix { };
+    tezos-proxy = callPackage ../development/ocaml-modules/tezos/proxy.nix { };
     tezos-requester = callPackage ../development/ocaml-modules/tezos/requester.nix { };
+    tezos-rpc-http-client-unix = callPackage ../development/ocaml-modules/tezos/rpc-http-client-unix.nix { };
+    tezos-rpc-http-client = callPackage ../development/ocaml-modules/tezos/rpc-http-client.nix { };
+    tezos-rpc-http = callPackage ../development/ocaml-modules/tezos/rpc-http.nix { };
     tezos-rpc = callPackage ../development/ocaml-modules/tezos/rpc.nix { };
     tezos-sapling = callPackage ../development/ocaml-modules/tezos/sapling.nix { };
+    tezos-shell-context = callPackage ../development/ocaml-modules/tezos/shell-context.nix { };
     tezos-shell-services = callPackage ../development/ocaml-modules/tezos/shell-services.nix { };
+    tezos-shell = callPackage ../development/ocaml-modules/tezos/shell.nix { };
+    tezos-signer-backends = callPackage ../development/ocaml-modules/tezos/signer-backends.nix { };
+    tezos-signer-services = callPackage ../development/ocaml-modules/tezos/signer-services.nix { };
     tezos-stdlib-unix = callPackage ../development/ocaml-modules/tezos/stdlib-unix.nix { };
     tezos-stdlib = callPackage ../development/ocaml-modules/tezos/stdlib.nix { };
+    tezos-test-helpers = callPackage ../development/ocaml-modules/tezos/test-helpers.nix { };
+    tezos-store = callPackage ../development/ocaml-modules/tezos/store.nix { };
     tezos-test-services = callPackage ../development/ocaml-modules/tezos/test-services.nix { };
+    tezos-validation = callPackage ../development/ocaml-modules/tezos/validation.nix { };
     tezos-version = callPackage ../development/ocaml-modules/tezos/version.nix { };
     tezos-workers = callPackage ../development/ocaml-modules/tezos/workers.nix { };