flake/overlays/python/default.nix
2024-02-24 18:57:40 +01:00

89 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";
});
};
}