Merge pull request #123948 from codedownio/init-octave-kernel
This commit is contained in:
commit
4d4fdc3292
60
pkgs/applications/editors/jupyter-kernels/octave/default.nix
Normal file
60
pkgs/applications/editors/jupyter-kernels/octave/default.nix
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, callPackage
|
||||||
|
, runCommand
|
||||||
|
, makeWrapper
|
||||||
|
, octave
|
||||||
|
, imagemagick
|
||||||
|
, python3
|
||||||
|
}:
|
||||||
|
|
||||||
|
# To test:
|
||||||
|
# $(nix-build -E 'with import <nixpkgs> {}; jupyter.override { definitions = { octave = octave-kernel.definition; }; }')/bin/jupyter-notebook
|
||||||
|
|
||||||
|
let
|
||||||
|
kernel = callPackage ./kernel.nix {
|
||||||
|
python3Packages = python3.pkgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
rec {
|
||||||
|
launcher = runCommand "octave-kernel-launcher" {
|
||||||
|
inherit octave;
|
||||||
|
python = python3.withPackages (ps: [ ps.traitlets ps.jupyter_core ps.ipykernel ps.metakernel kernel ]);
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
|
makeWrapper $python/bin/python $out/bin/octave-kernel \
|
||||||
|
--add-flags "-m octave_kernel" \
|
||||||
|
--suffix PATH : $octave/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
sizedLogo = size: stdenv.mkDerivation {
|
||||||
|
name = ''octave-logo-${octave.version}-${size}x${size}.png'';
|
||||||
|
|
||||||
|
src = octave.src;
|
||||||
|
|
||||||
|
buildInputs = [ imagemagick ];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
dontInstall = true;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
convert ./libgui/src/icons/logo.png -resize ${size}x${size} $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
definition = {
|
||||||
|
displayName = "Octave";
|
||||||
|
argv = [
|
||||||
|
"${launcher}/bin/octave-kernel"
|
||||||
|
"-f"
|
||||||
|
"{connection_file}"
|
||||||
|
];
|
||||||
|
language = "octave";
|
||||||
|
logo32 = sizedLogo "32";
|
||||||
|
logo64 = sizedLogo "64";
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/applications/editors/jupyter-kernels/octave/kernel.nix
Normal file
30
pkgs/applications/editors/jupyter-kernels/octave/kernel.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ lib, octave, python3Packages }:
|
||||||
|
|
||||||
|
with python3Packages;
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "octave-kernel";
|
||||||
|
version = "0.32.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "octave_kernel";
|
||||||
|
inherit version;
|
||||||
|
sha256 = "0dfbxfcf3bz4jswnpkibnjwlkgy0y4j563nrhaqxv3nfa65bksif";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ metakernel ipykernel ];
|
||||||
|
|
||||||
|
# Tests require jupyter_kernel_test to run, but it hasn't seen a
|
||||||
|
# release since 2017 and seems slightly abandoned.
|
||||||
|
# Doing fetchPypi on it doesn't work, even though it exists here:
|
||||||
|
# https://pypi.org/project/jupyter_kernel_test/.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A Jupyter kernel for Octave.";
|
||||||
|
homepage = "https://github.com/Calysto/octave_kernel";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ thomasjm ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/metakernel/default.nix
Normal file
30
pkgs/development/python-modules/metakernel/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, ipykernel
|
||||||
|
, isPy27
|
||||||
|
, mock
|
||||||
|
, pytest
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "metakernel";
|
||||||
|
version = "0.27.5";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0aqq9zil6h7kxsg3v2008nr6lv47qvcsash8qzmi1xh6r4x606zy";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ ipykernel ];
|
||||||
|
|
||||||
|
# Tests hang, so disable
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Jupyter/IPython Kernel Tools";
|
||||||
|
homepage = "https://github.com/Calysto/metakernel";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ thomasjm ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -12377,6 +12377,8 @@ in
|
||||||
overridePlatforms = ["x86_64-linux" "x86_64-darwin"];
|
overridePlatforms = ["x86_64-linux" "x86_64-darwin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
octave-kernel = callPackage ../applications/editors/jupyter-kernels/octave { };
|
||||||
|
|
||||||
octavePackages = recurseIntoAttrs octave.pkgs;
|
octavePackages = recurseIntoAttrs octave.pkgs;
|
||||||
|
|
||||||
ocropus = callPackage ../applications/misc/ocropus { };
|
ocropus = callPackage ../applications/misc/ocropus { };
|
||||||
|
|
|
@ -4385,6 +4385,8 @@ in {
|
||||||
|
|
||||||
mesonpep517 = callPackage ../development/python-modules/mesonpep517 { };
|
mesonpep517 = callPackage ../development/python-modules/mesonpep517 { };
|
||||||
|
|
||||||
|
metakernel = callPackage ../development/python-modules/metakernel { };
|
||||||
|
|
||||||
metar = callPackage ../development/python-modules/metar { };
|
metar = callPackage ../development/python-modules/metar { };
|
||||||
|
|
||||||
meteoalertapi = callPackage ../development/python-modules/meteoalertapi { };
|
meteoalertapi = callPackage ../development/python-modules/meteoalertapi { };
|
||||||
|
|
Loading…
Reference in a new issue