Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding pkgsStatic: a fully static overlay #48803

Merged
merged 8 commits into from
Dec 5, 2018

Commits on Dec 5, 2018

  1. c-ares: don’t set configure flags

    These aren’t needed with dontDisableStatic
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    9d8de9f View commit details
    Browse the repository at this point in the history
  2. stdenv: implement crossOverlays

    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.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    a3a6ad7 View commit details
    Browse the repository at this point in the history
  3. treewide: remove static packages

    Nixpkgs is meant to link everything dynamically. We don’t want to
    expose static packages at the top level. If some package needs
    statically built binaries, it should use a custom override.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    b966d3c View commit details
    Browse the repository at this point in the history
  4. stdenv/adapters.nix: fixup makeStaticBinaries

    - makeStaticBinaries don’t work on Darwin (no stable ABI!)
    - Need to make sure NIX_CFLAGS_LINK appends
    - isStatic is not used anymore
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    8726f6a View commit details
    Browse the repository at this point in the history
  5. darwin/libiconv: fix static/shared logic

    The conditional was incorrect - postInstall script should only hsppen
    when enableShared = true.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    5e06294 View commit details
    Browse the repository at this point in the history
  6. zlib: clean up static/shared distincion

    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.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    e999def View commit details
    Browse the repository at this point in the history
  7. ncurses: make shared linking optinoal

    when enableShared = false, we set --without-shared flag.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    53a6789 View commit details
    Browse the repository at this point in the history
  8. top-level/stage.nix: add static overlay

    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.
    matthewbauer committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    6d90a8b View commit details
    Browse the repository at this point in the history