diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:37:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:41:30 +0000 |
commit | 6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch) | |
tree | 035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/development/libraries/unixODBCDrivers | |
parent | da7500bc026e937ac7fce7b50f67a0e1765737a7 (diff) | |
parent | e4134747f5666bcab8680aff67fa3b63384f9a0f (diff) | |
download | nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2 nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip |
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/unixODBCDrivers')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix index b9aa1696d487..6cfaef5ef993 100644 --- a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, mariadb, sqlite, zlib, libxml2, dpkg, lib, kerberos, curl, libuuid, autoPatchelfHook }: +{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf, libiconv, fetchFromGitHub }: # I haven't done any parameter tweaking.. So the defaults provided here might be bad @@ -29,30 +29,42 @@ mariadb = stdenv.mkDerivation rec { pname = "mariadb-connector-odbc"; - version = "2.0.10"; - - src = fetchurl { - url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/src/${pname}-${version}-ga-src.tar.gz"; - sha256 = "0b6ximy0dg0xhqbrm1l7pn8hjapgpmddi67kh54h6i9cq9hqfdvz"; + version = "3.1.4"; + + src = fetchFromGitHub { + owner = "MariaDB"; + repo = "mariadb-connector-odbc"; + rev = version; + sha256 = "1kbz5mng9vx89cw2sx7gsvhbv4h86zwp31fr0hxqing3cwxhkfgw"; + # this driver only seems to build correctly when built against the mariadb-connect-c subrepo + # (see https://github.com/NixOS/nixpkgs/issues/73258) + fetchSubmodules = true; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC mariadb.connector-c ]; + buildInputs = [ unixODBC openssl libiconv ]; + + preConfigure = '' + # we don't want to build a .pkg + sed -i 's/ADD_SUBDIRECTORY(osxinstall)//g' CMakeLists.txt + ''; cmakeFlags = [ - "-DMARIADB_INCLUDE_DIR=${mariadb.connector-c}/include/mariadb" + "-DWITH_OPENSSL=ON" + # on darwin this defaults to ON but we want to build against unixODBC + "-DWITH_IODBC=OFF" ]; passthru = { fancyName = "MariaDB"; - driver = "lib/libmaodbc.so"; + driver = if stdenv.isDarwin then "lib/libmaodbc.dylib" else "lib/libmaodbc.so"; }; meta = with stdenv.lib; { description = "MariaDB ODBC database driver"; homepage = https://downloads.mariadb.org/connector-odbc/; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; }; @@ -88,16 +100,16 @@ sqlite = stdenv.mkDerivation rec { pname = "sqlite-connector-odbc"; 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 @@ -105,7 +117,7 @@ mkdir -p "$out/lib" mv "$out"/*.* "$out/lib" ''; - + passthru = { fancyName = "SQLite"; driver = "lib/libsqlite3odbc.so"; @@ -133,8 +145,7 @@ sha256 = "0jb16irr7qlgd2zshg0vyia7zqipd0pcvwfcr6z807pss1mnzj8w"; }; - nativeBuildInputs = [ autoPatchelfHook ]; - buildInputs = [ unixODBC dpkg kerberos libuuid stdenv.cc.cc ]; + nativeBuildInputs = [ dpkg patchelf ]; unpackPhase = "dpkg -x $src ./"; buildPhase = ""; @@ -145,6 +156,11 @@ cp -r opt/microsoft/msodbcsql${versionMajor}/lib64 opt/microsoft/msodbcsql${versionMajor}/share $out/ ''; + postFixup = '' + patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl.out kerberos libuuid stdenv.cc.cc ]} \ + $out/lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional} + ''; + passthru = { fancyName = "ODBC Driver 17 for SQL Server"; driver = "lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional}"; |