universe/pkgs/jupyterlab-vpython/default.nix

67 lines
1.2 KiB
Nix

{
buildPythonPackage,
fetchFromGitHub,
yarnConfigHook,
fetchYarnDeps,
jupyterlab,
jupyter,
jupyter-packaging,
hatchling,
hatch-jupyter-builder,
hatch-nodejs-version,
nodejs,
}:
buildPythonPackage rec {
pname = "jupyterlab-vpython";
version = "0-unstable-2024-03-10";
pyproject = true;
src = fetchFromGitHub {
owner = "jcoady";
repo = "jupyterlab_vpython";
rev = "6a217306bb3fea48cb04ae0e6980b871bae5c626";
hash = "sha256-yST604b5UAk+vPb0R8weI+ufuZFQTr6+MYUkX013s6I=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = ./yarn.lock;
hash = "sha256-/t97A2uUjtas7KBQXaK+lm0GXAtHOlT976G/qQpKN1Y=";
};
nativeBuildInputs = [
yarnConfigHook
nodejs
];
build-system = [
hatchling
hatch-jupyter-builder
hatch-nodejs-version
jupyterlab
jupyter
jupyter-packaging
];
dependencies = [
jupyterlab
jupyter
jupyter-packaging
];
prePatch = ''
cp ${./yarn.lock} yarn.lock
'';
preConfigure = ''
substituteInPlace package.json \
--replace-fail 'jlpm' 'yarn'
'';
preBuild = ''
# Generate the jupyterlab extension files
yarn --offline run build:prod
'';
}