Lars Christensen
2008-Jul-06 14:20 UTC
[Rubyinstaller-devel] OpenSSL update & curses support
Hello, I had been tinkering with a similar project (http://github.com/larsch/rakeruby4win/) until I found rubyinstaller. I will probably abandon it now, since rubyinstaller is more complete and clean, but there are couple of thing''s I''d like to see in RubyInstaller. The OpenSSL library that is used for the rubyinstaller is very old. I have added a rake recipe to build openssl from source (http://github.com/larsch/rubyinstaller/commits/opensslbuild). The biggest problem is that it depends on a Perl installation, and the MSYS perl doesn''t work. I have not been able to find a Perl package for windows that is easily downloadable & installable into the sandbox. Another small issue is that you need to clean up the PATH environment let it find mingw and nothing but mingw (the recipe does this). Other than that it appears to work. I have added a recipe for pdcurses as well (on branch pdcurses). A couple of minor issues I encountered: - rubygems installation doesnt work if RUBYOPT is set. I added a few lines to clear it on my master branch. - README.txt suggests that rubyinstaller will work with ruby 1.8.5 or later. I could not get it working using Ruby1.8.6-p0. There see to be some issues with Kernel#system when quoting the executable and directing to NUL at the same time. -p111 works fine however. Might be worthwhile checking the patch level and warning the user. - git and CR/LF is somewhat a mess. Any tips? If I checkout with core.autocrlf=true, it breaks the WiX XML files. If I edit files with core.autocrlf=false, it breaks the delta on everything else. Regards, Lars
On Sun, Jul 6, 2008 at 4:20 PM, Lars Christensen <larsch at belunktum.dk> wrote:> Hello, > > I had been tinkering with a similar project > (http://github.com/larsch/rakeruby4win/) until I found rubyinstaller. I will > probably abandon it now, since rubyinstaller is more complete and clean, but > there are couple of thing''s I''d like to see in RubyInstaller. >Hey Lars, welcome aboard!> The OpenSSL library that is used for the rubyinstaller is very old. I have > added a rake recipe to build openssl from source > (http://github.com/larsch/rubyinstaller/commits/opensslbuild). The biggest > problem is that it depends on a Perl installation, and the MSYS perl doesn''t > work. I have not been able to find a Perl package for windows that is easily > downloadable & installable into the sandbox. Another small issue is that you > need to clean up the PATH environment let it find mingw and nothing but > mingw (the recipe does this). Other than that it appears to work. >Yeah, right now we depend on a old pre-build package since building from sources, as you pointed, was problematic and required several packages not included. We consider that a task re factoring and reorganization will ease the process, but right now we were focused in getting it done :-D I checked you commit and saw you included mingw-make, is that just for OpenSSL? We had several issues getting it working to build ruby itself, so we reverted to msys-make instead. An alternative, instead of following the batch file as suggested in OpenSSL site is follow the configure, make and make install process. Did you explored that way?> I have added a recipe for pdcurses as well (on branch pdcurses). >Oh, great, the more extension being build, the better!> A couple of minor issues I encountered: > - rubygems installation doesnt work if RUBYOPT is set. I added a few lines > to clear it on my master branch.Gordon did fix this in his fork which I didn''t pulled into mine: http://github.com/vertiginous/rubyinstaller/tree/master> - README.txt suggests that rubyinstaller will work with ruby 1.8.5 or > later. I could not get it working using Ruby1.8.6-p0. There see to be some > issues with Kernel#system when quoting the executable and directing to NUL > at the same time. -p111 works fine however. Might be worthwhile checking the > patch level and warning the user.Yes, indeed: ruby 1.8.5 (2007-09-24 patchlevel 114) [i386-mswin32] and ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mswin32] Both worked for me, but didn''t used a older patchlevel since latest 1.8.5 of One-Click is 1.8.6 and previous was 1.8.5> - git and CR/LF is somewhat a mess. Any tips? If I checkout with > core.autocrlf=true, it breaks the WiX XML files. If I edit files with > core.autocrlf=false, it breaks the delta on everything else. >Yeah, two things I suggest: do not use git configure core.autocrlf false directly, please alter the etc/gitconfig file instead, since I have seen, even with --global being used, the change do not affect the clones or the commits. Also change your editor to Unix (LF) instead of Windows (LF+CR) since most of the recipes are been coded that way (to be able to use the sandbox as cross-platform compilation recipe). Most editor today should be able to let you configure or change that. As rule of thumb, I alwasy set on Unix to avoid merge conflicts contributing to projects.> Regards, > Lars >Again, welcome aboard and thanks for your time man! Good week and great work man. I''ll take a look to your commits and see how can we workout those. You can use github gem to simplify pulling from different users (use my fork of github-gem since will work with MinGW). Regards! -- Luis Lavena AREA 17 - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams
Gordon Thiesfeld
2008-Jul-07 01:08 UTC
[Rubyinstaller-devel] OpenSSL update & curses support
On Sun, Jul 6, 2008 at 9:20 AM, Lars Christensen <larsch at belunktum.dk> wrote:> The OpenSSL library that is used for the rubyinstaller is very old. I have > added a rake recipe to build openssl from source > (http://github.com/larsch/rubyinstaller/commits/opensslbuild). The biggest > problem is that it depends on a Perl installation, and the MSYS perl doesn''t > work. I have not been able to find a Perl package for windows that is easily > downloadable & installable into the sandbox. Another small issue is that you > need to clean up the PATH environment let it find mingw and nothing but > mingw (the recipe does this). Other than that it appears to work.This is good news. I''ve tried building OpenSSL a few times, but never had much luck with it. As far as Perl goes, have you tried Strawberry Perl[1]? I don''t know much about the different Perl packages, but Strawberry has a zip file available. Just a thought. [1] http://strawberryperl.com/releases.html Thanks, Gordon
Lars Christensen
2008-Jul-07 15:00 UTC
[Rubyinstaller-devel] OpenSSL update & curses support
Luis Lavena wrote:> On Sun, Jul 6, 2008 at 4:20 PM, Lars Christensen <larsch at belunktum.dk> wrote: > > I checked you commit and saw you included mingw-make, is that just for > OpenSSL? We had several issues getting it working to build ruby > itself, so we reverted to msys-make instead. >Yes, the OpenSSL build scripts call mingw32-make directly. Their makefile generator assume that everything is plain old DOS commands using mingw32-make (e.g. "copy" rather than "cp"). Tuning the SHELL might help, but since they assume DOS conventions for everything, it may not be compatible with msys-make.> An alternative, instead of following the batch file as suggested in > OpenSSL site is follow the configure, make and make install process. > Did you explored that way? >I tried that, but their scripts/Makefile refuse to work that way and ask you to use "ms\mingw32.bat" instead. They don''t use autoconf, so portability is something they handle manually.> Yeah, two things I suggest: do not use git configure core.autocrlf > false directly, please alter the etc/gitconfig file instead, since I > have seen, even with --global being used, the change do not affect the > clones or the commits. >Setting it to false did help, I think. Not sure why I had the problem with edited files and "git diff"; I doesn''t happen anymore.> Also change your editor to Unix (LF) instead of Windows (LF+CR). >No problem, I''m on Emacs.
Lars Christensen
2008-Jul-07 16:07 UTC
[Rubyinstaller-devel] OpenSSL update & curses support
On Sun, 6 Jul 2008, Gordon Thiesfeld wrote:> I''ve tried building OpenSSL a few times, but never had much luck with > it. As far as Perl goes, have you tried Strawberry Perl[1]? I don''t > know much about the different Perl packages, but Strawberry has a zip > file available. Just a thought.Good idea. However, they (ironically) include a MinGW environment of their own (zip is 35M). I''ve added rules to use it for building OpenSSL. http://github.com/larsch/rubyinstaller/commit/77be67b3d8ebc370004bf314b5a99b6473846677 Regards, Lars