From 7f481e807f0c6dce9a1869ff6c54101340817d6a Mon Sep 17 00:00:00 2001 From: Lily Ballard Date: Wed, 11 Sep 2019 16:40:49 -0700 Subject: macvim: work around ibtool issue It seems that /usr/bin/ibtool marks stdin/stdout/stderr as nonblocking, which can cause the subsequent build phase to fail when it tries to write to stdout. I don't know why this problem just started happening for me, but preventing ibtool from inheriting fds fixes the problem. --- pkgs/applications/editors/vim/macvim.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pkgs/applications/editors') diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index 6081bbc8b0ca..3df964361cc8 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -48,7 +48,11 @@ stdenv.mkDerivation { # The sparkle patch modified the nibs, so we have to recompile them postPatch = '' for nib in MainMenu Preferences; do - /usr/bin/ibtool --compile src/MacVim/English.lproj/$nib.nib/keyedobjects.nib src/MacVim/English.lproj/$nib.nib + # redirect stdin/stdout/stderr to /dev/null because ibtool marks them nonblocking + # and not redirecting screws with subsequent commands. + # redirecting stderr is unfortunate but I don't know of a reasonable way to remove O_NONBLOCK + # from the fds. + /usr/bin/ibtool --compile src/MacVim/English.lproj/$nib.nib/keyedobjects.nib src/MacVim/English.lproj/$nib.nib >/dev/null 2>/dev/null