Luis Lavena
2009-Apr-27 00:32 UTC
[Mongrel-development] Mongrel, cross compilation, Echoe and rake-compiler
Hello Guys, mainly Evan, With the goal to move One-Click Ruby Installer to use MinGW (GCC) compiler, I found there is no binary for mongrel for that platform. Because of that, the migration for lot of folks will require install the development toolkit, which I''m trying to avoid. Being the maintainer of the Windows builds of Mongrel, been wanted to upgrade it to use rake-compiler project. rake-compiler has been out for a while, and several projects has been migrated to it successfully, including ruby-ffi, johnson, nokogiri and others. Now, a few questions before I invest a lot of time with mongrel repository. I''m working over "master" at fauna repository: http://github.com/fauna/mongrel My plan is the following: Ensure both current and new One-Click works with Mongrel. Ensure building binaries for it either native or cross platform works flawlessly Now, I have a few blockers: Dunno which branch is the proper one. last time I worked on 1.2 improving MinGW support and 1.1.5 got out without taking those patches. Echoe extension compilation is interfering with rake-compiler one, is there a way to disable it? Elliot Cable left a message when I first imported rake-compiler to GitHub: http://github.com/luislavena/rake-compiler/commit/28e938cf837c6859197000cc647f84f92668f0b6#comments Again, the goal of rake-compiler is not just simplify the compilation, but also provide something that Echoe or Hoe doesn''t: cross compilation. Well, I''ve shared my plan, what do you guys think? Cheers, -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
Evan Weaver
2009-Apr-27 01:12 UTC
[Mongrel-development] Mongrel, cross compilation, Echoe and rake-compiler
I think that''s a good plan. Echoe has some rudimentary cross-compilation (used for JRuby), but not for Mingw. Your way is better. My plan is as so: Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 compat = more or less Mongrel 2.0. This puts you in a tough spot, but it''s probably best to branch off Gossamer and let me forward-port whatever is missing. The 1.x branches are effectively dead, except for a Ruby 1.9 compat update (v1.1.6). I promise to get to this every weekend, and don''t, so I''ll stop promising. I may be able to squeeze some time out of work to spend on it. Evan On Sun, Apr 26, 2009 at 5:32 PM, Luis Lavena <luislavena at gmail.com> wrote:> Hello Guys, mainly Evan, > > With the goal to move One-Click Ruby Installer to use MinGW (GCC) > compiler, I found there is no binary for mongrel for that platform. > > Because of that, the migration for lot of folks will require install > the development toolkit, which I''m trying to avoid. > > Being the maintainer of the Windows builds of Mongrel, been wanted to > upgrade it to use rake-compiler project. > > rake-compiler has been out for a while, and several projects has been > migrated to it successfully, including ruby-ffi, johnson, nokogiri and > others. > > Now, a few questions before I invest a lot of time with mongrel repository. > > I''m working over "master" at fauna repository: > > http://github.com/fauna/mongrel > > My plan is the following: > > Ensure both current and new One-Click works with Mongrel. > Ensure building binaries for it either native or cross platform works flawlessly > > Now, I have a few blockers: > > Dunno which branch is the proper one. last time I worked on 1.2 > improving MinGW support and 1.1.5 got out without taking those > patches. > > Echoe extension compilation is interfering with rake-compiler one, is > there a way to disable it? > > Elliot Cable left a message when I first imported rake-compiler to GitHub: > > http://github.com/luislavena/rake-compiler/commit/28e938cf837c6859197000cc647f84f92668f0b6#comments > > Again, the goal of rake-compiler is not just simplify the compilation, > but also provide something that Echoe or Hoe doesn''t: cross > compilation. > > Well, I''ve shared my plan, what do you guys think? > > Cheers, > -- > Luis Lavena > AREA 17 > - > Perfection in design is achieved not when there is nothing more to add, > but rather when there is nothing more to take away. > Antoine de Saint-Exup?ry > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development >-- Evan Weaver
Luis Lavena
2009-Apr-27 01:36 UTC
[Mongrel-development] Mongrel, cross compilation, Echoe and rake-compiler
On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote:> I think that''s a good plan. Echoe has some rudimentary > cross-compilation (used for JRuby), but not for Mingw. Your way is > better. >rake-compiler still doesn''t support JRuby, but perhaps a JavaJarTask is coming, but I''m not holding my breathe until I see these patckes ;-)> My plan is as so: > > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 > compat = more or less Mongrel 2.0. >The work on this has already started? Gossamer is the codename?> This puts you in a tough spot, but it''s probably best to branch off > Gossamer and let me forward-port whatever is missing. The 1.x branches > are effectively dead, except for a Ruby 1.9 compat update (v1.1.6). >I''ve no problem working with bleeding edge stuff, as long I can find it :-)> I promise to get to this every weekend, and don''t, so I''ll stop > promising. I may be able to squeeze some time out of work to spend on > it. >No rush, my only concern is ensure Mongrel itself works on the upcoming One-Click Installer. Got all the details ironed to do a release tonight, and when started to install in a sandbox found that Mongrel wasn''t working. Anyhow, now I have a Mac so 3 way testing between Linux, OSX and Windows is now possible form my side, so promise not break anything :-) Cheers, -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
Eric Wong
2009-Apr-27 01:53 UTC
[Mongrel-development] Mongrel, cross compilation, Echoe and rake-compiler
Evan Weaver <evan at cloudbur.st> wrote:> My plan is as so: > > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 > compat = more or less Mongrel 2.0.Cool. I''m pretty sure Unicorn and Gossamer are both 1.9-compatible (all the tests manage to pass), but I don''t have any real code running on 1.9 yet (and nothing in production on 1.8, either, yet). Let me know if there are any optimizations/bugfixes in particular I can help with, too. -- Eric Wong
Eric Wong
2009-Apr-27 01:59 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
Luis Lavena <luislavena at gmail.com> wrote:> On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote: > > My plan is as so: > > > > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 > > compat = more or less Mongrel 2.0. > > The work on this has already started? Gossamer is the codename?Did you miss my earlier message posted to this list? http://rubyforge.org/pipermail/mongrel-development/2009-April/000323.html> > This puts you in a tough spot, but it''s probably best to branch off > > Gossamer and let me forward-port whatever is missing. The 1.x branches > > are effectively dead, except for a Ruby 1.9 compat update (v1.1.6). > > I''ve no problem working with bleeding edge stuff, as long I can find it :-)It''s a branch of Unicorn and in the same repositories: git://git.bogomips.org/unicorn.git http://git.bogomips.org/unicorn.git git://repo.or.cz/unicorn.git (mirror) http://repo.or.cz/r/unicorn.git (mirror) Have fun! -- Eric Wong
Evan Weaver
2009-Apr-27 02:25 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
Should I import it into github/fauna and give everybody access? Or where should the central repos be located. Evan On Sun, Apr 26, 2009 at 6:59 PM, Eric Wong <normalperson at yhbt.net> wrote:> Luis Lavena <luislavena at gmail.com> wrote: >> On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote: >> > My plan is as so: >> > >> > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 >> > compat = more or less Mongrel 2.0. >> >> The work on this has already started? Gossamer is the codename? > > Did you miss my earlier message posted to this list? > > http://rubyforge.org/pipermail/mongrel-development/2009-April/000323.html > >> > This puts you in a tough spot, but it''s probably best to branch off >> > Gossamer and let me forward-port whatever is missing. The 1.x branches >> > are effectively dead, except for a Ruby 1.9 compat update (v1.1.6). >> >> I''ve no problem working with bleeding edge stuff, as long I can find it :-) > > It''s a branch of Unicorn and in the same repositories: > > ? ? ? ?git://git.bogomips.org/unicorn.git > ? ? ? ?http://git.bogomips.org/unicorn.git > ? ? ? ?git://repo.or.cz/unicorn.git (mirror) > ? ? ? ?http://repo.or.cz/r/unicorn.git (mirror) > > Have fun! > > -- > Eric Wong > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development >-- Evan Weaver
Evan Weaver
2009-Apr-27 02:50 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
If you just want to get current Mongrel up to speed, branch from 1.1.5 I guess. Evan On Sun, Apr 26, 2009 at 6:36 PM, Luis Lavena <luislavena at gmail.com> wrote:> On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote: >> I think that''s a good plan. Echoe has some rudimentary >> cross-compilation (used for JRuby), but not for Mingw. Your way is >> better. >> > > rake-compiler still doesn''t support JRuby, but perhaps a JavaJarTask > is coming, but I''m not holding my breathe until I see these patckes > ;-) > >> My plan is as so: >> >> Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 >> compat = more or less Mongrel 2.0. >> > > The work on this has already started? Gossamer is the codename? > >> This puts you in a tough spot, but it''s probably best to branch off >> Gossamer and let me forward-port whatever is missing. The 1.x branches >> are effectively dead, except for a Ruby 1.9 compat update (v1.1.6). >> > > I''ve no problem working with bleeding edge stuff, as long I can find it :-) > >> I promise to get to this every weekend, and don''t, so I''ll stop >> promising. I may be able to squeeze some time out of work to spend on >> it. >> > > No rush, my only concern is ensure Mongrel itself works on the > upcoming One-Click Installer. Got all the details ironed to do a > release tonight, and when started to install in a sandbox found that > Mongrel wasn''t working. > > Anyhow, now I have a Mac so 3 way testing between Linux, OSX and > Windows is now possible form my side, so promise not break anything > :-) > > Cheers, > -- > Luis Lavena > AREA 17 > - > Perfection in design is achieved not when there is nothing more to add, > but rather when there is nothing more to take away. > Antoine de Saint-Exup?ry > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >-- Evan Weaver
Luis Lavena
2009-Apr-27 03:16 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
On Sun, Apr 26, 2009 at 10:59 PM, Eric Wong <normalperson at yhbt.net> wrote:> Luis Lavena <luislavena at gmail.com> wrote: >> On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote: >> > My plan is as so: >> > >> > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 >> > compat = more or less Mongrel 2.0. >> >> The work on this has already started? Gossamer is the codename? > > Did you miss my earlier message posted to this list? > > http://rubyforge.org/pipermail/mongrel-development/2009-April/000323.html >Actually ignored for the simple sake that states *nix compatibility only, which is not my case since I''m on Windows> > It''s a branch of Unicorn and in the same repositories: > > ? ? ? ?git://git.bogomips.org/unicorn.git > ? ? ? ?http://git.bogomips.org/unicorn.git > ? ? ? ?git://repo.or.cz/unicorn.git (mirror) > ? ? ? ?http://repo.or.cz/r/unicorn.git (mirror) > > Have fun! >Will take a look, keeping in mind that *must* work across all the platforms, at least cleanly like Mongrel does. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
Luis Lavena
2009-Apr-27 03:17 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
On Sun, Apr 26, 2009 at 11:50 PM, Evan Weaver <evan at cloudbur.st> wrote:> If you just want to get current Mongrel up to speed, branch from 1.1.5 I guess. > > Evan >Then I''ll base my work on stable_1-1. Any advice on the Echoe state and workaround, or should I fork it and add conditions about rake-compiler being defined? -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
Evan Weaver
2009-Apr-27 03:33 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
I think the only Unix-specific thing is Gossamer is the forking...? Echoe is the same as it ever was...not sure how to integrate rake-compiler, or whether Echoe is still necessary, or what. It looks like origin/stable_1-1 is what you want, although I''m not quite sure what the diff against origin/rel_1-1-5 is about. It looks like you already did some compiler work. Wednesday I can work on integrating the Ruby 1.9 fixes...can you wait until Thursday to do a release? Evan On Sun, Apr 26, 2009 at 8:17 PM, Luis Lavena <luislavena at gmail.com> wrote:> On Sun, Apr 26, 2009 at 11:50 PM, Evan Weaver <evan at cloudbur.st> wrote: >> If you just want to get current Mongrel up to speed, branch from 1.1.5 I guess. >> >> Evan >> > > Then I''ll base my work on stable_1-1. > > Any advice on the Echoe state and workaround, or should I fork it and > add conditions about rake-compiler being defined? > -- > Luis Lavena > AREA 17 > - > Perfection in design is achieved not when there is nothing more to add, > but rather when there is nothing more to take away. > Antoine de Saint-Exup?ry > _______________________________________________ > Mongrel-development mailing list > Mongrel-development at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-development >-- Evan Weaver
Eric Wong
2009-Apr-27 03:48 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
Luis Lavena <luislavena at gmail.com> wrote:> On Sun, Apr 26, 2009 at 10:59 PM, Eric Wong <normalperson at yhbt.net> wrote: > > Luis Lavena <luislavena at gmail.com> wrote: > >> On Sun, Apr 26, 2009 at 10:12 PM, Evan Weaver <evan at cloudbur.st> wrote: > >> > My plan is as so: > >> > > >> > Gossamer + Rack launch script + some optimizations/bugfixes + Ruby 1.9 > >> > compat = more or less Mongrel 2.0. > >> > >> The work on this has already started? Gossamer is the codename? > > > > Did you miss my earlier message posted to this list? > > > > http://rubyforge.org/pipermail/mongrel-development/2009-April/000323.html > > > > Actually ignored for the simple sake that states *nix compatibility > only, which is not my case since I''m on Windows<snip>> Will take a look, keeping in mind that *must* work across all the > platforms, at least cleanly like Mongrel does.Of course, this is why Unicorn itself is a separate package from Mongrel. I think the UNIX-only stuff is mainly confined to the HttpServer class where the unportable stuff with forking, shared FDs, signals, pipes are. That and the SocketHelper that can bind UNIX domain sockets. The rest of it, mainly http_{request,response}.rb, is stripped-down from Mongrel to only work with Rack and should be droppable into Mongrel. The C/Ragel http11 parser interface has been simplified a lot with some minor speed improvements. It doesn''t use any new functions so it should be fine on Windows . The JRuby version will need to be updated to use the simpler interface (or http_request to use the old interface). I''ve been planning on stealing (or writing) a pure-Ruby parser for Unicorn, as well... -- Eric Wong
Eric Wong
2009-Apr-27 08:20 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
Evan Weaver <evan at cloudbur.st> wrote:> Should I import it into github/fauna and give everybody access? Or > where should the central repos be located.Sure, the more mirrors the better. I won''t be signing up for github, though[1]. As long as we can all pull and/or send patches to each other, things should be good. How''s git support in Rubyforge these days? I haven''t gotten around to asking to get a project of mine converted, I suppose I could give it a shot... [1] - I''m just not comfortable relying on free-as-in-beer commercial services for free-as-in-speech development. -- Eric Wong
Luis Lavena
2009-Apr-27 11:53 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
On Mon, Apr 27, 2009 at 5:20 AM, Eric Wong <normalperson at yhbt.net> wrote:> Evan Weaver <evan at cloudbur.st> wrote: >> Should I import it into github/fauna and give everybody access? Or >> where should the central repos be located. > > Sure, the more mirrors the better. ?I won''t be signing up for github, > though[1]. ?As long as we can all pull and/or send patches to each > other, things should be good. >That is the good part of Git.> How''s git support in Rubyforge these days? ?I haven''t gotten around to > asking to get a project of mine converted, I suppose I could give it a > shot...Good, rake-compiler uses RubyForge as sync.> [1] - I''m just not comfortable relying on free-as-in-beer commercial > services for free-as-in-speech development.Well, everybody needs to eat and pay bills. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry
Luis Lavena
2009-Apr-27 15:43 UTC
[Mongrel-development] [Mongrel] Mongrel, cross compilation, Echoe and rake-compiler
On Mon, Apr 27, 2009 at 12:33 AM, Evan Weaver <evan at cloudbur.st> wrote:> I think the only Unix-specific thing is Gossamer is the forking...? > > Echoe is the same as it ever was...not sure how to integrate > rake-compiler, or whether Echoe is still necessary, or what. > > It looks like origin/stable_1-1 is what you want, although I''m not > quite sure what the diff against origin/rel_1-1-5 is about. It looks > like you already did some compiler work. > > Wednesday I can work on integrating the Ruby 1.9 fixes...can you wait > until Thursday to do a release? >Can wait until weekend if needed :-) -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry