blob: 37ebead94a600f425dbd0b7725a99c5e203066cc (
about) (
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
{
stdenv,
lib,
fetchFromGitHub,
pnpm,
nodejs,
rustPlatform,
cargo,
dump_syms,
python3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "node-sqlcipher";
version = "1.0.0";
src = fetchFromGitHub {
owner = "signalapp";
repo = "node-sqlcipher";
tag = "v${finalAttrs.version}";
hash = "sha256-fuChNio2iWYuxIj40jW1lJCZItnQKrzX7m1gJeeajvs=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-regaYG+SDvIgdnHQVR1GG1A1FSBXpzFfLuyTEdMt1kQ=";
};
cargoRoot = "deps/extension";
cargoDeps = rustPlatform.fetchCargoVendor {
name = "sqlcipher-signal-exentsion";
inherit (finalAttrs) src cargoRoot;
hash = "sha256-qT4HM/FRL8qugKKNlMYM/0zgUsC6cDOa9fgd1d4VIrc=";
};
nativeBuildInputs = [
nodejs
pnpm.configHook
rustPlatform.cargoSetupHook
cargo
dump_syms
python3
];
buildPhase = ''
runHook preBuild
export npm_config_nodedir=${nodejs}
pnpm run prebuildify
pnpm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r dist $out
cp -r prebuilds $out
runHook postInstall
'';
meta = {
description = "Fast N-API-based Node.js addon wrapping sqlcipher and FTS5 segmenting APIs";
homepage = "https://github.com/signalapp/node-sqlcipher/tree/main";
license = with lib.licenses; [
agpl3Only
# deps/sqlcipher
bsd3
];
platforms = lib.platforms.linux;
};
})
|