aboutsummaryrefslogtreecommitdiffstats
path: root/deps/relational_engine_lib.nix
blob: b1d0488d6f4f429474c3c2cc80bbffc7eb436964 (plain) (blame)
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
{ pkgs, libressl ? pkgs.callPackage ./libressl.nix {}, merklecpp ? pkgs.callPackage ./merklecpp.nix {}, ... }:
let
  shared_lib_extension = if pkgs.stdenv.isDarwin then "dylib" else "so";
in 
pkgs.stdenv.mkDerivation {
  name = "librelational_engine";
  src = ../shared/librelational_engine;
  nativeBuildInputs = [
    pkgs.cmake
    pkgs.gcc
  ];
  buildInputs = [ libressl merklecpp ];
  env = {
    MERKLECPP_INCLUDE_PATH="${merklecpp}/include";
    LIBRESSL_INCLUDE_PATH="${libressl}/include";
    LIBRESSL_LIB_PATH="${libressl}/lib";
    OS_LIB_EXTENSION = shared_lib_extension;
  };
  buildPhase = ''
      mkdir -p $out/lib
      mkdir -p $out/include
      cmake --build . --target relational_engine
  '';
  installPhase = ''
      mv librelational_engine.${shared_lib_extension} $out/lib/librelational_engine.${shared_lib_extension}
      cp $src/library.h $out/include/library.h
  '';
}