Merge pull request #189993 from cpcloud/bump-duckdb

duckdb: 0.4.0 -> 0.5.0
This commit is contained in:
Robert Scott
2022-09-18 20:12:42 +01:00
committed by GitHub
5 changed files with 66 additions and 41 deletions
+5 -19
View File
@@ -17,29 +17,15 @@ let
in
stdenv.mkDerivation rec {
pname = "duckdb";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-pQ/t26dv9ZWLl0MHcAn0sgxryW2T2hM8XyOkXyfC5CY=";
sha256 = "sha256-dU8JXb++8OMEokr+4OyxLvcEc0vmdBvKDLxjeaWNkq0=";
};
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}"
'';
@@ -52,8 +38,6 @@ stdenv.mkDerivation rec {
"-DBUILD_JSON_EXTENSION=ON"
"-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
"-DBUILD_PARQUET_EXTENSION=ON"
"-DBUILD_REST=ON"
"-DBUILD_SUBSTRAIT_EXTENSION=ON"
"-DBUILD_TPCDS_EXTENSION=ON"
"-DBUILD_TPCE=ON"
"-DBUILD_TPCH_EXTENSION=ON"
@@ -63,7 +47,9 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
preInstallCheck = lib.optionalString stdenv.isDarwin ''
preInstallCheck = ''
export HOME="$(mktemp -d)"
'' + lib.optionalString stdenv.isDarwin ''
export DYLD_LIBRARY_PATH="$out/lib''${DYLD_LIBRARY_PATH:+:}''${DYLD_LIBRARY_PATH}"
'';
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "duckdb-engine";
version = "0.5.0";
version = "0.6.4";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -21,8 +21,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
repo = "duckdb_engine";
owner = "Mause";
rev = "refs/tags/v${version}";
hash = "sha256-6bR2pt7gUHZu4I7VmJgVsFT9u3/e4c9RAKHHlbX/Tyk=";
rev = "v${version}";
hash = "sha256-7PfrI4bNz0XtBa/cb8T43j06BJ3B2S5zIyBZsEusyXc=";
};
nativeBuildInputs = [
@@ -34,6 +34,15 @@ buildPythonPackage rec {
sqlalchemy
];
preCheck = ''
export HOME="$(mktemp -d)"
'';
# this test tries to download the httpfs extension
disabledTests = [
"test_preload_extension"
];
checkInputs = [
pytestCheckHook
hypothesis
@@ -36,11 +36,12 @@
, python
, pytz
, regex
, rich
, rsync
, shapely
, sqlalchemy
, sqlglot
, sqlite
, tabulate
, toolz
}:
let
@@ -62,7 +63,7 @@ in
buildPythonPackage rec {
pname = "ibis-framework";
version = "3.1.0";
version = "3.2.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -71,18 +72,9 @@ buildPythonPackage rec {
repo = "ibis";
owner = "ibis-project";
rev = version;
hash = "sha256-/mQWQLiJa1DRZiyiA6F0/lMyn3wSY1IUwJl2S0IFkvs=";
hash = "sha256-YRP1nGJs4btqXQirm0GfEDKNPCVXexVrwQ6sE8JtD2o=";
};
patches = [
(fetchpatch {
name = "xfail-datafusion-0.4.0";
url = "https://github.com/ibis-project/ibis/compare/c162abba4df24e0d531bd2e6a3be3109c16b43b9...6219d6caee19b6fd3171983c49cd8d6872e3564b.patch";
hash = "sha256-pCYPntj+TwzqCtYWRf6JF5/tJC4crSXHp0aepRocHck=";
excludes = ["poetry.lock"];
})
];
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
@@ -96,7 +88,7 @@ buildPythonPackage rec {
pydantic
pytz
regex
tabulate
rich
toolz
];
@@ -131,7 +123,9 @@ buildPythonPackage rec {
set -eo pipefail
export IBIS_TEST_DATA_DIRECTORY
IBIS_TEST_DATA_DIRECTORY="$(mktemp -d)"
IBIS_TEST_DATA_DIRECTORY="ci/ibis-testing-data"
mkdir -p "$IBIS_TEST_DATA_DIRECTORY"
# copy the test data to a directory
rsync --chmod=Du+rwx,Fu+rw --archive "${ibisTestingData}/" "$IBIS_TEST_DATA_DIRECTORY"
@@ -147,16 +141,16 @@ buildPythonPackage rec {
passthru = {
optional-dependencies = {
clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 ];
clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 sqlglot ];
dask = [ dask pyarrow ];
datafusion = [ datafusion ];
duckdb = [ duckdb duckdb-engine sqlalchemy ];
duckdb = [ duckdb duckdb-engine pyarrow sqlalchemy sqlglot ];
geospatial = [ geoalchemy2 geopandas shapely ];
mysql = [ pymysql sqlalchemy ];
mysql = [ sqlalchemy pymysql sqlglot ];
pandas = [ ];
postgres = [ psycopg2 sqlalchemy ];
postgres = [ psycopg2 sqlalchemy sqlglot ];
pyspark = [ pyarrow pyspark ];
sqlite = [ sqlalchemy sqlite ];
sqlite = [ sqlalchemy sqlite sqlglot ];
visualization = [ graphviz-nox ];
};
};
@@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, pytestCheckHook
, python-dateutil
, duckdb
}:
buildPythonPackage rec {
pname = "sqlglot";
version = "6.0.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
repo = "sqlglot";
owner = "tobymao";
rev = "v${version}";
hash = "sha256-7PBhf9NN/mCi92xSkB9ygfmfxTyOYaEyrNvL309sG5Y=";
};
propagatedBuildInputs = [ python-dateutil ];
checkInputs = [ pytestCheckHook duckdb ];
pythonImportsCheck = [ "sqlglot" ];
meta = with lib; {
description = "A no dependency Python SQL parser, transpiler, and optimizer";
homepage = "https://github.com/tobymao/sqlglot";
license = licenses.mit;
maintainers = with maintainers; [ cpcloud ];
};
}
+2
View File
@@ -10480,6 +10480,8 @@ in {
sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { };
sqlglot = callPackage ../development/python-modules/sqlglot { };
sqlitedict = callPackage ../development/python-modules/sqlitedict { };
sqlite-fts4 = callPackage ../development/python-modules/sqlite-fts4 { };