Skip to content

Instantly share code, notes, and snippets.

@indirect
Created November 5, 2010 08:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save indirect/0c9f6cdc4a2feaa30c87 to your computer and use it in GitHub Desktop.
Save indirect/0c9f6cdc4a2feaa30c87 to your computer and use it in GitHub Desktop.
3:18:51 PM raggi: indirect: any platformed (non-ruby) lockfile generation MUST include the ruby platform gem of the same name and version
3:19:02 PM indirect: oh
3:19:05 PM indirect: well that seems reasonable
3:19:10 PM raggi: so, it needs to throw up an error if that doesnt' exist in the spec index
3:19:17 PM raggi: problem is, that means it has to hit the resolver
3:19:18 PM indirect: is there any time we wouldn't do that?
3:19:20 PM raggi: (SORRY)
3:19:30 PM indirect: right, but we're only talking about doing this at resolve-time
3:19:35 PM indirect: haha
3:19:39 PM indirect: the resolver isn't _that_ bad
3:19:43 PM indirect: and it has pretty good tests at this point
3:19:45 PM raggi: no i know
3:19:50 PM raggi: all i'm saying is
3:20:05 PM raggi: if you have gem-1.0-mswin32.gem and no gem-1.0.gem
3:20:19 PM raggi: and someone set gem 'gem', '=1.0'
3:20:21 PM raggi: it must fail
3:20:36 PM raggi: unless maybe some sekret option that's like --platform-restrict=mswin32
3:20:50 PM raggi: (which is actually more likely applicable to jruby)
3:20:57 PM raggi: --platform-restrict=java
3:21:47 PM raggi: ideally you could spec multiple of those
3:22:01 PM raggi: by default it would allow all platforms, and assume that "ruby" works for all platforms
3:22:13 PM raggi: (which nominally it does - kinda)
3:22:33 PM raggi: rubygems needs slightly better platform support, but this gets you over 90% of hurdles
3:23:04 PM raggi: there's still 10% like ironruby and some c-exts that won't work on other interpreters, like c-exts under "ruby" platform gems that don't owrk on rbx
3:23:32 PM raggi: ideally, MRI would acutally version up the C spec as an API standard
3:23:47 PM raggi: then we could say ext gems should have a platform of like "ruby-mri18"
3:23:58 PM raggi: (which would include for example RARRAY_LEN)
3:24:14 PM raggi: and ruby-mri19 which would include RARRAY()->len
3:24:20 PM raggi: blah blah
3:24:24 PM raggi: maybe like ruby-ffi
3:24:47 PM raggi: you get the idea, but that's rubygems side and a way out, maybe after i've done the packaging shit like, april next year
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment