{"action":"created","comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/45709866","id":45709866,"diff_hunk":"@@ -166,7 +116,8 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs [\"disabled\"] // {\n        tmp_path=$(mktemp -d)","path":"pkgs/development/python-modules/generic/default.nix","position":174,"original_position":174,"commit_id":"cf5984e4bf3a6b75d43077f7cbcd4bd7fa4ba08c","original_commit_id":"cf5984e4bf3a6b75d43077f7cbcd4bd7fa4ba08c","user":{"login":"domenkozar","id":126339,"avatar_url":"https://avatars.githubusercontent.com/u/126339?v=3","gravatar_id":"","url":"https://api.github.com/users/domenkozar","html_url":"https://github.com/domenkozar","followers_url":"https://api.github.com/users/domenkozar/followers","following_url":"https://api.github.com/users/domenkozar/following{/other_user}","gists_url":"https://api.github.com/users/domenkozar/gists{/gist_id}","starred_url":"https://api.github.com/users/domenkozar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenkozar/subscriptions","organizations_url":"https://api.github.com/users/domenkozar/orgs","repos_url":"https://api.github.com/users/domenkozar/repos","events_url":"https://api.github.com/users/domenkozar/events{/privacy}","received_events_url":"https://api.github.com/users/domenkozar/received_events","type":"User","site_admin":false},"body":"This is out of scope for this refactoring. I'm introducing wheels, not trying to fix everything.","created_at":"2015-11-24T09:04:23Z","updated_at":"2015-11-24T09:04:23Z","html_url":"https://github.com/NixOS/nixpkgs/pull/11086#discussion_r45709866","pull_request_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086","_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/45709866"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/11086#discussion_r45709866"},"pull_request":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086"}}},"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086","id":50931371,"html_url":"https://github.com/NixOS/nixpkgs/pull/11086","diff_url":"https://github.com/NixOS/nixpkgs/pull/11086.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/11086.patch","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11086","number":11086,"state":"open","locked":false,"title":"buildPythonPackage: use wheels internally","user":{"login":"domenkozar","id":126339,"avatar_url":"https://avatars.githubusercontent.com/u/126339?v=3","gravatar_id":"","url":"https://api.github.com/users/domenkozar","html_url":"https://github.com/domenkozar","followers_url":"https://api.github.com/users/domenkozar/followers","following_url":"https://api.github.com/users/domenkozar/following{/other_user}","gists_url":"https://api.github.com/users/domenkozar/gists{/gist_id}","starred_url":"https://api.github.com/users/domenkozar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenkozar/subscriptions","organizations_url":"https://api.github.com/users/domenkozar/orgs","repos_url":"https://api.github.com/users/domenkozar/repos","events_url":"https://api.github.com/users/domenkozar/events{/privacy}","received_events_url":"https://api.github.com/users/domenkozar/received_events","type":"User","site_admin":false},"body":"Wheels [PEP427](https://www.python.org/dev/peps/pep-0427/) are the new python packaging binary format. We should use wheels as that's where currently python packaging development is focused on and it's considered best practice toolchain. Wheels deprecate eggs.\r\n\r\n### Changes\r\n\r\n- pypy installs packages to $out/site-packages by default and we now respect that default\r\n- introduce `bootstrapped-pip` package that includes a hand crafted pip+wheel packages needed in `buildPythonPackage`\r\n- remove our ugly hack with inserting `setuptools` before `distutils` and use exact code that pip uses\r\n- remove support for `.pth` recursive loader. This didn't work for last 2 years, it has a major startup time impact on binaries and it's not needed since all python interpreters now use `setup-hook` to set `$PYTHONPATH`\r\n- deprecated `pythonPath` argument to `buildPythonPackage` since it's essentially the same as `propagatedBuildInputs`\r\n- replace setup.py build/install commands with wheel equivalent\r\n- removed `setupPyBuildFlags` since it no longer applies\r\n- bump pypy to 4.0\r\n-  script that raises a conflict if two or more versions of the same package are in $PYTHONPATH\r\n\r\n### TODO\r\n\r\n- [x] submit a PR upstream for the `pip install --prefix=` patch https://github.com/pypa/pip/pull/3252\r\n- [x] support `setupPyBuildFlags`\r\n- [x] test if [data_files are not installed at correct directory](https://bitbucket.org/pypa/wheel/issues/120/bdist_wheel-creates-a-wheel-that-installs) \r\n- [x] test pypy support\r\n- [x] [make sure hydra builds all packages successfully](https://headcounter.org/hydra/jobset/iElectric/python-wip)\r\n- [x] update documentation\r\n- [x] fix `pip install -e --prefix`\r\n\r\n### NOTES\r\n\r\n- setuptools namespaces support is still broken, but that's not a regression\r\n- I had to disable zc.recipe.egg due to a bug in setuptools (reported upstream)\r\n\r\ncc @garbas @offlinehacker @FRidh @cillianderoiste @madjar @johbo @chaoflow @datakurre @adnelson \r\n\r\nFixes https://github.com/NixOS/nixpkgs/issues/329","created_at":"2015-11-17T10:53:13Z","updated_at":"2015-11-24T09:04:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9e9e3b6ecbe74fcec01c0fe9e5d7dc3a12fde080","assignee":null,"milestone":{"url":"https://api.github.com/repos/NixOS/nixpkgs/milestones/7","html_url":"https://github.com/NixOS/nixpkgs/milestones/16.03","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/milestones/7/labels","id":1055044,"number":7,"title":"16.03","description":"","creator":{"login":"thoughtpolice","id":3416,"avatar_url":"https://avatars.githubusercontent.com/u/3416?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtpolice","html_url":"https://github.com/thoughtpolice","followers_url":"https://api.github.com/users/thoughtpolice/followers","following_url":"https://api.github.com/users/thoughtpolice/following{/other_user}","gists_url":"https://api.github.com/users/thoughtpolice/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtpolice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtpolice/subscriptions","organizations_url":"https://api.github.com/users/thoughtpolice/orgs","repos_url":"https://api.github.com/users/thoughtpolice/repos","events_url":"https://api.github.com/users/thoughtpolice/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtpolice/received_events","type":"User","site_admin":false},"open_issues":42,"closed_issues":66,"state":"open","created_at":"2015-04-06T19:40:15Z","updated_at":"2015-11-23T22:46:26Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086/commits","review_comments_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086/comments","review_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11086/comments","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/cf5984e4bf3a6b75d43077f7cbcd4bd7fa4ba08c","head":{"label":"NixOS:buildPythonPackage+wheels","ref":"buildPythonPackage+wheels","sha":"cf5984e4bf3a6b75d43077f7cbcd4bd7fa4ba08c","user":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"repo":{"id":4542716,"name":"nixpkgs","full_name":"NixOS/nixpkgs","owner":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NixOS/nixpkgs","description":"Nix Packages collection","fork":false,"url":"https://api.github.com/repos/NixOS/nixpkgs","forks_url":"https://api.github.com/repos/NixOS/nixpkgs/forks","keys_url":"https://api.github.com/repos/NixOS/nixpkgs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NixOS/nixpkgs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NixOS/nixpkgs/teams","hooks_url":"https://api.github.com/repos/NixOS/nixpkgs/hooks","issue_events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/events{/number}","events_url":"https://api.github.com/repos/NixOS/nixpkgs/events","assignees_url":"https://api.github.com/repos/NixOS/nixpkgs/assignees{/user}","branches_url":"https://api.github.com/repos/NixOS/nixpkgs/branches{/branch}","tags_url":"https://api.github.com/repos/NixOS/nixpkgs/tags","blobs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NixOS/nixpkgs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/refs{/sha}","trees_url":"https://api.github.com/repos/NixOS/nixpkgs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/{sha}","languages_url":"https://api.github.com/repos/NixOS/nixpkgs/languages","stargazers_url":"https://api.github.com/repos/NixOS/nixpkgs/stargazers","contributors_url":"https://api.github.com/repos/NixOS/nixpkgs/contributors","subscribers_url":"https://api.github.com/repos/NixOS/nixpkgs/subscribers","subscription_url":"https://api.github.com/repos/NixOS/nixpkgs/subscription","commits_url":"https://api.github.com/repos/NixOS/nixpkgs/commits{/sha}","git_commits_url":"https://api.github.com/repos/NixOS/nixpkgs/git/commits{/sha}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/comments{/number}","issue_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments{/number}","contents_url":"https://api.github.com/repos/NixOS/nixpkgs/contents/{+path}","compare_url":"https://api.github.com/repos/NixOS/nixpkgs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NixOS/nixpkgs/merges","archive_url":"https://api.github.com/repos/NixOS/nixpkgs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NixOS/nixpkgs/downloads","issues_url":"https://api.github.com/repos/NixOS/nixpkgs/issues{/number}","pulls_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls{/number}","milestones_url":"https://api.github.com/repos/NixOS/nixpkgs/milestones{/number}","notifications_url":"https://api.github.com/repos/NixOS/nixpkgs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/labels{/name}","releases_url":"https://api.github.com/repos/NixOS/nixpkgs/releases{/id}","created_at":"2012-06-04T02:49:46Z","updated_at":"2015-11-23T23:59:46Z","pushed_at":"2015-11-24T08:53:55Z","git_url":"git://github.com/NixOS/nixpkgs.git","ssh_url":"git@github.com:NixOS/nixpkgs.git","clone_url":"https://github.com/NixOS/nixpkgs.git","svn_url":"https://github.com/NixOS/nixpkgs","homepage":null,"size":294232,"stargazers_count":848,"watchers_count":848,"language":"Nix","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1126,"mirror_url":null,"open_issues_count":1076,"forks":1126,"open_issues":1076,"watchers":848,"default_branch":"master"}},"base":{"label":"NixOS:master","ref":"master","sha":"d748ac851c164b1c76c8221194e7b6252d8fd557","user":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"repo":{"id":4542716,"name":"nixpkgs","full_name":"NixOS/nixpkgs","owner":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NixOS/nixpkgs","description":"Nix Packages collection","fork":false,"url":"https://api.github.com/repos/NixOS/nixpkgs","forks_url":"https://api.github.com/repos/NixOS/nixpkgs/forks","keys_url":"https://api.github.com/repos/NixOS/nixpkgs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NixOS/nixpkgs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NixOS/nixpkgs/teams","hooks_url":"https://api.github.com/repos/NixOS/nixpkgs/hooks","issue_events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/events{/number}","events_url":"https://api.github.com/repos/NixOS/nixpkgs/events","assignees_url":"https://api.github.com/repos/NixOS/nixpkgs/assignees{/user}","branches_url":"https://api.github.com/repos/NixOS/nixpkgs/branches{/branch}","tags_url":"https://api.github.com/repos/NixOS/nixpkgs/tags","blobs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NixOS/nixpkgs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/refs{/sha}","trees_url":"https://api.github.com/repos/NixOS/nixpkgs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/{sha}","languages_url":"https://api.github.com/repos/NixOS/nixpkgs/languages","stargazers_url":"https://api.github.com/repos/NixOS/nixpkgs/stargazers","contributors_url":"https://api.github.com/repos/NixOS/nixpkgs/contributors","subscribers_url":"https://api.github.com/repos/NixOS/nixpkgs/subscribers","subscription_url":"https://api.github.com/repos/NixOS/nixpkgs/subscription","commits_url":"https://api.github.com/repos/NixOS/nixpkgs/commits{/sha}","git_commits_url":"https://api.github.com/repos/NixOS/nixpkgs/git/commits{/sha}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/comments{/number}","issue_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments{/number}","contents_url":"https://api.github.com/repos/NixOS/nixpkgs/contents/{+path}","compare_url":"https://api.github.com/repos/NixOS/nixpkgs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NixOS/nixpkgs/merges","archive_url":"https://api.github.com/repos/NixOS/nixpkgs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NixOS/nixpkgs/downloads","issues_url":"https://api.github.com/repos/NixOS/nixpkgs/issues{/number}","pulls_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls{/number}","milestones_url":"https://api.github.com/repos/NixOS/nixpkgs/milestones{/number}","notifications_url":"https://api.github.com/repos/NixOS/nixpkgs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/labels{/name}","releases_url":"https://api.github.com/repos/NixOS/nixpkgs/releases{/id}","created_at":"2012-06-04T02:49:46Z","updated_at":"2015-11-23T23:59:46Z","pushed_at":"2015-11-24T08:53:55Z","git_url":"git://github.com/NixOS/nixpkgs.git","ssh_url":"git@github.com:NixOS/nixpkgs.git","clone_url":"https://github.com/NixOS/nixpkgs.git","svn_url":"https://github.com/NixOS/nixpkgs","homepage":null,"size":294232,"stargazers_count":848,"watchers_count":848,"language":"Nix","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1126,"mirror_url":null,"open_issues_count":1076,"forks":1126,"open_issues":1076,"watchers":848,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/11086"},"issue":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/11086"},"comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/11086/comments"},"review_comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086/comments"},"review_comment":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/11086/commits"},"statuses":{"href":"https://api.github.com/repos/NixOS/nixpkgs/statuses/cf5984e4bf3a6b75d43077f7cbcd4bd7fa4ba08c"}}}}