1{ stdenv, lib, fetchFromGitHub, openssl, tcl, installShellFiles, buildPackages, readline, ncurses, zlib }:
2
3stdenv.mkDerivation rec {
4 pname = "sqlcipher";
5 version = "4.4.3";
6
7 src = fetchFromGitHub {
8 owner = "sqlcipher";
9 repo = "sqlcipher";
10 rev = "v${version}";
11 sha256 = "sha256-E23PTNnVZbBQtHL0YjUwHNVUA76XS8rlARBOVvX6zZw=";
12 };
13
14 nativeBuildInputs = [ installShellFiles tcl ];
15 buildInputs = [ readline ncurses openssl zlib ];
16 depsBuildBuild = [ buildPackages.stdenv.cc ];
17
18 configureFlags = [
19 "--enable-threadsafe"
20 "--with-readline-inc=-I${lib.getDev readline}/include"
21 ];
22
23 CFLAGS = [
24 "-DSQLITE_ENABLE_COLUMN_METADATA=1"
25 "-DSQLITE_SECURE_DELETE=1"
26 "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1"
27 "-DSQLITE_HAS_CODEC"
28 ];
29
30 BUILD_CC = "$(CC_FOR_BUILD)";
31
32 TCLLIBDIR = "${placeholder "out"}/lib/tcl${lib.versions.majorMinor tcl.version}";
33
34 postInstall = ''
35 installManPage sqlcipher.1
36 '';
37
38 meta = with lib; {
39 homepage = "https://www.zetetic.net/sqlcipher/";
40 description = "SQLite extension that provides 256 bit AES encryption of database files";
41 platforms = platforms.unix;
42 license = licenses.bsd3;
43 };
44}