1{ stdenv, lib, fetchFromGitHub, openssl, tcl, readline ? null, ncurses ? null }:
2
3assert readline != null -> ncurses != null;
4
5stdenv.mkDerivation rec {
6 name = "sqlcipher-${version}";
7 version = "3.4.2";
8
9 src = fetchFromGitHub {
10 owner = "sqlcipher";
11 repo = "sqlcipher";
12 rev = "v${version}";
13 sha256 = "168wb6fvyap7y8j86fb3xl5rd4wmhiq0dxvx9wxwi5kwm1j4vn1a";
14 };
15
16 buildInputs = [ readline ncurses openssl tcl ];
17
18 configureFlags = [ "--enable-threadsafe" "--disable-tcl" ];
19
20 CFLAGS = [ "-DSQLITE_ENABLE_COLUMN_METADATA=1" "-DSQLITE_SECURE_DELETE=1" "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1" "-DSQLITE_HAS_CODEC" ];
21 LDFLAGS = lib.optional (readline != null) "-lncurses";
22
23 doCheck = false; # fails. requires tcl?
24
25 meta = with stdenv.lib; {
26 homepage = http://sqlcipher.net/;
27 description = "Full Database Encryption for SQLite";
28 platforms = platforms.unix;
29 license = licenses.bsd3;
30 };
31}