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