wolfram-for-jupyter-kernel: init at 0.9.2

Also, add a script 'wolfram-notebook' to easily start a jupyter
notebook for working with the Wolfram Engine.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

+67
+22
pkgs/applications/editors/jupyter-kernels/wolfram/default.nix
··· 1 + { callPackage 2 + , wolfram-engine 3 + }: 4 + 5 + # To test: 6 + # $(nix-build -E 'with import ./. {}; jupyter.override { definitions = { wolfram = wolfram-for-jupyter-kernel.definition; }; }')/bin/jupyter-notebook 7 + let kernel = callPackage ./kernel.nix {}; 8 + in { 9 + definition = { 10 + displayName = "Wolfram Language ${wolfram-engine.version}"; 11 + argv = [ 12 + "${wolfram-engine}/bin/wolfram" 13 + "-script" 14 + "${kernel}/share/Wolfram/WolframLanguageForJupyter/Resources/KernelForWolframLanguageForJupyter.wl" 15 + "{connection_file}" 16 + "ScriptInstall" # suppresses prompt 17 + ]; 18 + language = "Wolfram Language"; 19 + logo32 = "${wolfram-engine}/share/icons/hicolor/32x32/apps/wolfram-wolframlanguage.png"; 20 + logo64 = "${wolfram-engine}/share/icons/hicolor/64x64/apps/wolfram-wolframlanguage.png"; 21 + }; 22 + }
+32
pkgs/applications/editors/jupyter-kernels/wolfram/kernel.nix
··· 1 + { stdenv, lib, fetchFromGitHub }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "wolfram-for-jupyter-kernel"; 5 + version = "0.9.2"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "WolframResearch"; 9 + repo = "WolframLanguageForJupyter"; 10 + rev = "v${version}"; 11 + sha256 = "19d9dvr0bv7iy0x8mk4f576ha7z7h7id39nyrggwf9cp7gymxf47"; 12 + }; 13 + 14 + dontConfigure = true; 15 + 16 + installPhase = '' 17 + patchShebangs ./configure-jupyter.wls 18 + mkdir -p $out/share/Wolfram 19 + cp -r {WolframLanguageForJupyter,images,extras,LICENSE} $out/share/Wolfram 20 + ''; 21 + 22 + # no tests 23 + doCheck = false; 24 + 25 + meta = with lib; { 26 + description = "A Jupyter kernel for Wolfram Language."; 27 + homepage = "https://github.com/WolframResearch/WolframLanguageForJupyter"; 28 + license = licenses.mit; 29 + maintainers = with maintainers; [ fbeffa ]; 30 + platforms = platforms.all; 31 + }; 32 + }
+9
pkgs/applications/science/math/wolfram-engine/notebook.nix
··· 1 + { lib, stdenv, writeScriptBin, jupyter, wolfram-for-jupyter-kernel }: 2 + 3 + let 4 + wolfram-jupyter = jupyter.override { definitions = { wolfram = wolfram-for-jupyter-kernel.definition; }; }; 5 + in 6 + writeScriptBin "wolfram-notebook" '' 7 + #! ${stdenv.shell} 8 + ${wolfram-jupyter}/bin/jupyter-notebook 9 + ''
+4
pkgs/top-level/all-packages.nix
··· 32637 32637 32638 32638 wolfram-engine = callPackage ../applications/science/math/wolfram-engine { }; 32639 32639 32640 + wolfram-for-jupyter-kernel = callPackage ../applications/editors/jupyter-kernels/wolfram { }; 32641 + 32642 + wolfram-notebook = callPackage ../applications/science/math/wolfram-engine/notebook.nix { }; 32643 + 32640 32644 ipopt = callPackage ../development/libraries/science/math/ipopt { }; 32641 32645 32642 32646 gmsh = callPackage ../applications/science/math/gmsh { };