nixpkgs/pkgs/development/python-modules/jupyter_server/default.nix
toonn 9e7f498eaf
jupyter_server: Patch unicode test for Darwin (#145993)
The test relies on creating and then reading files with unicode names
to/from disk. Apple's HFS+, the default file system until recently, is
unicode-normalizing with normal form D (NFD). So not all unicode file
names round-trip. This patch implements one imperfect solution.

ZHF: #144627
2021-11-15 13:38:40 -05:00

96 lines
1.9 KiB
Nix

{ lib
, stdenv
, buildPythonPackage
, fetchpatch
, fetchPypi
, pythonOlder
, pytestCheckHook
, pytest-tornasync
, argon2_cffi
, jinja2
, tornado
, pyzmq
, ipython_genutils
, traitlets
, jupyter_core
, jupyter-client
, nbformat
, nbconvert
, send2trash
, terminado
, prometheus-client
, anyio
, websocket-client
, requests
, requests-unixsocket
}:
buildPythonPackage rec {
pname = "jupyter_server";
version = "1.11.2";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "c1f32e0c1807ab2de37bf70af97a36b4436db0bc8af3124632b1f4441038bf95";
};
patches = [ (fetchpatch
{ name = "Normalize-file-name-and-path.patch";
url = "https://github.com/jupyter-server/jupyter_server/pull/608/commits/345e26cdfd78651954b68708fa44119c2ac0dbd5.patch";
sha256 = "1kqz3dyh2w0h1g1fbvqa13q17hb6y32694rlaasyg213mq6g4k32";
})
];
propagatedBuildInputs = [
argon2_cffi
jinja2
tornado
pyzmq
ipython_genutils
traitlets
jupyter_core
jupyter-client
nbformat
nbconvert
send2trash
terminado
prometheus-client
anyio
websocket-client
requests-unixsocket
];
checkInputs = [
pytestCheckHook
pytest-tornasync
requests
];
preCheck = ''
export HOME=$(mktemp -d)
export PATH=$out/bin:$PATH
'';
pytestFlagsArray = [ "jupyter_server" ];
# disabled failing tests
disabledTests = [
"test_server_extension_list"
"test_list_formats"
"test_base_url"
"test_culling"
] ++ lib.optionals stdenv.isDarwin [
# attempts to use trashcan, build env doesn't allow this
"test_delete"
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "The backendi.e. core services, APIs, and REST endpointsto Jupyter web applications";
homepage = "https://github.com/jupyter-server/jupyter_server";
license = licenses.bsdOriginal;
maintainers = [ maintainers.elohmeier ];
};
}