Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Platform library dependencies #5

Closed
thibaudgg opened this issue Jan 30, 2012 · 7 comments
Closed

Platform library dependencies #5

thibaudgg opened this issue Jan 30, 2012 · 7 comments

Comments

@thibaudgg
Copy link
Member

Listen gem will depend on three main events library:

  • rb-fsevent for Mac OS X
  • rb-inotify for Linux
  • rb-fchange for Windows

Adding specific platform dependencies in a gemspec isn't actually very pleasant (more info) and don't work well with Bundler (rubygems/bundler#635). I'm not sure about FSSM hack (I haven't be able to make it work, and not sure how it will be handle by Bundler) and vendorizing these three gems like Guard is really a pain to maintain.

So there's a proposition. It seems to me that these three gems are installable (even if not usable) on each platforms (tested on OS X and Linux, with JRuby as well) so I propose that Listen always depends on them and only require the needed one (or none of them if polling is used).

I'm aware that isn't an ideal solution, but we can always change it when Bundler issue with specific platform gemspec is fixed.

What do you think about that? Do you have other (better) ideas?

@thibaudgg
Copy link
Member Author

Ok these three gems are also installable on Windows (tested with ruby 1.9.3).

@netzpirat
Copy link
Contributor

Thanks for testing on Windows! So just depending on all gems seems the best solution in terms of user simplicity.

@thibaudgg
Copy link
Member Author

Yeah, I'll implement it this way.

@rymai
Copy link
Member

rymai commented Jan 31, 2012

👍

@sunaku
Copy link
Contributor

sunaku commented Jan 31, 2012

Great. Could you please update Guard's gem dependencies also? People should automagically get their operating system specific accelerators for Guard::Listener when they install Guard.

@thibaudgg
Copy link
Member Author

When Listen will be ready (hopefully soon!) it'll be used inside Guard (instead of Guard::Listener). I think we can wait until that no?

@sunaku
Copy link
Contributor

sunaku commented Feb 1, 2012

Sure, can wait. 🏃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants