{"action":"created","issue":{"url":"https://api.github.com/repos/miyagawa/cpanminus/issues/473","labels_url":"https://api.github.com/repos/miyagawa/cpanminus/issues/473/labels{/name}","comments_url":"https://api.github.com/repos/miyagawa/cpanminus/issues/473/comments","events_url":"https://api.github.com/repos/miyagawa/cpanminus/issues/473/events","html_url":"https://github.com/miyagawa/cpanminus/pull/473","id":103841464,"number":473,"title":"Add support for the cpanfile \"mirror\" values","user":{"login":"zebardy","id":208497,"avatar_url":"https://avatars.githubusercontent.com/u/208497?v=3","gravatar_id":"","url":"https://api.github.com/users/zebardy","html_url":"https://github.com/zebardy","followers_url":"https://api.github.com/users/zebardy/followers","following_url":"https://api.github.com/users/zebardy/following{/other_user}","gists_url":"https://api.github.com/users/zebardy/gists{/gist_id}","starred_url":"https://api.github.com/users/zebardy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zebardy/subscriptions","organizations_url":"https://api.github.com/users/zebardy/orgs","repos_url":"https://api.github.com/users/zebardy/repos","events_url":"https://api.github.com/users/zebardy/events{/privacy}","received_events_url":"https://api.github.com/users/zebardy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-29T09:25:34Z","updated_at":"2015-08-29T21:27:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/miyagawa/cpanminus/pulls/473","html_url":"https://github.com/miyagawa/cpanminus/pull/473","diff_url":"https://github.com/miyagawa/cpanminus/pull/473.diff","patch_url":"https://github.com/miyagawa/cpanminus/pull/473.patch"},"body":"This patch should provide support for the cpanfile \"mirror\" values. The mirror values will be superseded by any mirror values that are set as command line parameters, but will be a higher priority than the default mirror value."},"comment":{"url":"https://api.github.com/repos/miyagawa/cpanminus/issues/comments/136054197","html_url":"https://github.com/miyagawa/cpanminus/pull/473#issuecomment-136054197","issue_url":"https://api.github.com/repos/miyagawa/cpanminus/issues/473","id":136054197,"user":{"login":"zebardy","id":208497,"avatar_url":"https://avatars.githubusercontent.com/u/208497?v=3","gravatar_id":"","url":"https://api.github.com/users/zebardy","html_url":"https://github.com/zebardy","followers_url":"https://api.github.com/users/zebardy/followers","following_url":"https://api.github.com/users/zebardy/following{/other_user}","gists_url":"https://api.github.com/users/zebardy/gists{/gist_id}","starred_url":"https://api.github.com/users/zebardy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zebardy/subscriptions","organizations_url":"https://api.github.com/users/zebardy/orgs","repos_url":"https://api.github.com/users/zebardy/repos","events_url":"https://api.github.com/users/zebardy/events{/privacy}","received_events_url":"https://api.github.com/users/zebardy/received_events","type":"User","site_admin":false},"created_at":"2015-08-29T21:27:26Z","updated_at":"2015-08-29T21:27:26Z","body":"I see, the idea of source groups in gemfiles. Seems kind of neat. I guess the first step for that would be working out the syntax or structure for cpanfile and how Module::CPANfile would expose this. I'd also be curious about how this might support defining multiple mirrors for a grouping (probably a small edge case). However I would argue that `mirror` does not need to support the ability to group requirements, at least not at first. That the slice of functionality of supporting global mirrors in cpanfile, cpanm and carton is a worthwhile one. \r\n\r\nWhile working on this patch I started down the path of considering the dependency specific mirror lists,  which are inherited by it's dependencies reading cpanfiles if present in dependencies and merging them into it's mirror list. I think this would apply to scenarios such as [this](https://github.com/bundler/bundler/issues/3576). However thats, getting way more ahead of ourselves and far more complicated than is strictly needed for the main use case."}}