mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-15 06:14:57 +01:00
311277204d
krb5 and libkrb5 are two separate derivations that can easily end up in the same closure. They both provide the same shared libraries and some packages end up getting both copies. Since both copies come from the same source, packages often get lucky in this situation and just use whichever library is found first. Sometimes packages are less fortunate and end up trying to load both. This has gone largely unnoticed in Nixpkgs, likely because Kerberos is not widely used outside of enterprise deployments. This situation seems to have arisen out of a need to break a cycle in `fetchurl -> curl -> krb5 -> fetchurl`. The libkrb5 build was able to avoid depending on bison and libedit, making it easier to break the cycle. However, we can break the cycle without resorting to two variants of krb5. Libedit can be removed with configure flags and byacc can be used instead of bison, allowing a much smaller build closure that can easily be resolved when breaking the cycle. This change also adds a "lib" output to krb5 so that packages depending on krb5 can still benefit from a smaller runtime closure if they only need the shared libraries. A future change will include a tree-wide refactor to switch uses of libkrb5 to krb5. |
||
---|---|---|
.. | ||
heimdal.nix | ||
krb5.nix |