The two lines I removed technically assert the exact same thing, since `!a -> b`
is equivalent to `a || b`. So, I replaced the two lines with the more symmetric
form to make it clearer.
This builds Unreal Engine 4 and has a wrapper to start the editor.
Sadly the application requires write access to a lot of paths. I have a
hack to do a symlink tree under $HOME and it works well, the UE4Editor
binary just needs to be not a symlink.
GHCJS uses integer-gmp, but cabal2nix generates a dependency list that
includes integer-simple instead. This tweaks the stage2 generator to
replace any instance of integer-simple with integer-gmp.
Things currently still work without this change (assuming
integer-simple is defined as null), as ghcjs includes integer-gmp in
its stage1 packages - so it's always available.
However, this change makes things a bit more explicit, rather than
leaving things to chance. If at any point the stage1 packages are also
split up into separate derivations, the integer-gmp package will need to
be passed along to the packages that depend on it. This change should
prevent some confusion going forward.
Previously, we were compiling Setup.hs with ghcjs (instead of ghc),
and that required that Cabal be available, otherwise the Setup.hs would
fail to compile.
Now that we are compiling Setup.hs with ghc, it's no longer necessary
to add Cabal as a dependency to all ghcjs packages.
The included patch from upstream fixes the issue described here:
https://bugreports.qt.io/browse/QTBUG-48321
The backing store of certain widgets was being improperly invalidated,
leading to display bugs in, e.g. VLC.
This patch is included in Qt 5.6, so we should remove it when we
upgrade.
Multitarget option builds gdb with support for all targets. That's
similar to gdb-multiarch package in Ubuntu or gdb with multitarget
USE-flag in Gentoo.