diff options
author | Alex Legler <a3li@gentoo.org> | 2010-05-01 12:09:37 +0200 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2010-05-01 12:09:37 +0200 |
commit | b063b09de3c38ca8b7fc4c112a0f9fb6dc5d37e6 (patch) | |
tree | 0212dd931156921dea8b0a2ca0bda20ffbff1f69 | |
parent | ruby-enterprise-1.8.7.2010.01 patchset (diff) | |
download | ruby-scripts-patchset-1.9.3-p376.tar.gz ruby-scripts-patchset-1.9.3-p376.tar.bz2 ruby-scripts-patchset-1.9.3-p376.zip |
Add 1.9.1-p376 patchsetpatchset-1.9.3-p376patchset-1.9.1-p376
-rw-r--r-- | patchsets/distfiles/ruby-patches-1.9.1_p376.tar.bz2 | bin | 0 -> 2091 bytes | |||
-rw-r--r-- | patchsets/patches-1.9.1_p376/003_mkmf-parallel-install.patch | 22 | ||||
-rw-r--r-- | patchsets/patches-1.9.1_p376/004_gfbsd7.patch | 39 | ||||
-rw-r--r-- | patchsets/patches-1.9.1_p376/005_no-undefined-ext.patch | 13 | ||||
-rw-r--r-- | patchsets/patches-1.9.1_p376/006_revert-r25539.patch | 38 | ||||
-rw-r--r-- | patchsets/patches-1.9.1_p376/102_dl-parallelmake.patch | 14 |
6 files changed, 126 insertions, 0 deletions
diff --git a/patchsets/distfiles/ruby-patches-1.9.1_p376.tar.bz2 b/patchsets/distfiles/ruby-patches-1.9.1_p376.tar.bz2 Binary files differnew file mode 100644 index 0000000..ccdcc02 --- /dev/null +++ b/patchsets/distfiles/ruby-patches-1.9.1_p376.tar.bz2 diff --git a/patchsets/patches-1.9.1_p376/003_mkmf-parallel-install.patch b/patchsets/patches-1.9.1_p376/003_mkmf-parallel-install.patch new file mode 100644 index 0000000..569091d --- /dev/null +++ b/patchsets/patches-1.9.1_p376/003_mkmf-parallel-install.patch @@ -0,0 +1,22 @@ +Fixing parallel make, bug 279825. Patch by <flameeyes@gentoo.org> + +Index: ruby-1.9.1-p243/lib/mkmf.rb +=================================================================== +--- ruby-1.9.1-p243.orig/lib/mkmf.rb ++++ ruby-1.9.1-p243/lib/mkmf.rb +@@ -1681,6 +1681,7 @@ static: $(STATIC_LIB)#{$extout ? " insta + mfile.print "\t@-$(RMDIRS) #{fseprepl[dir]}\n" + else + mfile.print "#{dest}: #{f}\n" ++ mfile.print "\t@$(MAKEDIRS) #{dir}\n" + mfile.print "\t$(INSTALL_PROG) #{fseprepl[f]} #{fseprepl[dir]}\n" + if defined?($installed_list) + mfile.print "\t@echo #{dir}/#{File.basename(f)}>>$(INSTALLED_LIST)\n" +@@ -1704,6 +1705,7 @@ static: $(STATIC_LIB)#{$extout ? " insta + dest = "#{dir}/#{File.basename(f)}" + mfile.print("install-rb#{sfx}: #{dest}\n") + mfile.print("#{dest}: #{f}\n") ++ mfile.print "\t@$(MAKEDIRS) #{dir}\n" + mfile.print("\t$(#{$extout ? 'COPY' : 'INSTALL_DATA'}) ") + mfile.print("#{fseprepl[f]} $(@D#{sep})\n") + if defined?($installed_list) and !$extout diff --git a/patchsets/patches-1.9.1_p376/004_gfbsd7.patch b/patchsets/patches-1.9.1_p376/004_gfbsd7.patch new file mode 100644 index 0000000..f4d567a --- /dev/null +++ b/patchsets/patches-1.9.1_p376/004_gfbsd7.patch @@ -0,0 +1,39 @@ +Index: ruby-1.9.1-p129/configure.in +=================================================================== +--- ruby-1.9.1-p129.orig/configure.in ++++ ruby-1.9.1-p129/configure.in +@@ -1294,7 +1294,7 @@ if test "$rb_cv_binary_elf" = yes; then + fi + + case "$target_os" in +-linux* | gnu* | k*bsd*-gnu | bsdi*) ++linux* | gnu* | k*bsd*-gnu | bsdi* | freebsd* | dragonfly* ) + if test "$rb_cv_binary_elf" = no; then + with_dln_a_out=yes + else +@@ -1381,7 +1381,7 @@ if test "$with_dln_a_out" != yes; then + *shlicc*) : ${LDSHARED="$CC -r"} + rb_cv_dlopen=yes ;; + esac ;; +- linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi*) ++ linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | freebsd7*) + : ${LDSHARED='${CC} -shared'} + if test "$rb_cv_binary_elf" = yes; then + LDFLAGS="$LDFLAGS -Wl,-export-dynamic" +@@ -1393,7 +1393,6 @@ if test "$with_dln_a_out" != yes; then + rb_cv_dlopen=yes ;; + freebsd*|dragonfly*) : ${LDSHARED="$CC -shared"} + if test "$rb_cv_binary_elf" = yes; then +- LDFLAGS="$LDFLAGS -rdynamic" + DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$(.TARGET)' + else + test "$GCC" = yes && test "$rb_cv_prog_gnu_ld" = yes || LDSHARED="ld -Bshareable" +@@ -1722,7 +1721,7 @@ if test "$enable_shared" = 'yes'; then + sunos4*) + LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' + ;; +- linux* | gnu* | k*bsd*-gnu | atheos*) ++ linux* | gnu* | k*bsd*-gnu | atheos* | freebsd7* ) + LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' + LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' + ;; diff --git a/patchsets/patches-1.9.1_p376/005_no-undefined-ext.patch b/patchsets/patches-1.9.1_p376/005_no-undefined-ext.patch new file mode 100644 index 0000000..08d1876 --- /dev/null +++ b/patchsets/patches-1.9.1_p376/005_no-undefined-ext.patch @@ -0,0 +1,13 @@ +Index: ruby-1.9.1-p129/configure.in +=================================================================== +--- ruby-1.9.1-p129.orig/configure.in ++++ ruby-1.9.1-p129/configure.in +@@ -1384,7 +1384,7 @@ if test "$with_dln_a_out" != yes; then + linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | freebsd7*) + : ${LDSHARED='${CC} -shared'} + if test "$rb_cv_binary_elf" = yes; then +- LDFLAGS="$LDFLAGS -Wl,-export-dynamic" ++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic -Wl,--no-undefined" + fi + rb_cv_dlopen=yes ;; + interix*) : ${LDSHARED="$CC -shared"} diff --git a/patchsets/patches-1.9.1_p376/006_revert-r25539.patch b/patchsets/patches-1.9.1_p376/006_revert-r25539.patch new file mode 100644 index 0000000..e686668 --- /dev/null +++ b/patchsets/patches-1.9.1_p376/006_revert-r25539.patch @@ -0,0 +1,38 @@ +Reverting revision 25539 which causes random segfaults related to +threading. + +Reported upstream as http://redmine.ruby-lang.org/issues/show/2558 + +Index: thread.c +=================================================================== +--- thread.c (revision 25539) ++++ thread.c (revision 25538) +@@ -298,9 +298,6 @@ + { + rb_thread_t *th = GET_THREAD(); /* main thread */ + rb_vm_t *vm = th->vm; +- VALUE einfo = vm->main_thread->errinfo; +- int state; +- + if (vm->main_thread != th) { + rb_bug("rb_thread_terminate_all: called by child thread (%p, %p)", + (void *)vm->main_thread, (void *)th); +@@ -316,14 +313,13 @@ + + while (!rb_thread_alone()) { + PUSH_TAG(); +- if ((state = EXEC_TAG()) == 0) { ++ if (EXEC_TAG() == 0) { + rb_thread_schedule(); + } +- POP_TAG(); +- if (state && einfo != vm->main_thread->errinfo && +- RUBY_VM_SET_INTERRUPT(vm->main_thread)) { +- break; ++ else { ++ /* ignore exception */ + } ++ POP_TAG(); + } + rb_thread_stop_timer_thread(); + } diff --git a/patchsets/patches-1.9.1_p376/102_dl-parallelmake.patch b/patchsets/patches-1.9.1_p376/102_dl-parallelmake.patch new file mode 100644 index 0000000..60f08d7 --- /dev/null +++ b/patchsets/patches-1.9.1_p376/102_dl-parallelmake.patch @@ -0,0 +1,14 @@ +Index: ruby-1.9.1-p129/ext/dl/depend +=================================================================== +--- ruby-1.9.1-p129.orig/ext/dl/depend ++++ ruby-1.9.1-p129/ext/dl/depend +@@ -18,7 +18,8 @@ callback-8.o: callback-8.c $(hdrdir)/rub + + callback-0.c callback-1.c callback-2.c \ + callback-3.c callback-4.c callback-5.c \ +-callback-6.c callback-7.c callback-8.c \ ++callback-6.c callback-7.c callback-8.c: callback.h ++ + callback.h: $(srcdir)/mkcallback.rb dl.h + @echo "generating callback.h" + @$(RUBY) $(srcdir)/mkcallback.rb $(srcdir)/dl.h |