Change:
See A similar failure occurs for python38 on my machine locally (reproduce with in a freshly checked out ). Please run and paste the result.
Strange, I can't reproduce the error with 3.8 anymore :thinking: it seems that although the tests ~failed~ threw exceptions, and this was visible during , the derivation did successfully build.
It probably fails because of the hacky preCheck
So is the test simply flaky, and sometimes succeeds on Hydra? Or if not, shouldn't we exclude the test if it can't be set up properly?

Discussion:
{ lib , stdenv , buildPythonPackage <del> , fetchPypi </del> <ins> , fetchFromGitHub </ins> , pythonOlder , dnspython , greenlet

, nose , pyopenssl , iana-etc <ins> , pytestCheckHook </ins> , libredirect }: buildPythonPackage rec { pname = "eventlet"; version = "0.33.0"; <ins> format = "setuptools"; </ins> <del> src = fetchPypi { inherit pname version; sha256 = "80144f489c1bb273a51b6f96ff9785a382d2866b9bab1f5bd748385019f4141f"; </del> <ins> src = fetchFromGitHub { owner = "eventlet"; repo = pname; rev = "v${version}"; hash = "sha256-kE/eYBbaTt1mPGoUIMhonvFBlQOdAfPU5GvCvPaRHvs="; </ins> }; <del> propagatedBuildInputs = [ dnspython greenlet pyopenssl six ] ++ lib.optional (pythonOlder "3.5") monotonic; </del> <ins> propagatedBuildInputs = [ dnspython greenlet pyopenssl six ] ++ lib.optional (pythonOlder "3.5") [ monotonic ]; </ins> <del> checkInputs = [ nose ]; </del> <ins> checkInputs = [ pytestCheckHook nose ]; </ins> doCheck = !stdenv.isDarwin;

export EVENTLET_IMPORT_VERSION_ONLY=0 ''; <del> checkPhase = '' runHook preCheck </del> <ins> disabledTests = [ # Tests requires network access "test_017_ssl_zeroreturnerror" "test_getaddrinfo" "test_hosts_no_network" "test_leakage_from_tracebacks" "test_patcher_existing_locks_locked" ]; </ins> <del> # test_fork-after_monkey_patch fails on aarch64 on hydra only #   AssertionError: Expected single line "pass" in stdout nosetests --exclude test_getaddrinfo --exclude test_hosts_no_network --exclude test_fork_after_monkey_patch runHook postCheck ''; </del> <ins> disabledTestPaths = [ # Tests are out-dated "tests/stdlib/test_asynchat.py" "tests/stdlib/test_asyncore.py" "tests/stdlib/test_ftplib.py" "tests/stdlib/test_httplib.py" "tests/stdlib/test_httpservers.py" "tests/stdlib/test_os.py" "tests/stdlib/test_queue.py" "tests/stdlib/test_select.py" "tests/stdlib/test_SimpleHTTPServer.py" "tests/stdlib/test_socket_ssl.py" "tests/stdlib/test_socket.py" "tests/stdlib/test_socketserver.py" "tests/stdlib/test_ssl.py" "tests/stdlib/test_subprocess.py" "tests/stdlib/test_thread__boundedsem.py" "tests/stdlib/test_thread.py" "tests/stdlib/test_threading_local.py" "tests/stdlib/test_threading.py" "tests/stdlib/test_timeout.py" "tests/stdlib/test_urllib.py" "tests/stdlib/test_urllib2_localnet.py" "tests/stdlib/test_urllib2.py" ]; </ins> # unfortunately, it needs /etc/protocol to be present to not fail # pythonImportsCheck = [ "eventlet" ]; meta = with lib; { <del> homepage = "https://github.com/eventlet/eventlet/"; </del> description = "A concurrent networking library for Python"; <del> maintainers = with maintainers; [ SuperSandro2000 ]; </del> <ins> homepage = "https://github.com/eventlet/eventlet/"; </ins> license = licenses.mit; <ins> maintainers = with maintainers; [ SuperSandro2000 ]; </ins> }; }