{"action":"created","issue":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/15043","repository_url":"https://api.github.com/repos/NixOS/nixpkgs","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/15043/labels{/name}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/15043/comments","events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/15043/events","html_url":"https://github.com/NixOS/nixpkgs/pull/15043","id":151478585,"number":15043,"title":"[Semi-WIP] stdenv calls top-level, as opposed to both calling each other","user":{"login":"Ericson2314","id":1055245,"avatar_url":"https://avatars.githubusercontent.com/u/1055245?v=3","gravatar_id":"","url":"https://api.github.com/users/Ericson2314","html_url":"https://github.com/Ericson2314","followers_url":"https://api.github.com/users/Ericson2314/followers","following_url":"https://api.github.com/users/Ericson2314/following{/other_user}","gists_url":"https://api.github.com/users/Ericson2314/gists{/gist_id}","starred_url":"https://api.github.com/users/Ericson2314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ericson2314/subscriptions","organizations_url":"https://api.github.com/users/Ericson2314/orgs","repos_url":"https://api.github.com/users/Ericson2314/repos","events_url":"https://api.github.com/users/Ericson2314/events{/privacy}","received_events_url":"https://api.github.com/users/Ericson2314/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2016-04-27T20:07:18Z","updated_at":"2016-06-16T19:48:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/15043","html_url":"https://github.com/NixOS/nixpkgs/pull/15043","diff_url":"https://github.com/NixOS/nixpkgs/pull/15043.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/15043.patch"},"body":"This grew out of the, ahem, tamer of my ideas in #10874. The basic idea is that `top-level/default.nix` is now only responsible for building a single bootstrapping phase, and since stdenvs control the bootstrapping, they are solely responsible for calling `top-level/default.nix` (well, with the exception of the final phase, since that isn't composed in a stdenv-specific manner). Additionally config's `replaceStdenv` and the cross stdenv are now composed more like other stdenvs than the ad-hoc way they were before.\r\n\r\nWhile this doesn't really solve any problem on its own, it should lay a better foundation for feature work. See the comments in #14965 for how the phasing for the cross stdenv helps for example. Also, some of the more ambitious proposals of #10874 should similarly be assisted.\r\n\r\nI tested (a few arbitrary) package paths stayed the same on Nixos. I verified the same for cross-compiling before I rebased onto the newly-bumped nixos-unstable, but post-rebase, cross-compiling seems to be broken for reasons unrelated to this.\r\n\r\nThe biggest problem with this is now the pkg hierarchy makes less sense: `top-level` isn't really the top-level and theirs a few more wrapper files. I'd gladly move things around (`phase-top-level`?) but not sure what the best way forward is.\r\n\r\nI view this the spiritual successor of #14000, and as such, I tried to mimic @nbp's method of breaking this up into little commits to make it easier to review.\r\n\r\nCC @vcunat @Mathnerd314 @nbp \r\n\r\n[PS: @nbp while you weren't involved in the #10874 discussion, this (hopefully just syntactically) conflicts a fair amount with @10874 hence the CC.]"},"comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/226593505","html_url":"https://github.com/NixOS/nixpkgs/pull/15043#issuecomment-226593505","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/15043","id":226593505,"user":{"login":"Ericson2314","id":1055245,"avatar_url":"https://avatars.githubusercontent.com/u/1055245?v=3","gravatar_id":"","url":"https://api.github.com/users/Ericson2314","html_url":"https://github.com/Ericson2314","followers_url":"https://api.github.com/users/Ericson2314/followers","following_url":"https://api.github.com/users/Ericson2314/following{/other_user}","gists_url":"https://api.github.com/users/Ericson2314/gists{/gist_id}","starred_url":"https://api.github.com/users/Ericson2314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ericson2314/subscriptions","organizations_url":"https://api.github.com/users/Ericson2314/orgs","repos_url":"https://api.github.com/users/Ericson2314/repos","events_url":"https://api.github.com/users/Ericson2314/events{/privacy}","received_events_url":"https://api.github.com/users/Ericson2314/received_events","type":"User","site_admin":false},"created_at":"2016-06-16T19:48:26Z","updated_at":"2016-06-16T19:48:26Z","body":"Some decisions like \"should `impure.nix` be part of `./default.nix`\" don't affect complexity one way or the other and our purely stylistic. Whoever has authority to merge this should comment on those (I am guessing @edolstra, as this lies at the heart of nixpkgs)."}}
{"actor":{"display_login":"Ericson2314"}}