1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 cython,
7 setuptools,
8 numpy,
9 psutil,
10 pytest-xdist,
11 pytestCheckHook,
12 pythonAtLeast,
13 pythonOlder,
14 trio,
15 untangle,
16}:
17
18buildPythonPackage rec {
19 pname = "pydevd";
20 version = "3.3.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "fabioz";
27 repo = "PyDev.Debugger";
28 rev = "pydev_debugger_${lib.replaceStrings [ "." ] [ "_" ] version}";
29 hash = "sha256-V5pM0xnMFnpR1oK0purHFCV3wu+4fOmd72kmy7pVeyk=";
30 };
31
32 postPatch = ''
33 sed -i '/addopts/d' pytest.ini
34 '';
35
36 __darwinAllowLocalNetworking = true;
37
38 build-system = [
39 cython
40 setuptools
41 ];
42
43 nativeCheckInputs = [
44 numpy
45 psutil
46 #pytest-xdist
47 pytestCheckHook
48 trio
49 untangle
50 ];
51
52 disabledTests = [
53 # Require network connection
54 "test_completion_sockets_and_messages"
55 "test_path_translation"
56 "test_attach_to_pid_no_threads"
57 "test_attach_to_pid_halted"
58 "test_remote_debugger_threads"
59 "test_path_translation_and_source_reference"
60 "test_attach_to_pid"
61 "test_terminate"
62 "test_gui_event_loop_custom"
63 # AssertionError: assert '/usr/bin/' == '/usr/bin'
64 # https://github.com/fabioz/PyDev.Debugger/issues/227
65 "test_to_server_and_to_client"
66 # Times out
67 "test_case_sys_exit_multiple_exception_attach"
68 ]
69 ++ lib.optionals (pythonAtLeast "3.12") [
70 # raise segmentation fault
71 # https://github.com/fabioz/PyDev.Debugger/issues/269
72 "test_evaluate_expression"
73 ]
74 ++ lib.optionals stdenv.hostPlatform.isDarwin [
75 "test_multiprocessing_simple"
76 "test_evaluate_exception_trace"
77 ];
78
79 pythonImportsCheck = [ "pydevd" ];
80
81 meta = {
82 description = "PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)";
83 homepage = "https://github.com/fabioz/PyDev.Debugger";
84 license = lib.licenses.epl10;
85 maintainers = with lib.maintainers; [ onny ];
86 mainProgram = "pydevd";
87 };
88}