aboutsummaryrefslogtreecommitdiff
path: root/nix/cryptoppshim.nix
blob: 627c5c9a3ec868c4f61ee0374b4de817d11ee37c (plain)
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
29
30
31
{ pkgs, cryptopp }:
with pkgs;
let 
  dotVersion = builtins.replaceStrings ["_"] ["."] cryptopp.version;
in
stdenv.mkDerivation {
  name = "Crypto++Shim-${cryptopp.version}";
  src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni;

  buildInputs = [
    cryptopp
    pkg-config
    pkgs.jdk_headless
  ];

  buildPhase = ''
    make cryptopp
  '';

  CRYPTOPP_CXXFLAGS = ''
    -DECTESTER_CRYPTOPP_${cryptopp.version}=1 \
    -DECTESTER_CRYPTOPP_MAJOR=${pkgs.lib.versions.major dotVersion} \
    -DECTESTER_CRYPTOPP_MINOR=${pkgs.lib.versions.minor dotVersion} \
    -DECTESTER_CRYPTOPP_PATCH=${pkgs.lib.versions.patch dotVersion} \
  '';

  installPhase = ''
    mkdir --parents $out/lib
    cp cryptopp_provider.so $out/lib/
  '';
}