1{
2 lib,
3 stdenv,
4 buildEnv,
5 fetchFromGitHub,
6 mono,
7}:
8
9let
10 version = "1.8.4.2";
11 drv = stdenv.mkDerivation {
12 pname = "keepasshttp";
13 inherit version;
14 src = fetchFromGitHub {
15 owner = "pfn";
16 repo = "keepasshttp";
17 # rev = version;
18 # for 1.8.4.2 the tag is at the wrong commit (they fixed stuff
19 # afterwards and didn't move the tag), hence reference by commitid
20 rev = "c2c4eb5388a02169400cba7a67be325caabdcc37";
21 sha256 = "0bkzxggbqx7sql3sp46bqham6r457in0vrgh3ai3lw2jrw79pwmh";
22 };
23
24 meta = {
25 description = "KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP";
26 homepage = "https://github.com/pfn/keepasshttp";
27 platforms = with lib.platforms; linux;
28 license = lib.licenses.gpl3;
29 };
30
31 pluginFilename = "KeePassHttp.plgx";
32
33 installPhase = ''
34 mkdir -p $out/lib/dotnet/keepass/
35 cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
36 '';
37 };
38in
39# Mono is required to compile plugin at runtime, after loading.
40buildEnv {
41 name = drv.name;
42 paths = [
43 mono
44 drv
45 ];
46}