nixpkgs/pkgs/development/python-modules/duckdb/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

60 lines
1.1 KiB
Nix

{ lib
, buildPythonPackage
, fetchpatch
, duckdb
, google-cloud-storage
, mypy
, numpy
, pandas
, psutil
, pybind11
, setuptools-scm
, pytestCheckHook
}:
buildPythonPackage rec {
inherit (duckdb) pname version src patches;
format = "setuptools";
# we can't use sourceRoot otherwise patches don't apply, because the patches
# apply to the C++ library
postPatch = ''
cd tools/pythonpkg
# 1. let nix control build cores
# 2. unconstrain setuptools_scm version
substituteInPlace setup.py \
--replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES" \
--replace "setuptools_scm<7.0.0" "setuptools_scm"
'';
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
pybind11
setuptools-scm
];
propagatedBuildInputs = [
numpy
pandas
];
nativeCheckInputs = [
google-cloud-storage
mypy
psutil
pytestCheckHook
];
pythonImportsCheck = [
"duckdb"
];
meta = with lib; {
description = "Python binding for DuckDB";
homepage = "https://duckdb.org/";
license = licenses.mit;
maintainers = with maintainers; [ costrouc cpcloud ];
};
}