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

stdenv: symlink propagated docs #44558

Merged
merged 1 commit into from Aug 7, 2018

Conversation

oxij
Copy link
Member

@oxij oxij commented Aug 6, 2018

Motivation for this change

This sidesteps the original problem of #43547 as suggested by @infinisil in #43547 (comment) and @dezgeg in #44516 (comment).

Things done
  • stdenv-linux builds.
Things not done
  • Please try building stdenv on darwin.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: stdenv

Partial log (click to expand)

shrinking /nix/store/2z3038xm0kz0r1ssav33fv4hbv0pq7ng-findutils-4.6.0/bin/find
gzipping man pages under /nix/store/2z3038xm0kz0r1ssav33fv4hbv0pq7ng-findutils-4.6.0/share/man/
strip is /nix/store/gfgczbs0cy0blibb0acv39cayq7qbplg-bootstrap-tools/bin/strip
stripping (with command strip and flags -S) in /nix/store/2z3038xm0kz0r1ssav33fv4hbv0pq7ng-findutils-4.6.0/libexec  /nix/store/2z3038xm0kz0r1ssav33fv4hbv0pq7ng-findutils-4.6.0/bin
checking for references to /build in /nix/store/2z3038xm0kz0r1ssav33fv4hbv0pq7ng-findutils-4.6.0...
shrinking RPATHs of ELF executables and libraries in /nix/store/lsmsjzyh6vkxh5afgdcfan0xrchva1k1-findutils-4.6.0-info
strip is /nix/store/gfgczbs0cy0blibb0acv39cayq7qbplg-bootstrap-tools/bin/strip
checking for references to /build in /nix/store/lsmsjzyh6vkxh5afgdcfan0xrchva1k1-findutils-4.6.0-info...
building '/nix/store/2zh785n8svknm2vh18qqr5j8hc2w5xky-stdenv-linux.drv'...
/nix/store/n4rqswr3wxybl1blym288nvi6f2j7hhm-stdenv-linux

Copy link
Member

@Ericson2314 Ericson2314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

@Ericson2314
Copy link
Member

I like the new parameter order, too.

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Attempted: stdenv

Partial log (click to expand)

cannot build derivation '/nix/store/gv2ra3dw23zjlfpwrclb5wvb2p7cslkm-binutils-wrapper-2.30.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/md9qmq656haf58kh7ij9y87hc3v3sd09-diffutils-3.6.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/f9r4jjmgqv4zdbj5b7qw910ar9d3hqga-ed-1.14.2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/yw0wary5dasb6ngkbl095ghwhzdh9bj1-findutils-4.6.0.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/700cqzc1qr6yyq0244nwvmj88ncj7mjm-libtool-2.4.6.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/pq35ylz9iad5c43hknqnmbc42vvb5pni-gcc-wrapper-7.3.0.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/15rvbc8na9c9w8424flf2ibka9a014fb-hook.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/pyfqdcc1l0bf5a89a1gvb7rsxidlp6dj-patch-2.7.6.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/1l3hrcfnl937gsdhh884lh5dzhzvmzgq-stdenv-linux.drv': 24 dependencies couldn't be built
error: build of '/nix/store/1l3hrcfnl937gsdhh884lh5dzhzvmzgq-stdenv-linux.drv' failed

@oxij oxij force-pushed the stdenv/symlink-propagated-docs branch from 676d8e0 to 02c09e0 Compare August 6, 2018 20:51
@oxij
Copy link
Member Author

oxij commented Aug 6, 2018

It just struck me that this can be simplified even more with the changes I already made here. Dropped all explicit propagateDoc uses from everywhere, it works out automagically anyway.

@oxij
Copy link
Member Author

oxij commented Aug 7, 2018 via email

@matthewbauer matthewbauer merged commit f0fcbaf into NixOS:staging Aug 7, 2018
@Ericson2314
Copy link
Member

Sorry for no merge from me; I'm temporary unable to test on Darwin. Thanks @matthewbauer

@edolstra
Copy link
Member

edolstra commented Aug 9, 2018

IMHO the correct fix is to use propagated-user-env-packages.

@oxij
Copy link
Member Author

oxij commented Aug 9, 2018 via email

@Ericson2314
Copy link
Member

Ericson2314 commented Aug 9, 2018

I want to be able to do nix-shell -p stdemv.cc.man and have that work too. That preludes propagated user env packages.

oxij added a commit to oxij/nixpkgs that referenced this pull request Sep 23, 2018
02c09e0 (NixOS#44558) was reverted in
c981787 but, as it turns out, it fixed an issue
I didn't know about at the time: the values of `propagateDoc` options were
(and now again are) inconsistent with the underlying things those wrappers wrap
(see NixOS#46119), which was (and now is) likely to produce more instances
of NixOS#43547, if not now, then eventually as stdenv changes.

This patch (which is a simplified version of the original reverted patch) is the
simplest solution to this whole thing: it forces wrappers to directly inspect the
outputs of the things they are wrapping instead of making stdenv guess the correct
values.
@oxij oxij deleted the stdenv/symlink-propagated-docs branch November 18, 2018 08:58
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.

None yet

5 participants