On Wed, 2011-10-26 at 16:02 -0500, Yaakov (Cygwin/X) wrote: > * ruby (Corinna Vinschen) > new requires: tcl tcl-tk > notes: I suggest making a make separate ruby-tcltk package due to the > additional deps.
Patches for 1.8.7-p352 attached. Yaakov
libuuid from util-linux hides the w32api libuuid.a, which serves a completely different purpose. --- origsrc/ruby-1.8.7-p352/ext/win32ole/extconf.rb 2010-11-22 01:22:26.000000000 -0600 +++ src/ruby-1.8.7-p352/ext/win32ole/extconf.rb 2011-10-26 19:21:29.696817700 -0500 @@ -35,5 +35,7 @@ end case RUBY_PLATFORM when /mswin32/ $CFLAGS += ' /W3' +when /cygwin/ + $LDFLAGS += ' -L/usr/lib/w32api' end create_win32ole_makefile
--- origsrc/ruby-1.8.7-p352/ext/tk/extconf.rb 2011-06-29 22:53:30.000000000 -0500 +++ src/ruby-1.8.7-p352/ext/tk/extconf.rb 2011-10-26 19:07:48.530860500 -0500 @@ -106,7 +106,7 @@ end # fuctions ############################################################## def is_win32? - /mswin|mingw|cygwin|bccwin/ =~ RUBY_PLATFORM + /mswin|mingw|bccwin/ =~ RUBY_PLATFORM end def is_macosx? @@ -1762,7 +1762,6 @@ unless is_win32? print("\n") # progress end $CPPFLAGS ||= "" -$CPPFLAGS += ' -D_WIN32' if /cygwin/ =~ RUBY_PLATFORM # Does ruby have nativethread ? TkLib_Config["ruby_with_thread"] =
_longjmp now returns void, but they don't need to be prototyped here. --- origsrc/ruby-1.8.7-p72/eval.c 2008-08-03 22:24:26.000000000 -0500 +++ src/ruby-1.8.7-p72/eval.c 2009-03-17 22:31:22.248727500 -0500 @@ -196,9 +196,6 @@ static int volatile freebsd_clear_carry_ # define ruby_setjmp(just_before_setjmp, env) \ ((just_before_setjmp), RUBY_SETJMP(env)) # define ruby_longjmp(env,val) RUBY_LONGJMP(env,val) -# ifdef __CYGWIN__ -int _setjmp(), _longjmp(); -# endif #endif #include <sys/types.h> --- origsrc/ruby-1.8.7-p72/file.c 2008-07-10 04:47:31.000000000 -0500 +++ src/ruby-1.8.7-p72/file.c 2009-03-17 22:51:40.295602500 -0500 @@ -2758,7 +2758,7 @@ file_expand_path(fname, dname, result) is_symlink = 1; *p = '\0'; } - if (cygwin_conv_to_win32_path((*buf ? buf : "/"), w32buf) == 0) { + if (cygwin_conv_path(CCP_POSIX_TO_WIN_A, (*buf ? buf : "/"), w32buf, MAXPATHLEN) == 0) { b = w32buf; } if (is_symlink && b == w32buf) { --- origsrc/ruby-1.8.7-p72/gc.c 2008-08-03 22:24:26.000000000 -0500 +++ src/ruby-1.8.7-p72/gc.c 2009-03-17 22:52:17.420602500 -0500 @@ -39,9 +39,6 @@ void rb_io_fptr_finalize _((struct rb_io #define rb_setjmp(env) RUBY_SETJMP(env) #define rb_jmp_buf rb_jmpbuf_t -#ifdef __CYGWIN__ -int _setjmp(), _longjmp(); -#endif /* Make alloca work the best possible way. */ #ifdef __GNUC__