aboutsummaryrefslogtreecommitdiffstats
path: root/deps/relational_engine_lib.nix
blob: a3ea22ae0175c511e91c60aa2d6e43d4ba0abf42 (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
{ 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
  '';
}