dd1a6f8ab1
Sqlite has a build mode called "amalgamation" that gathers all 90+ source code files into a single sqlite3.c file before compiling the library. Building sqlite this way reportedly gives a 5-10% performance gain because the compiler can perform more sophisticated optimizations. svn path=/nixpkgs/trunk/; revision=18092
35 lines
992 B
Nix
35 lines
992 B
Nix
{stdenv, fetchurl, readline, tcl, static ? false}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "sqlite-3.6.19";
|
|
|
|
# Note: don't use the "amalgamation" source release, since it
|
|
# doesn't install sqlite3.pc.
|
|
src = fetchurl {
|
|
url = "http://www.sqlite.org/${name}.tar.gz";
|
|
sha256 = "7d8649c44fb97b874aa59144faaeb2356ec1fc6a8a7baa1d16e9ff5f1e097003";
|
|
};
|
|
|
|
buildInputs = [readline tcl];
|
|
|
|
configureFlags = ''
|
|
CFLAGS=-O3
|
|
--enable-load-extension
|
|
${if static then "--disable-shared --enable-static" else ""}
|
|
--enable-amalgamation
|
|
--enable-threadsafe
|
|
--disable-cross-thread-connections
|
|
--disable-tcl
|
|
--disable-tempstore
|
|
--with-readline-inc=-I${readline}/include
|
|
'';
|
|
|
|
NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1";
|
|
NIX_CFLAGS_LINK = "-ldl"; # needed for --enable-load-extension
|
|
|
|
meta = {
|
|
homepage = http://www.sqlite.org/;
|
|
description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
|
|
};
|
|
}
|