diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/duckdb | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/duckdb')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/duckdb/default.nix | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix index 7d12d9fabf2f..d4d45713de25 100644 --- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix +++ b/nixpkgs/pkgs/development/libraries/duckdb/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , cmake , ninja , openssl @@ -16,33 +17,80 @@ let in stdenv.mkDerivation rec { pname = "duckdb"; - version = "0.3.2"; + version = "0.4.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-F5YOqDeY3rgcnuu5SNqOfUxhsaXgqvdJZTnD1unI0tc="; + sha256 = "sha256-pQ/t26dv9ZWLl0MHcAn0sgxryW2T2hM8XyOkXyfC5CY="; }; - patches = [ ./version.patch ]; + patches = [ + ./version.patch + (fetchpatch { + name = "fix-tpce-test.patch"; + url = "https://github.com/duckdb/duckdb/commit/82e13a4bb9f0683af6c52468af2fb903cce4286d.patch"; + sha256 = "sha256-m0Bs0DOJQtkadbKZKk88NHyBFJkjxXUsiWYciuRIJLU="; + }) + (fetchpatch { + name = "fix-list-type-metadata.patch"; + url = "https://github.com/duckdb/duckdb/commit/26d123fdc57273903573c72b1ddafc52f365e378.patch"; + sha256 = "sha256-ttqs5EjeSLhZQOXc43Y5/N5IYSESQTD1FZWV1uJ15Fo="; + }) + ]; + postPatch = '' substituteInPlace CMakeLists.txt --subst-var-by DUCKDB_VERSION "v${version}" ''; cmakeFlags = [ + "-DBUILD_EXCEL_EXTENSION=ON" "-DBUILD_FTS_EXTENSION=ON" "-DBUILD_HTTPFS_EXTENSION=${enableFeature withHttpFs}" "-DBUILD_ICU_EXTENSION=ON" + "-DBUILD_JSON_EXTENSION=ON" "-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}" "-DBUILD_PARQUET_EXTENSION=ON" - "-DBUILD_REST_EXTENSION=ON" + "-DBUILD_REST=ON" + "-DBUILD_SUBSTRAIT_EXTENSION=ON" "-DBUILD_TPCDS_EXTENSION=ON" + "-DBUILD_TPCE=ON" "-DBUILD_TPCH_EXTENSION=ON" "-DBUILD_VISUALIZER_EXTENSION=ON" "-DJDBC_DRIVER=${enableFeature withJdbc}" ]; + doInstallCheck = true; + + preInstallCheck = lib.optionalString stdenv.isDarwin '' + export DYLD_LIBRARY_PATH="$out/lib''${DYLD_LIBRARY_PATH:+:}''${DYLD_LIBRARY_PATH}" + ''; + + installCheckPhase = + let + excludes = map (pattern: "exclude:'${pattern}'") [ + "*test_slow" + "Test file buffers for reading/writing to file" + "[test_slow]" + "test/common/test_cast_hugeint.test" + "test/sql/copy/csv/test_csv_remote.test" + "test/sql/copy/parquet/test_parquet_remote.test" + "test/sql/copy/parquet/test_parquet_remote_foreign_files.test" + ] ++ lib.optionals stdenv.isAarch64 [ + "test/sql/aggregate/aggregates/test_kurtosis.test" + "test/sql/aggregate/aggregates/test_skewness.test" + "test/sql/function/list/aggregates/skewness.test" + ]; + in + '' + runHook preInstallCheck + + $PWD/test/unittest ${lib.concatStringsSep " " excludes} + + runHook postInstallCheck + ''; + nativeBuildInputs = [ cmake ninja ]; buildInputs = lib.optionals withHttpFs [ openssl ] ++ lib.optionals withJdbc [ openjdk11 ] |