nixpkgs/pkgs/development/libraries/sqlite/full.nix

45 lines
1.4 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, tcl, readline ? null, ncurses ? null }:
assert readline != null -> ncurses != null;
stdenv.mkDerivation {
# I try to keep a version no newer than default.nix, and similar CFLAGS,
# for this to be compatible with it.
name = "sqlite-3.7.9-full";
src = fetchurl {
url = "http://www.sqlite.org/cgi/src/tarball/SQLite-3.7.9.tar.gz?uuid=version-3.7.9";
sha256 = "0v11slxgjpx2nv7wp8c76wk2pa1dijs9v6zlcn2dj9jblp3bx8fk";
};
buildInputs = [ readline ncurses ];
buildNativeInputs = [ tcl ];
doCheck = true;
checkTarget = "test";
configureFlags = "--enable-threadsafe --enable-tempstore";
preConfigure = ''
${ # The tests oserror-1.1.{1,2,3} need the fd limit < 2000
# and on the builders in NixOS we have 4096 now.
if stdenv.isLinux then "ulimit -n 1024" else ""}
export TCLLIBDIR=$out/${tcl.libdir}
'';
CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
LDFLAGS = if readline != null then "-lncurses" else "";
postInstall = ''
make sqlite3_analyzer
cp sqlite3_analyzer $out/bin
'';
meta = {
homepage = http://www.sqlite.org/;
description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; all;
};
}