{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql55, mariadb, sqlite, zlib, libxml2 }: # I haven't done any parameter tweaking.. So the defaults provided here might be bad { psql = stdenv.mkDerivation rec { name = "psqlodbc-${version}"; version = "09.05.0210"; src = fetchurl { url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz"; sha256 = "0317zrxaiy209xzcc6b5sz6hsyiv4zm74iikp91rgz7z3ll4n4dc"; }; buildInputs = [ unixODBC postgresql ]; passthru = { fancyName = "PostgreSQL"; driver = "lib/psqlodbcw.so"; }; meta = with stdenv.lib; { description = "Official PostgreSQL ODBC Driver"; homepage = https://odbc.postgresql.org/; license = licenses.lgpl2; platforms = platforms.linux; }; }; mariadb = stdenv.mkDerivation rec { name = "mariadb-connector-odbc-${version}"; version = "2.0.10"; src = fetchurl { url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/src/${name}-ga-src.tar.gz"; sha256 = "0b6ximy0dg0xhqbrm1l7pn8hjapgpmddi67kh54h6i9cq9hqfdvz"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ unixODBC mariadb.lib ]; cmakeFlags = [ "-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql" ]; preConfigure = '' sed -i \ -e 's,mariadb_config,mysql_config,g' \ -e 's,libmariadbclient,libmysqlclient,g' \ cmake/FindMariaDB.cmake ''; passthru = { fancyName = "MariaDB"; driver = "lib/libmyodbc3-3.51.12.so"; }; meta = with stdenv.lib; { description = "MariaDB ODBC database driver"; homepage = https://downloads.mariadb.org/connector-odbc/; license = licenses.gpl2; platforms = platforms.linux; broken = true; }; }; mysql = stdenv.mkDerivation rec { name = "mysql-connector-odbc-${version}"; majorVersion = "5.3"; version = "${majorVersion}.6"; src = fetchurl { url = "https://dev.mysql.com/get/Downloads/Connector-ODBC/${majorVersion}/${name}-src.tar.gz"; sha256 = "1smi4z49i4zm7cmykjkwlxxzqvn7myngsw5bc35z6gqxmi8c55xr"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ unixODBC mysql55 ]; cmakeFlags = [ "-DWITH_UNIXODBC=1" ]; passthru = { fancyName = "MySQL"; driver = "lib/libmyodbc3-3.51.12.so"; }; meta = with stdenv.lib; { description = "MariaDB ODBC database driver"; homepage = https://dev.mysql.com/downloads/connector/odbc/; license = licenses.gpl2; platforms = platforms.linux; broken = true; }; }; sqlite = stdenv.mkDerivation rec { name = "sqlite-connector-odbc-${version}"; version = "0.9993"; src = fetchurl { url = "http://www.ch-werner.de/sqliteodbc/sqliteodbc-${version}.tar.gz"; sha256 = "0dgsj28sc7f7aprmdd0n5a1rmcx6pv7170c8dfjl0x1qsjxim6hs"; }; buildInputs = [ unixODBC sqlite zlib libxml2 ]; configureFlags = [ "--with-odbc=${unixODBC}" ]; installTargets = [ "install-3" ]; # move libraries to $out/lib where they're expected to be postInstall = '' mkdir -p "$out/lib" mv "$out"/*.* "$out/lib" ''; passthru = { fancyName = "SQLite"; driver = "lib/libsqlite3odbc.so"; }; meta = with stdenv.lib; { description = "ODBC driver for SQLite"; homepage = http://www.ch-werner.de/sqliteodbc; license = licenses.bsd2; platforms = platforms.linux; maintainers = with maintainers; [ vlstill ]; }; }; }