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

staging-next 2024-08-23 #336718

Merged
merged 509 commits into from
Aug 31, 2024
Merged

staging-next 2024-08-23 #336718

merged 509 commits into from
Aug 31, 2024

Conversation

vcunat
Copy link
Member

@vcunat vcunat commented Aug 23, 2024

github-actions bot and others added 30 commits August 15, 2024 12:02
emacs: teach elisp builders the finalAttrs pattern
perl: add cc in addition to makeBinaryWrapper
boost{,-build}: fix building with llvm
[staging] iproute2: fix static build again
python312Packages.pikepdf: 9.1.0 -> 9.1.1
For example, when cross compiling to s390-linux.
These utilities will now leave the string undisturbed if it doesn't need to be quoted (because it doesn't have any special characters). This can help generate nicer-looking command lines.

This also transitively improves the output of `lib.toGNUCommandLine` which uses `escapeShellArg` internally
buildGoModule: Fix overriding with overlay-style stdenv
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.
@github-actions github-actions bot added the 6.topic: pantheon The Pantheon desktop environment label Aug 31, 2024
@vcunat vcunat merged commit 36a13f9 into master Aug 31, 2024
9 of 11 checks passed
@vcunat
Copy link
Member Author

vcunat commented Aug 31, 2024

Uh, the wayland-scanner fallout was quite large.

@flokli
Copy link
Contributor

flokli commented Aug 31, 2024

Yeah, sorry about that. There were quite some leaf packages missing. Luckily, the changes were very mechanical.

@vcunat
Copy link
Member Author

vcunat commented Aug 31, 2024

I wasn't able to fix some cases. IIRC it was those that were using pkg-config to detect wayland-scanner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.