- pkg-conf is now part of stdenv
- patches pkgs-config files to use explicit paths file/lib references,
which elimates the needs for propagating pkg-config dependencies.
(propagatation very bad and impure)
- same as absolute-pkgconfig, this hook uses explicit paths in libtool files
parallel building enabled by default, and enableParallelBuilding is replaced
Remove stdenv.system and other broken platform specific functions. These
functions only respected the host system, and were not cross compilation
aware. stdenv.system is now stdenv.hostSystem & stdenv,targetSystem.
- lib.elem stdenv.targetSystem lib.platforms.
- Refactored lib.platforms to be more robust and feature complete.
- Specific platfrom tuples are now used in meta.platforms for most packages
and they are no referenced by attr instead of strings (for tuples).
- Removed insecure webkit/blink version (webkitgtk-2.4, qt4, qt5(disabled by
Added cmake’s ninja generator support in cmake hooks
- Used if ninja is a buildInput.
- use platform tuple for driver directory instead of platform word size
- mesa.driverLink -> mesa.driverSearchPath
- mesaSupported -> mesa_noglu.meta.platforms
- all modules are built by default (minus tcl/tk)
- fix pythonPackage’s callPackage scope
- Move vendored patches in the triton repo to triton-patches
- Migrate packages away from a category based heirarchy to subdividing
based of the first few characters.
- gtk3 and qt5 are now the default where supported.
gtk2 & qt4 are deprecated
- non-essential packages and packages supporting newer toolkits are
not allowed to use gtk2. Both projects are un-maintained by their
Remove unnecessary nested attrs
- Remove Xorg aliases, xorg packages are accessible via xorg.
Fetchurl (and company)
Compiler hardening & optimization by default
Raised minimum supported platforms for all architectures
- x86 = Westmere
- Arm = v7 w/ floating point
- Power = 8
- rewrite in progress
- gcc6 by default, previously gcc5 by default
Consistent coding style
- needs documentation, but it’s there
Disable recursion in all-packages.nix
- This means you can’t use
gtk = gtk_3, these types of alliases do NOT
pass overrides through aliases causing adverse affects.
- package auto updater
- unvendors vendored dependencies for reuse
enable /tmp cleanup by default