Merge pull request #51030 from timokau/sage-jupyter
sage: add jupyter notebook support
This commit is contained in:
commit
a7d9d2e860
@ -39,6 +39,22 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
jupyter-kernel-definition = {
|
||||
displayName = "SageMath ${sage-src.version}";
|
||||
argv = [
|
||||
"${sage-with-env}/bin/sage" # FIXME which sage
|
||||
"--python"
|
||||
"-m"
|
||||
"sage.repl.ipython_kernel"
|
||||
"-f"
|
||||
"{connection_file}"
|
||||
];
|
||||
language = "sagemath";
|
||||
# just one 16x16 logo is available
|
||||
logo32 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
|
||||
logo64 = "${sage-src}/doc/common/themes/sage/static/sageicon.png";
|
||||
};
|
||||
|
||||
# A bash script setting various environment variables to tell sage where
|
||||
# the files its looking fore are located. Also see `sage-env`.
|
||||
env-locations = callPackage ./env-locations.nix {
|
||||
@ -158,6 +174,6 @@ let
|
||||
in
|
||||
# A wrapper around sage that makes sure sage finds its docs (if they were build).
|
||||
callPackage ./sage.nix {
|
||||
inherit sage-tests sage-with-env sagedoc;
|
||||
inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition;
|
||||
inherit withDoc;
|
||||
}
|
||||
|
@ -2,12 +2,23 @@
|
||||
, makeWrapper
|
||||
, sage-tests
|
||||
, sage-with-env
|
||||
, jupyter-kernel-definition
|
||||
, jupyter-kernel
|
||||
, sagedoc
|
||||
, withDoc
|
||||
}:
|
||||
|
||||
# A wrapper that makes sure sage finds its docs (if they were build).
|
||||
# A wrapper that makes sure sage finds its docs (if they were build) and the
|
||||
# jupyter kernel spec.
|
||||
|
||||
let
|
||||
# generate kernel spec + default kernels
|
||||
kernel-specs = jupyter-kernel.create {
|
||||
definitions = jupyter-kernel.default // {
|
||||
sagemath = jupyter-kernel-definition;
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = src.version;
|
||||
name = "sage-${version}";
|
||||
@ -29,8 +40,9 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p "$out/bin"
|
||||
makeWrapper "${sage-with-env}/bin/sage" "$out/bin/sage" \
|
||||
--set SAGE_DOC_SRC_OVERRIDE "${src}/src/doc" ${
|
||||
stdenv.lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"
|
||||
}
|
||||
stdenv.lib.optionalString withDoc "--set SAGE_DOC_OVERRIDE ${sagedoc}/share/doc/sage"
|
||||
} \
|
||||
--prefix JUPYTER_PATH : "${kernel-specs}"
|
||||
'';
|
||||
|
||||
doInstallCheck = withDoc;
|
||||
@ -44,6 +56,7 @@ stdenv.mkDerivation rec {
|
||||
tests = sage-tests;
|
||||
doc = sagedoc;
|
||||
lib = sage-with-env.env.lib;
|
||||
kernelspec = jupyter-kernel-definition;
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
Loading…
Reference in New Issue
Block a user