{"action":"created","issue":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/25980","repository_url":"https://api.github.com/repos/NixOS/nixpkgs","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/25980/labels{/name}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/25980/comments","events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/25980/events","html_url":"https://github.com/NixOS/nixpkgs/pull/25980","id":230257465,"number":25980,"title":"BundlerEnv, now with groups and paths","user":{"login":"nyarly","id":127548,"avatar_url":"https://avatars1.githubusercontent.com/u/127548?v=3","gravatar_id":"","url":"https://api.github.com/users/nyarly","html_url":"https://github.com/nyarly","followers_url":"https://api.github.com/users/nyarly/followers","following_url":"https://api.github.com/users/nyarly/following{/other_user}","gists_url":"https://api.github.com/users/nyarly/gists{/gist_id}","starred_url":"https://api.github.com/users/nyarly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyarly/subscriptions","organizations_url":"https://api.github.com/users/nyarly/orgs","repos_url":"https://api.github.com/users/nyarly/repos","events_url":"https://api.github.com/users/nyarly/events{/privacy}","received_events_url":"https://api.github.com/users/nyarly/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2017-05-21T23:44:00Z","updated_at":"2017-07-12T03:50:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/25980","html_url":"https://github.com/NixOS/nixpkgs/pull/25980","diff_url":"https://github.com/NixOS/nixpkgs/pull/25980.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/25980.patch"},"body":"This is a retry of\nhttps://github.com/NixOS/nixpkgs/pull/23000\n\nA crucial difference is that most of the machinery to assemble\na bundler working environment is now part of basic.nix,\nand bundlerEnv uses that and then\nbinstubs in the specific gem it's being built for.\n\nThis is preliminary,\nin that I'm thinking that there should also be\na builder expression to build a Gemfile\nand then put links to explicit executables into $out.\n\nAt the moment though, I think this could be merged\nas is:\nit replaces all the functionality of bundlerEnv\nand lays the groundwork for other things."},"comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/314637039","html_url":"https://github.com/NixOS/nixpkgs/pull/25980#issuecomment-314637039","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/25980","id":314637039,"user":{"login":"nyarly","id":127548,"avatar_url":"https://avatars1.githubusercontent.com/u/127548?v=3","gravatar_id":"","url":"https://api.github.com/users/nyarly","html_url":"https://github.com/nyarly","followers_url":"https://api.github.com/users/nyarly/followers","following_url":"https://api.github.com/users/nyarly/following{/other_user}","gists_url":"https://api.github.com/users/nyarly/gists{/gist_id}","starred_url":"https://api.github.com/users/nyarly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nyarly/subscriptions","organizations_url":"https://api.github.com/users/nyarly/orgs","repos_url":"https://api.github.com/users/nyarly/repos","events_url":"https://api.github.com/users/nyarly/events{/privacy}","received_events_url":"https://api.github.com/users/nyarly/received_events","type":"User","site_admin":false},"created_at":"2017-07-12T03:50:19Z","updated_at":"2017-07-12T03:50:19Z","body":"Hey @cstrahan - thanks for the feedback. I'm glad you're pleased by the main thrust here - constraining exes, selecting groups. Perhaps not obvious is that you're also able to use the (closer to) the full breadth of Bundler's Gemfile (e.g. the gemspec command) in nix-shell.\r\n\r\nTo your specific objections:\r\nThe division into multiple files was after consultation with @zimbatm, who had (effectively) the converse objection to the previous PR that did simply try to extend the `bundlerEnv` builder - much of the functionality was much more complicated as a result. Anyway, if there's a discussion about rolling this back to the original form (see #23000), I'd want to include him in that conversation.\r\n\r\nRegarding the TAP stuff: I quickly found that the behaviors I was trying to add were more complicated that I could reasonably hand test. My Ruby-land instincts were to do as much TDD as I could manage (which I assume you can identify with), and queries in IRC came up with a kind of general shrug. I've since found that there's stuff in lib to do testing - if I'd known I wouldn't have written the TAP stuff! That said, I feel like there is value in the stuff I've started here, if only because the existing testing framework targets the integration level. With regards to it being half baked, I assume you're referring to the YAML stuff - it's an optional part of TAP which (if this framework were adopted more generally) it would be worth putting in the elbow grease to build YAML output etc. (If it isn't obvious, I do hope it is the start of something - testing in Nix was really pleasant.) \r\n\r\nRegarding TAP as a separate PR: maybe... but the motivation was the work in this PR, and on it's own I wonder if the utility of the testing framework would be evident. There's something of a chicken-and-egg problem there.\r\n\r\nRegarding the size: while I agree that it's not a small PR, there's actually a fair amount going on. I realize in retrospect, I bit off an awful lot in starting this - although I contend there's not so many of us with the requisite expertise with Bundler, Rubygems _et al._ Better to have built a few more \"package was missing or outdated\" PRs first.\r\n\r\nI appreciate your empathy about all this. This PR is months in the making, and does directly serve needs I have related to doing Ruby development work in Nix - one of the things that first drew me to Nix{,pkgs,OS} in the first. (I'm trying to contribute to RDF::Shex, which has moved on in the meantime...) So while there is the well-spotted \"guess what will please @cstrahan\" problem, there's also \"please @zimbatm\" and a handful of other contributors and the meta-game of \"guess which contributor you need to please to get the PR merged\" :) Maybe the thing to do is an RFC on the mailing list? (sadly you cannot see me flinch as I suggest that)\r\n\r\n"}}
{"actor":{"display_login":"nyarly"}}