diff options
Diffstat (limited to 'pkgs/development/libraries/libuv/default.nix')
-rw-r--r-- | pkgs/development/libraries/libuv/default.nix | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 4dc601745a42..c902a8b216a8 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,17 +1,23 @@ -{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig -, ApplicationServices, CoreServices }: +{ stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }: stdenv.mkDerivation rec { - version = "1.20.3"; + version = "1.21.0"; name = "libuv-${version}"; src = fetchFromGitHub { owner = "libuv"; repo = "libuv"; rev = "v${version}"; - sha256 = "1a8a679wni560z7x6w5i431vh2g0f34cznflcn52klx1vwcggrg7"; + sha256 = "1jjg34ppnlrnb634q9mla7whl7rm9xmjgnzckrznqcycwzir074b"; }; + patches = [ + (fetchpatch { + url = "https://github.com/libuv/libuv/pull/1909.patch"; + sha256 = "1s2692h4dvqnzwwicrkpj0zph1i2bhv39w31z5vh7ssgvykaradj"; + }) + ]; + postPatch = let toDisable = [ "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent @@ -19,15 +25,28 @@ stdenv.mkDerivation rec { "getaddrinfo_fail" "getaddrinfo_fail_sync" "threadpool_multiple_event_loops" # times out on slow machines ] - # sometimes: timeout (no output), failed uv_listen - ++ stdenv.lib.optionals stdenv.isDarwin [ "process_title" "emfile" ]; + # Sometimes: timeout (no output), failed uv_listen. Someone + # should report these failures to libuv team. There tests should + # be much more robust. + ++ stdenv.lib.optionals stdenv.isDarwin [ + "process_title" "emfile" "poll_duplex" "poll_unidirectional" + "ipc_listen_before_write" "ipc_listen_after_write" "ipc_tcp_connection" + "tcp_alloc_cb_fail" "tcp_ping_pong" "tcp_ref3" "tcp_ref4" + "tcp_bind6_error_inval" "tcp_bind6_error_addrinuse" "tcp_read_stop" + "tcp_unexpected_read" "tcp_write_to_half_open_connection" + "tcp_oob" "tcp_close_accept" "tcp_create_early_accept" + "tcp_create_early" "tcp_close" "tcp_bind_error_inval" + "tcp_bind_error_addrinuse" "tcp_shutdown_after_write" + "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot" + "multiple_listen" "delayed_accept" + "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack" + ]; tdRegexp = lib.concatStringsSep "\\|" toDisable; in lib.optionalString doCheck '' sed '/${tdRegexp}/d' -i test/test-list.h ''; nativeBuildInputs = [ automake autoconf libtool pkgconfig ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ]; preConfigure = '' LIBTOOLIZE=libtoolize ./autogen.sh @@ -35,10 +54,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - # These should be turned back on, but see https://github.com/NixOS/nixpkgs/issues/23651 - # For now the tests are just breaking large swaths of the nixpkgs binary cache for Darwin, - # and I'd rather have everything else work at all than have stronger assurance here. - doCheck = !stdenv.isDarwin; + doCheck = true; meta = with lib; { description = "A multi-platform support library with a focus on asynchronous I/O"; |