aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2024-11-25 16:00:09 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2024-11-25 16:00:09 -0300
commitf487fbee29dcebf62400be20fd509ba1794e952f (patch)
tree7113674b11632fcfacc71c36121a09b242aafae0
parent4f1ba5f866c63db27ae33c6cd8fa342ae3163ffa (diff)
downloadSakura-f487fbee29dcebf62400be20fd509ba1794e952f.tar.gz
Sakura-f487fbee29dcebf62400be20fd509ba1794e952f.zip
add ppx_protocol_conv
-rw-r--r--deps/ppx_protocol_conv.nix27
-rw-r--r--flake.nix17
2 files changed, 37 insertions, 7 deletions
diff --git a/deps/ppx_protocol_conv.nix b/deps/ppx_protocol_conv.nix
new file mode 100644
index 0000000..c0a402e
--- /dev/null
+++ b/deps/ppx_protocol_conv.nix
@@ -0,0 +1,27 @@
+{ lib, ocamlPackages, fetchFromGitHub, defaultVersion ? "5.2.1" }:
+ocamlPackages.buildDunePackage {
+ duneVersion = "3";
+
+ pname = "ppx_protocol_conv";
+ version = defaultVersion;
+
+ minimalOCamlVersion = "4.07";
+
+ src = fetchFromGitHub {
+ owner = "andersfugmann";
+ repo = "ppx_protocol_conv";
+ rev = "master";
+ sha256 = "jJJ6FEn+AkMknqun0GkXh5DSXsJnFbdE7U8BQ7Dd/Fw=";
+ };
+
+ buildInputs = [];
+
+ propagatedBuildInputs = [];
+
+ doCheck = true;
+
+ meta = {
+ license = lib.licenses.bsd3;
+ homepage = "https://github.com/andersfugmann/ppx_protocol_conv";
+ };
+}
diff --git a/flake.nix b/flake.nix
index d09c91d..5bfcd74 100644
--- a/flake.nix
+++ b/flake.nix
@@ -26,11 +26,12 @@
# Legacy packages that have not been converted to flakes
legacyPackages = nixpkgs.legacyPackages.${system};
# OCaml packages available on nixpkgs
- ocamlPackages = legacyPackages.ocamlPackages;
# Library functions from nixpkgs
lib = legacyPackages.lib;
+ ocamlPackages = legacyPackages.ocamlPackages;
merklecpp = legacyPackages.callPackage ./deps/merklecpp.nix { };
libressl = legacyPackages.callPackage ./deps/libressl.nix { };
+ ppx_protocol_conv = legacyPackages.callPackage ./deps/ppx_protocol_conv.nix { lib = legacyPackages.lib; fetchFromGitHub = legacyPackages.fetchFromGitHub; ocamlPackages = ocamlPackages; };
librelational_engine =
legacyPackages.callPackage ./deps/relational_engine_lib.nix {
libressl = libressl;
@@ -89,16 +90,16 @@
nativeInputs = [ ];
- buildInputs = with ocamlPackages; [
+ buildInputs = [ppx_protocol_conv] ++ (with ocamlPackages; [
ctypes
ctypes-foreign
data-encoding
ppx_inline_test
- ocamlPackages.ppx_deriving
- ocamlPackages.ppx_sexp_conv
- ocamlPackages.lwt
- ocamlPackages.lwt-exit
- ];
+ ppx_deriving
+ ppx_sexp_conv
+ lwt
+ lwt-exit
+ ]);
strictDeps = true;
@@ -172,6 +173,7 @@
ocamlPackages.ppx_sexp_conv
ocamlPackages.lwt
ocamlPackages.lwt-exit
+ ppx_protocol_conv
];
} ''
echo "checking dune and ocaml formatting"
@@ -263,6 +265,7 @@
# legacyPackages.nixfmt-classic
ocamlPackages.lwt
ocamlPackages.lwt-exit
+ ppx_protocol_conv
];