diff --git a/pkgs/development/python-modules/notebook/2.nix b/pkgs/development/python-modules/notebook/2.nix new file mode 100644 index 000000000000..d081a5a92fbe --- /dev/null +++ b/pkgs/development/python-modules/notebook/2.nix @@ -0,0 +1,76 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchPypi +, nose +, nose_warnings_filters +, glibcLocales +, isPy3k +, mock +, jinja2 +, tornado +, ipython_genutils +, traitlets +, jupyter_core +, jupyter_client +, nbformat +, nbconvert +, ipykernel +, terminado +, requests +, send2trash +, pexpect +, prometheus_client +}: + +buildPythonPackage rec { + pname = "notebook"; + version = "5.7.8"; + + src = fetchPypi { + inherit pname version; + sha256 = "573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8"; + }; + + LC_ALL = "en_US.utf8"; + + checkInputs = [ nose glibcLocales ] + ++ (if isPy3k then [ nose_warnings_filters ] else [ mock ]); + + propagatedBuildInputs = [ + jinja2 tornado ipython_genutils traitlets jupyter_core send2trash + jupyter_client nbformat nbconvert ipykernel terminado requests pexpect + prometheus_client + ]; + + # disable warning_filters + preCheck = lib.optionalString (!isPy3k) '' + echo "" > setup.cfg + ''; + + postPatch = '' + # Remove selenium tests + rm -rf notebook/tests/selenium + + ''; + + checkPhase = '' + runHook preCheck + mkdir tmp + HOME=tmp nosetests -v ${if (stdenv.isDarwin) then '' + --exclude test_delete \ + --exclude test_checkpoints_follow_file + '' + else ""} + ''; + + # Some of the tests use localhost networking. + __darwinAllowLocalNetworking = true; + + meta = { + description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing"; + homepage = https://jupyter.org/; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fridh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4fa03173ce1f..77c8c59373a3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4015,7 +4015,8 @@ in { nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { }; - notebook = callPackage ../development/python-modules/notebook { }; + notebook = if isPy3k then callPackage ../development/python-modules/notebook { } + else callPackage ../development/python-modules/notebook/2.nix { }; notify = callPackage ../development/python-modules/notify { };