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
treewide: Properly depend on autoreconfHook and pkg-config #29039
Conversation
While a good idea in general, definitely not 17.09 material. |
I disagree for the reasons I said above. To elaborate, large refactors that churn a lot of code but are highly unlikely to break anything are best done before releases, so later cherry-picks from master to stable do work. It would be ideal to do this before the fork-off for ease and simpler history, but I don't mind the extra work recreating this on master, and there's many other things already making the history complex. Additionally, it is likely this will be needed for #26805. I have talked extensively with our release managers, @globin and @fpletz on landing that by 17.09---while there is a still a fair amount of code motion, build-time breakage will be easy to detect and run-time breakage is highly unlikely as no versions are changing. |
a7aec95
to
152056f
Compare
I added a commit simplifying and making more forward-compatable |
152056f
to
be24076
Compare
@fpletz @globin I think https://hydra.mayflower.de/jobset/mayflower/hydra-jobs-cross-rewrite#tabs-evaluations might have stalled? The queue hasn't budged for a few hours. [Also, as I mentioned on IRC, I think the linux failures are spurious.] |
nativeBuildInputs = [ | ||
pkgconfig | ||
# For testing | ||
numpy ncurses |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these actually need to be native?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not. Did this come from a minimal edit? I'll check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah it did. @FRidh I agree it looks weird, but probably better to fix separately. Because this one is so big, I want to keep it boring.
be24076
to
a7e80a9
Compare
a7e80a9
to
d634e30
Compare
No longer slated for 17.09. |
d634e30
to
cefc98c
Compare
I erred on the side of caution when changing these.
It should be a nativeBuidInput
9421129
to
139b4cd
Compare
What is the state of this PR? |
It works; I'm currently using it. But, it bitrots lightening quick. If someone wants to give it a final review, tell me when they will and I'll fix it just before then. If that goes well, I should probably merge. |
LGTM, just needs a rebase :) |
Looks good to me too. |
Thanks! |
The expression uncarefully overrode whole nativeBuildInputs, so after the pkgconfig move it got removed and the build failed. 1.19.3 doesn't need these lines anyway...
This was one package in pkgs/servers/x11/xorg/default.nix that was *not* generated, and that was missed in the PR and overwritten (understandably). Now the change is properly in overrides.nix to prevent that...
As for "unlikely to break anything", I've spent a few hours fixing regressions from this. I think most changes with large "code churn" have a breaking potential. |
Thanks for making those fixes, @vcunat. I'm sorry I wasn't around this weekend to help. |
Motivation for this change
pkg-config and
autoreconfHook
should always be anativeBuildInputs
rather thanbuildInputs
. This big PR makes it so in most cases (when grep doesn't fail me). Additionally, we can get rid of the cross hacks to attempt to categorize them, now that it is fixed properly. Post-#26805 this may actually be necessary to keep the build from failing, too.Things done
https://hydra.mayflower.de/jobset/mayflower/hydra-jobs-cross-rewrite built some of this on linux.
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)