at release-16.03-start 57 lines 2.3 kB view raw
1{ lib, stdenv, fetchurl, interactive ? false, readline ? null, ncurses ? null }: 2 3assert interactive -> readline != null && ncurses != null; 4 5stdenv.mkDerivation { 6 name = "sqlite-3.9.2"; 7 8 src = fetchurl { 9 url = "http://sqlite.org/2015/sqlite-autoconf-3090200.tar.gz"; 10 sha1 = "dae1ae5297fece9671ae0c434a7ecd0cda09c76a"; 11 }; 12 13 buildInputs = lib.optionals interactive [ readline ncurses ]; 14 15 configureFlags = [ "--enable-threadsafe" ]; 16 17 NIX_CFLAGS_COMPILE = [ 18 "-DSQLITE_ENABLE_COLUMN_METADATA" 19 "-DSQLITE_ENABLE_DBSTAT_VTAB" 20 "-DSQLITE_ENABLE_JSON1" 21 "-DSQLITE_ENABLE_FTS3" 22 "-DSQLITE_ENABLE_FTS3_PARENTHESIS" 23 "-DSQLITE_ENABLE_FTS4" 24 "-DSQLITE_ENABLE_RTREE" 25 "-DSQLITE_ENABLE_STMT_SCANSTATUS" 26 "-DSQLITE_ENABLE_UNLOCK_NOTIFY" 27 "-DSQLITE_SOUNDEX" 28 "-DSQLITE_SECURE_DELETE" 29 ]; 30 31 # Test for features which may not be available at compile time 32 preBuild = '' 33 # Use pread(), pread64(), pwrite(), pwrite64() functions for better performance if they are available. 34 if cc -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread_pwrite_test" <<< \ 35 ''$'#include <unistd.h>\nint main()\n{\n pread(0, NULL, 0, 0);\n pwrite(0, NULL, 0, 0);\n return 0;\n}'; then 36 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD" 37 fi 38 if cc -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread64_pwrite64_test" <<< \ 39 ''$'#include <unistd.h>\nint main()\n{\n pread64(0, NULL, 0, 0);\n pwrite64(0, NULL, 0, 0);\n return 0;\n}'; then 40 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD64" 41 elif cc -D_LARGEFILE64_SOURCE -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread64_pwrite64_test" <<< \ 42 ''$'#include <unistd.h>\nint main()\n{\n pread64(0, NULL, 0, 0);\n pwrite64(0, NULL, 0, 0);\n return 0;\n}'; then 43 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD64 -D_LARGEFILE64_SOURCE" 44 fi 45 46 echo "" 47 echo "NIX_CFLAGS_COMPILE = $NIX_CFLAGS_COMPILE" 48 echo "" 49 ''; 50 51 meta = { 52 homepage = http://www.sqlite.org/; 53 description = "A self-contained, serverless, zero-configuration, transactional SQL database engine"; 54 platforms = stdenv.lib.platforms.unix; 55 maintainers = with stdenv.lib.maintainers; [ eelco np ]; 56 }; 57}