Hi, during the mails exchange with Seth, I discovered my PPCShoes weren't able to use gems, and now I wanted to build a lil app depending on some shiny gems I started peeking under the Shoes vamp to see what was wrong.
I really liked the process: I finally learned (or get a glimpse of it) how Rubygems works and I saw some good hacks (why, I love the Shoes.setup code). on a sidenote, maybe I'm the latest one here to realize that, but using expert-irb.rb you have access to everything in shoes: I used it extensively to run Shoes.setup do ..... and see what shoes was throwing at me. Enough talk, why, I think I found some bugs, I hope it'll help you somehow: in Shoes::Setup within the gem method, you filter gem "hpricot" or gem "sqlite3-ruby" unfortunately this doesn't cover the attempt to install those gems trough dependencies: Shoes.setup do gem "twitter" end doesn't work because it tries to compile hpricot (and it fails miserably while looking for stdio.h). I did discover this through the example-irb looking at the error messages in the console. I did not realize it was hpricot because @status in the Shoes setup dialog was too fast changing. In the first attached patch I just start logging the messages from Shoes.setup to the console. As for trying to rule out hpricot (I did all my trials with hpricot, sorry sqlite) even from the dependencies, I tried hacking rubygems directly: I modified rubygems/dependency_installer.rb and rubygems/installer.rb and afterwards all my hpricot depending gems installed without a fuss. even on a PPC. * (on linux the bug doesn't exist) * I don't share the 3 lines of code 'cause I don't like this solution and moreover it doesn't work :) the gems are installed neverthless, but this code Shoes.setup do gem "twitter" end require "twitter" fails at the require saying "hpricot" is required and missing. Oddly enough, hpricot-only depending apps don't flinch at all (I tried with my domokun one). I think when a gem requires hpricot the check it's made only in the GEM_DIR thus failing. Obviously in Linux this bug doesn't exist at all (because hpricot is builded correctly). IMHO here we have 2 solutions: either fix the compilation of hpricot under mac (I don't like it so much) or fake the presence of hpricot inside the shoes's gem folder for all the so demanding gems. what do you think? Last patch is a feature request for source: what about Shoes.setup do source "http://gems.github.com" gem "james-ruminant" end james-ruminant is the one I was trying ;) Unfortunately surce works out of the box, but it erases the previous sources... I wanted to _add_ a source, hence the patch. Since I don't know if you like either of them I split them in 2 files so you can apply only the one you decide to.. long mail, sorry... Emanuel
0001-Infos-will-be-added-to-the-console-tracking-gems-ins.patch
Description: Binary data
0002-source-uri-now-temporary-adds-a-source-url-to-the-ru.patch
Description: Binary data
