Merge pull request #43040 from matthewbauer/darwin-closure-reductions
Darwin stdenv tweaks
This commit is contained in:
commit
f513d580b0
@ -1,5 +1,4 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig
|
{ stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
|
||||||
, ApplicationServices, CoreServices }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.21.0";
|
version = "1.21.0";
|
||||||
@ -12,6 +11,13 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1jjg34ppnlrnb634q9mla7whl7rm9xmjgnzckrznqcycwzir074b";
|
sha256 = "1jjg34ppnlrnb634q9mla7whl7rm9xmjgnzckrznqcycwzir074b";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/libuv/libuv/pull/1909.patch";
|
||||||
|
sha256 = "1s2692h4dvqnzwwicrkpj0zph1i2bhv39w31z5vh7ssgvykaradj";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = let
|
postPatch = let
|
||||||
toDisable = [
|
toDisable = [
|
||||||
"getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
|
"getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
|
||||||
@ -19,15 +25,28 @@ stdenv.mkDerivation rec {
|
|||||||
"getaddrinfo_fail" "getaddrinfo_fail_sync"
|
"getaddrinfo_fail" "getaddrinfo_fail_sync"
|
||||||
"threadpool_multiple_event_loops" # times out on slow machines
|
"threadpool_multiple_event_loops" # times out on slow machines
|
||||||
]
|
]
|
||||||
# sometimes: timeout (no output), failed uv_listen
|
# Sometimes: timeout (no output), failed uv_listen. Someone
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [ "process_title" "emfile" ];
|
# 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;
|
tdRegexp = lib.concatStringsSep "\\|" toDisable;
|
||||||
in lib.optionalString doCheck ''
|
in lib.optionalString doCheck ''
|
||||||
sed '/${tdRegexp}/d' -i test/test-list.h
|
sed '/${tdRegexp}/d' -i test/test-list.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
|
nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
|
||||||
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ];
|
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
LIBTOOLIZE=libtoolize ./autogen.sh
|
LIBTOOLIZE=libtoolize ./autogen.sh
|
||||||
@ -35,10 +54,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
# These should be turned back on, but see https://github.com/NixOS/nixpkgs/issues/23651
|
doCheck = true;
|
||||||
# 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;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A multi-platform support library with a focus on asynchronous I/O";
|
description = "A multi-platform support library with a focus on asynchronous I/O";
|
||||||
|
@ -71,6 +71,8 @@ let
|
|||||||
# because we copy files from the system
|
# because we copy files from the system
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
||||||
|
disallowedRequisites = [ sdk ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
linkFramework() {
|
linkFramework() {
|
||||||
local path="$1"
|
local path="$1"
|
||||||
|
@ -86,7 +86,6 @@ with frameworks; with libs; {
|
|||||||
QTKit = [ CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox ];
|
QTKit = [ CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox ];
|
||||||
QuickLook = [ ApplicationServices CF ];
|
QuickLook = [ ApplicationServices CF ];
|
||||||
QuickTime = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ];
|
QuickTime = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ];
|
||||||
Ruby = [];
|
|
||||||
SceneKit = [];
|
SceneKit = [];
|
||||||
ScreenSaver = [];
|
ScreenSaver = [];
|
||||||
Scripting = [];
|
Scripting = [];
|
||||||
|
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
|
sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
disallowedRequisites = [ apple_sdk.sdk ];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
# copied from libsecurity_generic
|
# copied from libsecurity_generic
|
||||||
cp -R ${osx_private_sdk}/include/SecurityPrivateHeaders Security
|
cp -R ${osx_private_sdk}/include/SecurityPrivateHeaders Security
|
||||||
@ -97,4 +99,3 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.apsl20;
|
license = licenses.apsl20;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10683,9 +10683,7 @@ with pkgs;
|
|||||||
then darwin.libunwind
|
then darwin.libunwind
|
||||||
else callPackage ../development/libraries/libunwind { };
|
else callPackage ../development/libraries/libunwind { };
|
||||||
|
|
||||||
libuv = callPackage ../development/libraries/libuv {
|
libuv = callPackage ../development/libraries/libuv { };
|
||||||
inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
|
|
||||||
};
|
|
||||||
|
|
||||||
libv4l = lowPrio (v4l_utils.override {
|
libv4l = lowPrio (v4l_utils.override {
|
||||||
withUtils = false;
|
withUtils = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user