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
'';
}
|