From 45aaea24faa8a64baaa7e17d477bb2388f9b20a0 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 26 Apr 2016 21:17:23 +0300 Subject: unixODBC: 2.3.2 -> 2.3.4 --- pkgs/development/libraries/unixODBC/default.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'pkgs/development') diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix index ef8dcdc53290..e40f362a3b10 100644 --- a/pkgs/development/libraries/unixODBC/default.nix +++ b/pkgs/development/libraries/unixODBC/default.nix @@ -1,10 +1,20 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "unixODBC-2.3.2"; + name = "unixODBC-${version}"; + version = "2.3.4"; + src = fetchurl { url = "ftp://ftp.unixodbc.org/pub/unixODBC/${name}.tar.gz"; - sha256 = "16jw5fq7wgfky6ak1h2j2pqx99jivsdl4q8aq6immpr55xs5jd4w"; + sha256 = "0f8y88rcc2akjvjv5y66yx7k0ms9h1s0vbcfy25j93didflhj59f"; + }; + + configureFlags = [ "--disable-gui" "--sysconfdir=/etc" ]; + + meta = with stdenv.lib; { + description = "ODBC driver manager for Unix"; + homepage = http://www.unixodbc.org/; + license = licenses.lgpl2; + platforms = platforms.linux; }; - configureFlags = "--disable-gui --sysconfdir=/etc"; } -- cgit 1.4.1 From 1a3f7d553d4b5fe78f5f186a08ded841a85c45a1 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 26 Apr 2016 21:18:01 +0300 Subject: unixODBCDrivers: update and refactor, mark mysql packages as broken --- .../libraries/unixODBCDrivers/default.nix | 223 +++++++++++---------- 1 file changed, 119 insertions(+), 104 deletions(-) (limited to 'pkgs/development') diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index d3a2debbd121..80b39bd4cabc 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -1,115 +1,130 @@ -{fetchurl, stdenv, unixODBC, glibc, libtool, openssl, zlib, postgresql, mysql, sqlite}: -# each attr contains the name deriv referencing the derivation and ini which -# evaluates to a string which can be appended to the global unix odbc ini file -# to register the driver +{ 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 + { -# new postgres connector library (doesn't work yet) - psqlng = rec { - deriv = stdenv.mkDerivation { - name = "unix-odbc-pg-odbcng-0.90.101"; - buildInputs = [ unixODBC glibc libtool postgresql ]; - # added -ltdl to resolve missing references `dlsym' `dlerror' `dlopen' `dlclose' - preConfigure=" - export CPPFLAGS=-I${unixODBC}/include - export LDFLAGS='-L${unixODBC}/lib -lltdl' - "; - src = fetchurl { - # using my mirror because original url is https - # https://projects.commandprompt.com/public/odbcng/attachment/wiki/Downloads/odbcng-0.90.101.tar.gz"; - url = http://mawercer.de/~publicrepos/odbcng-0.90.101.tar.gz; - sha256 = "13z3sify4z2jcil379704w0knkpflg6di4jh6zx1x2gdgzydxa1y"; - }; - meta = { - description = "unix odbc driver for postgresql"; - homepage = https://projects.commandprompt.com/public/odbcng; - license = stdenv.lib.licenses.gpl2; - }; + 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; }; - ini = ""; }; -# official postgres connector - psql = rec { - deriv = stdenv.mkDerivation rec { - name = "psqlodbc-09.03.0100"; - buildInputs = [ unixODBC libtool postgresql openssl ]; - preConfigure=" - export CPPFLAGS=-I${unixODBC}/include - export LDFLAGS='-L${unixODBC}/lib -lltdl' - "; - # added -ltdl to resolve missing references `dlsym' `dlerror' `dlopen' `dlclose' + + mariadb = stdenv.mkDerivation rec { + name = "mariadb-connector-odbc-${version}"; + version = "2.0.10"; + src = fetchurl { - url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz"; - sha256 = "0mh10chkmlppidnmvgbp47v5jnphsrls28zwbvyk2crcn8gdx9q1"; + url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/src/${name}-ga-src.tar.gz"; + sha256 = "0b6ximy0dg0xhqbrm1l7pn8hjapgpmddi67kh54h6i9cq9hqfdvz"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ unixODBC mariadb ]; + + 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 = { - description = "unix odbc driver for postgresql"; - homepage = http://pgfoundry.org/projects/psqlodbc/; - license = "LGPL"; + + 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; }; }; - ini = - "[PostgreSQL]\n" + - "Description = official PostgreSQL driver for Linux & Win32\n" + - "Driver = ${deriv}/lib/psqlodbcw.so\n" + - "Threading = 2\n"; - }; -# mysql connector - mysql = rec { - libraries = ["lib/libmyodbc3-3.51.12.so"]; - deriv = stdenv.mkDerivation { - name = "mysql-connector-odbc-3.51.12"; - src = fetchurl { - url = http://ftp.snt.utwente.nl/pub/software/mysql/Downloads/MyODBC3/mysql-connector-odbc-3.51.12.tar.gz; - md5 = "a484f590464fb823a8f821b2f1fd7fef"; - }; - configureFlags = "--disable-gui" - + " --with-mysql-path=${mysql.lib} --with-unixODBC=${unixODBC}"; - buildInputs = [ libtool zlib ]; - inherit mysql unixODBC; + + 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"; }; - ini = - "[MYSQL]\n" + - "Description = MySQL driver\n" + - "Driver = ${deriv}/lib/libmyodbc3-3.51.12.so\n" + - "CPTimeout = \n" + - "CPReuse = \n" + - "FileUsage = 3\n "; - }; - sqlite = rec { - deriv = let version = "0.995"; in - stdenv.mkDerivation { - name = "sqlite-connector-odbc-${version}"; - - src = fetchurl { - url = "http://www.ch-werner.de/sqliteodbc/sqliteodbc-${version}.tar.gz"; - sha256 = "1r97fw6xy5w2f8c0ii7blfqfi6salvd3k8wnxpx9wqc1gxk8jnyy"; - }; - - buildInputs = [ sqlite ]; - - configureFlags = "--with-sqlite3=${sqlite} --with-odbc=${unixODBC}"; - - # move libraries to $out/lib where they're expected to be - postInstall = '' - mkdir -p "$out/lib" - mv "$out"/*.so "$out/lib" - mv "$out"/*.la "$out/lib" - ''; - - meta = { - description = "ODBC driver for SQLite"; - homepage = http://www.ch-werner.de/sqliteodbc; - license = stdenv.lib.licenses.bsd2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ vlstill ]; - }; + + 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 ]; }; - ini = - "[SQLite]\n" + - "Description = SQLite ODBC Driver\n" + - "Driver = ${deriv}/lib/libsqlite3odbc.so\n" + - "Setup = ${deriv}/lib/libsqlite3odbc.so\n" + - "Threading = 2\n"; - }; + }; } -- cgit 1.4.1