Merge pull request #189993 from cpcloud/bump-duckdb
duckdb: 0.4.0 -> 0.5.0
This commit is contained in:
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user