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.
This commit is contained in:
Lily Ballard 2019-09-11 16:40:49 -07:00
parent bcaa3e702f
commit 7f481e807f

View File

@ -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 </dev/null
done
'';