70 lines
2.5 KiB
Nix
70 lines
2.5 KiB
Nix
{
|
|
autoPatchelfHook,
|
|
buildPythonPackage,
|
|
fetchPypi,
|
|
lib,
|
|
ml-dtypes,
|
|
numpy,
|
|
python,
|
|
stdenv,
|
|
}:
|
|
|
|
let
|
|
pythonVersionNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
|
|
systemToPlatform = {
|
|
"aarch64-linux" = "manylinux_2_17_aarch64.manylinux2014_aarch64";
|
|
"x86_64-linux" = "manylinux_2_17_x86_64.manylinux2014_x86_64";
|
|
"aarch64-darwin" = "macosx_11_0_arm64";
|
|
};
|
|
hashes = {
|
|
"310-x86_64-linux" = "sha256-GmzcxS5LhB0j5Qovoo4Bbm2fYdbqkYjUVV6hibBAoPY=";
|
|
"311-x86_64-linux" = "sha256-NzVYuAPYwsV/xhOxEAeuWBOfGaPN3UQ6DeXXtTIeWWE=";
|
|
"312-x86_64-linux" = "sha256-ztVDC836f8s6a9xEczF2FYy4d7Nb3SM8rILiW0zJTpI=";
|
|
"313-x86_64-linux" = "sha256-UrVG8Hayw78hfGDwXeQSTMEZfOkvjoJufsc64yQHSlo=";
|
|
"310-aarch64-linux" = "sha256-lQQbVaLshtH2aQUS0Yg1gbGPL09Gw9l4lK6wrC22r38=";
|
|
"311-aarch64-linux" = "sha256-ZcOhoqNaG1N0A/NkA9JYyqtHflZLwPZBCblBzHe08gM=";
|
|
"312-aarch64-linux" = "sha256-h6l6NLBHXdx9KvxA5d1/jRJSKqge37zMs5Yoz1kUVNU=";
|
|
"313-aarch64-linux" = "sha256-YnbiebRetdm5XE3z55ViVfQU/UsSjS3hbYrs3obDY1c";
|
|
"310-aarch64-darwin" = "sha256-uWG7u3ocakjkwUBqmMrr60AEYeLnWgi23wwBMpQDehU=";
|
|
"311-aarch64-darwin" = "sha256-9A5zvNwzPfs/f+D88CO8vsQVM8mFZldxj/duzhoZAuA=";
|
|
"312-aarch64-darwin" = "sha256-06JP62GV8cIiFillwBB8n/VtMizKI+GfDmZjb264DxQ=";
|
|
"313-aarch64-darwin" = "sha256-3ohD+zRiiZ3nvN7qzLkjA6nWEAa8NjZN60qI30YyC6Q=";
|
|
};
|
|
in
|
|
buildPythonPackage rec {
|
|
pname = "tensorstore";
|
|
version = "0.1.71";
|
|
format = "wheel";
|
|
|
|
# The source build involves some wonky Bazel stuff.
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
format = "wheel";
|
|
python = "cp${pythonVersionNoDot}";
|
|
abi = "cp${pythonVersionNoDot}";
|
|
dist = "cp${pythonVersionNoDot}";
|
|
platform = systemToPlatform.${stdenv.system} or (throw "unsupported system");
|
|
hash =
|
|
hashes."${pythonVersionNoDot}-${stdenv.system}"
|
|
or (throw "unsupported system/python version combination");
|
|
};
|
|
|
|
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
|
|
|
dependencies = [
|
|
ml-dtypes
|
|
numpy
|
|
];
|
|
|
|
pythonImportsCheck = [ "tensorstore" ];
|
|
|
|
meta = {
|
|
description = "Library for reading and writing large multi-dimensional arrays";
|
|
homepage = "https://google.github.io/tensorstore";
|
|
changelog = "https://github.com/google/tensorstore/releases/tag/v${version}";
|
|
license = lib.licenses.asl20;
|
|
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
|
maintainers = with lib.maintainers; [ samuela ];
|
|
};
|
|
}
|