nixpkgs/pkgs/development/libraries/sqlcipher/default.nix
2024-04-25 03:28:11 +00:00

70 lines
1.3 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, openssl
, tcl
, installShellFiles
, buildPackages
, readline
, ncurses
, zlib
, sqlite
}:
stdenv.mkDerivation rec {
pname = "sqlcipher";
version = "4.5.7";
src = fetchFromGitHub {
owner = "sqlcipher";
repo = "sqlcipher";
rev = "v${version}";
hash = "sha256-0cPb78CTxrCdDZAY8hyt7Kid5DKszDl1v+6XNKyNrLM=";
};
nativeBuildInputs = [
installShellFiles
tcl
];
buildInputs = [
readline
ncurses
openssl
zlib
];
depsBuildBuild = [
buildPackages.stdenv.cc
];
configureFlags = [
"--enable-threadsafe"
"--with-readline-inc=-I${lib.getDev readline}/include"
];
CFLAGS = [
# We want feature parity with sqlite
sqlite.NIX_CFLAGS_COMPILE
"-DSQLITE_HAS_CODEC"
];
BUILD_CC = "$(CC_FOR_BUILD)";
TCLLIBDIR = "${placeholder "out"}/lib/tcl${lib.versions.majorMinor tcl.version}";
postInstall = ''
installManPage sqlcipher.1
'';
meta = with lib; {
changelog = "https://github.com/sqlcipher/sqlcipher/blob/v${version}/CHANGELOG.md";
description = "SQLite extension that provides 256 bit AES encryption of database files";
mainProgram = "sqlcipher";
homepage = "https://www.zetetic.net/sqlcipher/";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
platforms = platforms.unix;
};
}