diff options
Diffstat (limited to 'pkgs/development/libraries/duckdb/default.nix')
-rw-r--r-- | pkgs/development/libraries/duckdb/default.nix | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix index f1e4f56a595..7d12d9fabf2 100644 --- a/pkgs/development/libraries/duckdb/default.nix +++ b/pkgs/development/libraries/duckdb/default.nix @@ -1,26 +1,58 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , cmake +, ninja +, openssl +, openjdk11 +, unixODBC +, withHttpFs ? true +, withJdbc ? false +, withOdbc ? false }: +let + enableFeature = yes: if yes then "ON" else "OFF"; +in stdenv.mkDerivation rec { pname = "duckdb"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-apTU7WgKw/YEnT4maibyffqOrCoVwHPOkNINlAmtYYI="; + sha256 = "sha256-F5YOqDeY3rgcnuu5SNqOfUxhsaXgqvdJZTnD1unI0tc="; }; - nativeBuildInputs = [ cmake ]; + patches = [ ./version.patch ]; + postPatch = '' + substituteInPlace CMakeLists.txt --subst-var-by DUCKDB_VERSION "v${version}" + ''; + + cmakeFlags = [ + "-DBUILD_FTS_EXTENSION=ON" + "-DBUILD_HTTPFS_EXTENSION=${enableFeature withHttpFs}" + "-DBUILD_ICU_EXTENSION=ON" + "-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}" + "-DBUILD_PARQUET_EXTENSION=ON" + "-DBUILD_REST_EXTENSION=ON" + "-DBUILD_TPCDS_EXTENSION=ON" + "-DBUILD_TPCH_EXTENSION=ON" + "-DBUILD_VISUALIZER_EXTENSION=ON" + "-DJDBC_DRIVER=${enableFeature withJdbc}" + ]; + + nativeBuildInputs = [ cmake ninja ]; + buildInputs = lib.optionals withHttpFs [ openssl ] + ++ lib.optionals withJdbc [ openjdk11 ] + ++ lib.optionals withOdbc [ unixODBC ]; meta = with lib; { homepage = "https://github.com/duckdb/duckdb"; description = "Embeddable SQL OLAP Database Management System"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ costrouc ]; + maintainers = with maintainers; [ costrouc cpcloud ]; }; } |