Some packages don’t have /bin directories. We should only run
install_name_tool if that directory exists.
(cherry picked from commit 0b8574540b8691924a8dac6dc4d03004d8b25efa)
This was an early "pre-release" to stable, with a warning that the
interface is not stable yet (thought we don't actually expect it to
change).
We do expect to make many static build fixes, however, which should go
to master and staging, so we merge the cherry-picks back into master so
we can do those fixes against:
git merge-base upstream/master upstream/release-18.09
and merge into both master and release-18.09. This is easier than
cherry-picking when one knows in advance they are targeting multiple
branches.
No files should be changed with this merge.
Adds the static overlay that can be used to build Nixpkgs statically.
Can be used like:
nix build pkgsStatic.hello
Not all packages build, as some rely on dynamic linking.
(cherry picked from commit 6d90a8b8948185a3118faf183f29f4b8de294675)
This is kind of a mess, but basically:
- static=true, shared=true means to build statically but move it to
the static output
- static=true, shared=false means to build statically and leave it in
the main output
- static=false, shared=true means to not build static at all
Confusingly, the old default was static=true, shared=true even though
static=false? Still can’t figure out what was meant by that.
(cherry picked from commit e999def1597de9d03a35cfa6b62277adb0e9a7ad)
The conditional was incorrect - postInstall script should only hsppen
when enableShared = true.
(cherry picked from commit 5e06294276754ef063c618a1ecb12b629cde8ac3)
- makeStaticBinaries don’t work on Darwin (no stable ABI!)
- Need to make sure NIX_CFLAGS_LINK appends
- isStatic is not used anymore
(cherry picked from commit 8726f6a558ac7587db93ca2e67ec3ae1a0c0d5cc)
crossOverlays only apply to the packages being built, not the build
packages. It is useful when you don’t care what is used to build your
packages, just what is being built. The idea relies heavily on the
cross compiling infrastructure. Using this implies that we need to
create a cross stdenv.
(cherry picked from commit a3a6ad7a01e943a4097c87cb144d331910693d82)