aithings/overlays/python/default.nix
2024-02-24 19:18:13 +01:00

81 lines
2.6 KiB
Nix

lib: {
fixPackages = final: prev:
let
relaxProtobuf = pkg: pkg.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ final.pythonRelaxDepsHook ];
pythonRelaxDeps = [ "protobuf" ];
});
in
{
invisible-watermark = prev.invisible-watermark.overridePythonAttrs {
pythonImportsCheck = [ ];
};
torchsde = prev.torchsde.overridePythonAttrs {
doCheck = false;
pythonImportsCheck = [ ];
};
pytorch-lightning = relaxProtobuf prev.pytorch-lightning;
wandb = relaxProtobuf (prev.wandb.overridePythonAttrs {
doCheck = false;
});
anyio = prev.anyio.overridePythonAttrs { doCheck = false; dontUsePytestCheck = true; };
mocket = prev.mocket.overridePythonAttrs { doCheck = false; dontUsePytestCheck = true; };
markdown-it-py = prev.markdown-it-py.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ final.pythonRelaxDepsHook ];
pythonRelaxDeps = [ "linkify-it-py" ];
passthru = old.passthru // {
optional-dependencies = with final; {
linkify = [ linkify-it-py ];
plugins = [ mdit-py-plugins ];
};
};
});
filterpy = prev.filterpy.overrideAttrs (old: {
doInstallCheck = false;
});
shap = prev.shap.overrideAttrs (old: {
doInstallCheck = false;
propagatedBuildInputs = old.propagatedBuildInputs ++ [ final.packaging ];
pythonImportsCheck = [ "shap" ];
meta = old.meta // {
broken = false;
};
});
streamlit =
let
streamlit = final.callPackage (final.pkgs.path + "/pkgs/applications/science/machine-learning/streamlit") {
protobuf3 = final.protobuf;
};
in
final.toPythonModule (relaxProtobuf streamlit);
opencv-python-headless = final.opencv-python;
opencv-python = final.opencv4;
};
torchRocm = final: prev: {
torch = prev.torch.override {
magma = prev.pkgs.magma-hip;
cudaSupport = false;
rocmSupport = true;
};
torchvision = prev.torchvision.overridePythonAttrs (old: {
patches = (old.patches or [ ]) ++ [ ./torchvision/fix-rocm-build.patch ];
});
};
torchCuda = final: prev: {
torch = prev.torch.override {
magma = prev.pkgs.magma-cuda-static;
cudaSupport = true;
rocmSupport = false;
};
};
bitsAndBytesOldGpu = final: prev: {
bitsandbytes = prev.bitsandbytes.overridePythonAttrs (old: {
preBuild = old.preBuild + " cuda${final.torch.cudaPackages.cudaMajorVersion}x_nomatmul";
});
};
}