Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 63 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 nix-update-script, 6 autoreconfHook, 7 libpq, 8 openssl, 9 withLibiodbc ? false, 10 libiodbc, 11 withUnixODBC ? true, 12 unixODBC, 13}: 14 15assert lib.xor withLibiodbc withUnixODBC; 16 17stdenv.mkDerivation rec { 18 pname = "psqlodbc"; 19 version = "${builtins.replaceStrings [ "_" ] [ "." ] (lib.strings.removePrefix "REL-" src.tag)}"; 20 21 src = fetchFromGitHub { 22 owner = "postgresql-interfaces"; 23 repo = "psqlodbc"; 24 tag = "REL-17_00_0006"; 25 hash = "sha256-iu1PWkfOyWtMmy7/8W+acu8v+e8nUPkCIHtVNZ8HzRg="; 26 }; 27 28 buildInputs = [ 29 libpq 30 openssl 31 ] 32 ++ lib.optional withLibiodbc libiodbc 33 ++ lib.optional withUnixODBC unixODBC; 34 35 nativeBuildInputs = [ 36 autoreconfHook 37 ]; 38 39 strictDeps = true; 40 41 passthru = { 42 updateScript = nix-update-script { }; 43 } 44 // lib.optionalAttrs withUnixODBC { 45 fancyName = "PostgreSQL"; 46 driver = "lib/psqlodbcw.so"; 47 }; 48 49 configureFlags = [ 50 "CPPFLAGS=-DSQLCOLATTRIBUTE_SQLLEN" # needed for cross 51 "--with-libpq=${lib.getDev libpq}" 52 ] 53 ++ lib.optional withLibiodbc "--with-iodbc=${libiodbc}" 54 ++ lib.optional withUnixODBC "--with-unixodbc=${unixODBC}"; 55 56 meta = with lib; { 57 homepage = "https://odbc.postgresql.org/"; 58 description = "ODBC driver for PostgreSQL"; 59 license = licenses.lgpl2; 60 platforms = platforms.unix; 61 teams = libpq.meta.teams; 62 }; 63}