{"action":"created","issue":{"url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/2921","repository_url":"https://api.github.com/repos/bioconda/bioconda-recipes","labels_url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/2921/labels{/name}","comments_url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/2921/comments","events_url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/2921/events","html_url":"https://github.com/bioconda/bioconda-recipes/issues/2921","id":188911745,"number":2921,"title":"How to deal with incompatibilities between conda-forge and r channel","user":{"login":"johanneskoester","id":1858646,"avatar_url":"https://avatars.githubusercontent.com/u/1858646?v=3","gravatar_id":"","url":"https://api.github.com/users/johanneskoester","html_url":"https://github.com/johanneskoester","followers_url":"https://api.github.com/users/johanneskoester/followers","following_url":"https://api.github.com/users/johanneskoester/following{/other_user}","gists_url":"https://api.github.com/users/johanneskoester/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneskoester/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneskoester/subscriptions","organizations_url":"https://api.github.com/users/johanneskoester/orgs","repos_url":"https://api.github.com/users/johanneskoester/repos","events_url":"https://api.github.com/users/johanneskoester/events{/privacy}","received_events_url":"https://api.github.com/users/johanneskoester/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":25,"created_at":"2016-11-12T13:28:58Z","updated_at":"2016-11-26T01:38:13Z","closed_at":null,"body":"@bioconda/core, recently, we had numerous problems with packages from e.g. the R channel pulling dependencies from conda-forge. I described the issue in conda/conda#3721.\r\n\r\n### Current workaround\r\nSo far, our workaround for the issue is to fix channel priorities such that conda-forge has least priority.\r\nThis fixes the issue only for packages from the default and the R channel though. For the conda-forge channel, this actually should rather make it worse, because dependencies of those packages might be pulled from R and defaults if they don't happen to be pinned to a newer version.\r\nAnother issue is that the way channel priorities are configured in conda is highly error-prone and unintuitive. The order in condarc decides, there is a semantic difference between add and append, ...\r\nThis is illustrated by the fact that we needed 3 tries to get the priorities right in the last 4 weeks or so.\r\n\r\n### Status of possible fix in conda or conda-build\r\nAs you will see in conda/conda#3721, response from the involved people has been quite limited. There is one possible solution (pinning of build args in addition to versions, conda/conda-build#1142). However, this solution seems to be quite far away, and all my alternative suggestions have not found triggered any actions so far.\r\n\r\n### Solutions\r\nI think we should at least think about how we can get control again. Hence, I would like to discuss the following approach:\r\n\r\n#### Solution 1\r\n* we remove conda-forge from the list of used channels\r\n* we identify packages we need from conda-forge\r\n* we put the corresponding feedstocks as git submodules into e.g. a subfolder of this repo. Of course conda-forge will get the credit.\r\n* we build those recipes with our build system, having only defaults and R channel activated\r\n* we try to keep the list of included conda-forge packages mutually exclusive with defaults and R. This way, no binary incompatibility issues can occur\r\n\r\nIf we don't manage to maintain the mutual exclusivity (e.g. because we don't manage to propagate fixes to defaults or R), we could even use an analog strategy for the R channel. But I think it should be doable without that.\r\n\r\nThe downside of this strategy is that we need some additional build time and space for those conda-forge packages that we include.\r\n\r\n#### Solution 2\r\nMove the entire R channel into conda-forge. The R channel consists of ~230 packages. It will be quite some effort, and we should try to be quick with this in order to minimize inconvenience for our users.\r\n\r\n#### Solution 3\r\nRebuild R channel with conda-forge as dependency.\r\n\r\nEDIT: Added solution 2, suggested by @bgruening.\r\n\r\nWhat do you think?"},"comment":{"url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/comments/263037833","html_url":"https://github.com/bioconda/bioconda-recipes/issues/2921#issuecomment-263037833","issue_url":"https://api.github.com/repos/bioconda/bioconda-recipes/issues/2921","id":263037833,"user":{"login":"chapmanb","id":39391,"avatar_url":"https://avatars.githubusercontent.com/u/39391?v=3","gravatar_id":"","url":"https://api.github.com/users/chapmanb","html_url":"https://github.com/chapmanb","followers_url":"https://api.github.com/users/chapmanb/followers","following_url":"https://api.github.com/users/chapmanb/following{/other_user}","gists_url":"https://api.github.com/users/chapmanb/gists{/gist_id}","starred_url":"https://api.github.com/users/chapmanb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapmanb/subscriptions","organizations_url":"https://api.github.com/users/chapmanb/orgs","repos_url":"https://api.github.com/users/chapmanb/repos","events_url":"https://api.github.com/users/chapmanb/events{/privacy}","received_events_url":"https://api.github.com/users/chapmanb/received_events","type":"User","site_admin":false},"created_at":"2016-11-26T01:38:13Z","updated_at":"2016-11-26T01:38:13Z","body":"GATK 3.6+ and MuTect2 now use Java 8 so we use that as the default. Older GATK and MuTect are Java 7 only so it would be useful to have it available as well. We've been using the Zulu OpenJDK in bioconda without any issues."}}
{"actor":{"display_login":"chapmanb"}}