pkgs/vpython-jupyter: init with dependencies

This commit is contained in:
Infinidoge 2025-01-19 13:56:07 -05:00
parent e2f89e5e16
commit 903800fb0b
Signed by: Infinidoge
SSH key fingerprint: SHA256:EMoPe5e2dO0gEvtBb2xkZTz5dkyL0rBmuiGTKG5s96E
8 changed files with 9298 additions and 2 deletions

View file

@ -1,5 +1,5 @@
{ pkgs }:
{
rec {
bytecode-viewer = pkgs.callPackage ./bytecode-viewer.nix { };
ears-cli = pkgs.callPackage ./ears-cli.nix { };
fw-ectool = pkgs.callPackage ./fw-ectool.nix { };
@ -14,4 +14,8 @@
tmx-cups-ppd = pkgs.callPackage ./tmx-cups-ppd.nix { };
unbted = pkgs.callPackage ./unbted.nix { };
unmap = pkgs.callPackage ./unmap { };
vpython-jupyter = pkgs.python3Packages.callPackage ./vpython-jupyter.nix { inherit jupyterlab-vpython; };
jupyterlab-vpython = pkgs.python3Packages.callPackage ./jupyterlab-vpython { };
jupyter-server-proxy = pkgs.python3Packages.callPackage ./jupyter-server-proxy { inherit simpervisor; };
simpervisor = pkgs.python3Packages.callPackage ./simpervisor.nix { };
}

View file

@ -0,0 +1,68 @@
{ buildPythonPackage
, fetchFromGitHub
, yarnConfigHook
, fetchYarnDeps
, hatchling
, hatch-jupyter-builder
, nodejs
, jupyterlab
, aiohttp
, importlib-metadata
, jupyter-server
, simpervisor
, tornado
, traitlets
}:
buildPythonPackage {
pname = "jupyter-server-proxy";
version = "4.4.1-0.dev";
pyproject = true;
src = fetchFromGitHub {
owner = "jupyterhub";
repo = "jupyter-server-proxy";
rev = "44db8eec5b0fb7f4f842f3f30b9c17b5ed2ceec5";
hash = "sha256-AQr14CK/aT5rB46jmGzEATI6R/QoMt7RKUBSnoQuDzE=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = ./yarn.lock;
hash = "sha256-9zErE3SFrt7O7nKzRSX5Lup3z7b1c8GSCAMpF7hkiOU=";
};
nativeBuildInputs = [
yarnConfigHook
nodejs
];
build-system = [
hatchling
hatch-jupyter-builder
jupyterlab
];
dependencies = [
aiohttp
importlib-metadata
jupyter-server
simpervisor
tornado
traitlets
];
preConfigure = ''
substituteInPlace labextension/package.json \
--replace-fail 'jlpm' 'yarn'
pushd labextension
cp ${./yarn.lock} yarn.lock
'';
preBuild = ''
# Generate the jupyterlab extension files
yarn --offline run build:prod
popd
'';
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,66 @@
{ 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
'';
}

File diff suppressed because it is too large Load diff

18
pkgs/simpervisor.nix Normal file
View file

@ -0,0 +1,18 @@
{ buildPythonPackage, fetchFromGitHub, hatchling }:
buildPythonPackage {
pname = "simpervisor";
version = "0-unstable-2024-03-07";
pyproject = true;
src = fetchFromGitHub {
owner = "jupyterhub";
repo = "simpervisor";
rev = "f29189ec6eb961caa5b26782cac1645db074ddce";
hash = "sha256-rmEQ68Ll1cIzQrYXHTkLYVxog3kPkieExJ1xBTeQ2nc=";
};
build-system = [
hatchling
];
}

46
pkgs/vpython-jupyter.nix Normal file
View file

@ -0,0 +1,46 @@
{ buildPythonPackage
, fetchFromGitHub
, cython
, setuptools
, setuptools_scm
, autobahn
, ipykernel
, jupyter
, notebook
, numpy
, jupyterlab-vpython
}:
buildPythonPackage {
pname = "vpython-jupyter";
version = "7.6.5";
pyproject = true;
src = fetchFromGitHub {
owner = "vpython";
repo = "vpython-jupyter";
tag = "7.6.5";
hash = "sha256-k8cBeOU2ePLM+3f+0FHLiK4kejZ2ZSNbCdgYsG00xsg=";
};
build-system = [
cython
setuptools
setuptools_scm
];
dependencies = [
autobahn
ipykernel
jupyter
notebook
numpy
jupyterlab-vpython
];
preConfigure = ''
substituteInPlace setup.py \
--replace-fail "'jupyter-server-proxy', " ""
'';
}