about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/comby/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/comby/default.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/comby/default.nix38
1 files changed, 31 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/development/tools/comby/default.nix b/nixpkgs/pkgs/development/tools/comby/default.nix
index ca0a24133045..9b77740979e5 100644
--- a/nixpkgs/pkgs/development/tools/comby/default.nix
+++ b/nixpkgs/pkgs/development/tools/comby/default.nix
@@ -1,10 +1,20 @@
-{ ocamlPackages, fetchFromGitHub, lib, zlib, pkg-config, cacert, gmp, libev
-, autoconf, sqlite, stdenv }:
+{ ocamlPackages
+, fetchFromGitHub
+, lib
+, zlib
+, pkg-config
+, cacert
+, gmp
+, libev
+, autoconf
+, sqlite
+, stdenv
+}:
 let
-  mkCombyPackage = { pname, extraBuildInputs ? [ ], extraNativeInputs ? [ ] }:
+  mkCombyPackage = { pname, extraBuildInputs ? [ ], extraNativeInputs ? [ ], preBuild ? "" }:
     ocamlPackages.buildDunePackage rec {
-      inherit pname;
-      version = "1.5.1";
+      inherit pname preBuild;
+      version = "1.7.0";
       useDune2 = true;
       minimumOcamlVersion = "4.08.1";
       doCheck = true;
@@ -13,7 +23,7 @@ let
         owner = "comby-tools";
         repo = "comby";
         rev = version;
-        sha256 = "1ipfrr6n1jyyryhm9zpn8wwgzfac1zgbjdjzrm00qcwc17r8x2hf";
+        sha256 = "sha256-Y2RcYvJOSqppmxxG8IZ5GlFkXCOIQU+1jJZ6j+PBHC4";
       };
 
       nativeBuildInputs = [
@@ -41,9 +51,21 @@ let
     };
 
   combyKernel = mkCombyPackage { pname = "comby-kernel"; };
-in mkCombyPackage {
+  combySemantic = mkCombyPackage { pname = "comby-semantic"; extraBuildInputs = [ ocamlPackages.cohttp-lwt-unix ]; };
+in
+mkCombyPackage {
   pname = "comby";
 
+  # tests have to be removed before building otherwise installPhase will fail
+  # cli tests expect a path to the built binary
+  preBuild = ''
+    substituteInPlace test/common/dune \
+      --replace "test_cli_list" "" \
+      --replace "test_cli_helper" "" \
+      --replace "test_cli" ""
+    rm test/common/{test_cli_list,test_cli_helper,test_cli}.ml
+  '';
+
   extraBuildInputs = [
     zlib
     gmp
@@ -62,6 +84,7 @@ in mkCombyPackage {
     ocamlPackages.lwt_react
     ocamlPackages.tls
     combyKernel
+    combySemantic
   ] ++ (if !stdenv.isAarch32 && !stdenv.isAarch64 then
     [ ocamlPackages.hack_parallel ]
   else
@@ -74,4 +97,5 @@ in mkCombyPackage {
     ocamlPackages.ppx_expect
     ocamlPackages.dune-configurator
   ];
+
 }