diff --git a/ruby-1.9.3-mkmf-verbose.patch b/ruby-1.9.3-mkmf-verbose.patch index 120ee37..7630001 100644 --- a/ruby-1.9.3-mkmf-verbose.patch +++ b/ruby-1.9.3-mkmf-verbose.patch @@ -11,7 +11,7 @@ diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 682eb46..e6b1445 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb -@@ -1829,7 +1829,7 @@ SRC +@@ -1830,7 +1830,7 @@ SRC SHELL = /bin/sh # V=0 quiet, V=1 verbose. other values don't work. diff --git a/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch b/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch index 6a425ea..10940a7 100644 --- a/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch +++ b/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch @@ -38,7 +38,7 @@ diff --git a/configure.in b/configure.in index 0e371e2..d4f1dcb 100644 --- a/configure.in +++ b/configure.in -@@ -3914,6 +3914,13 @@ AC_SUBST(rubyarchhdrdir)dnl +@@ -3901,6 +3901,13 @@ AC_SUBST(rubyarchhdrdir)dnl AC_SUBST(sitearchhdrdir)dnl AC_SUBST(vendorarchhdrdir)dnl diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 4a4919c..094f142 100644 --- a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch +++ b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch @@ -11,7 +11,7 @@ diff --git a/configure.in b/configure.in index 37d9a62..553d4d0 100644 --- a/configure.in +++ b/configure.in -@@ -3143,6 +3143,11 @@ if test ${multiarch+set}; then +@@ -3130,6 +3130,11 @@ if test ${multiarch+set}; then fi archlibdir='${libdir}/${arch}' diff --git a/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch b/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch index 89f5890..9d08694 100644 --- a/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +++ b/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch @@ -14,7 +14,7 @@ diff --git a/configure.in b/configure.in index 17ed3ed..5843651 100644 --- a/configure.in +++ b/configure.in -@@ -3718,8 +3718,6 @@ AS_CASE(["$target_os"], +@@ -3705,8 +3705,6 @@ AS_CASE(["$target_os"], rubyw_install_name='$(RUBYW_INSTALL_NAME)' ]) @@ -23,7 +23,7 @@ index 17ed3ed..5843651 100644 rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'} AC_ARG_WITH(rubyarchprefix, -@@ -3749,6 +3747,7 @@ AC_ARG_WITH(ruby-version, +@@ -3736,6 +3734,7 @@ AC_ARG_WITH(ruby-version, [ruby_version=full]) unset RUBY_LIB_VERSION unset RUBY_LIB_VERSION_STYLE @@ -31,7 +31,7 @@ index 17ed3ed..5843651 100644 AS_CASE(["$ruby_version"], [full], [RUBY_LIB_VERSION_STYLE='3 /* full */'], [minor], [RUBY_LIB_VERSION_STYLE='2 /* minor */']) -@@ -3765,30 +3764,34 @@ if test ${RUBY_LIB_VERSION_STYLE+set}; then +@@ -3752,30 +3751,34 @@ if test ${RUBY_LIB_VERSION_STYLE+set}; then ruby_version="`$CPP -I. -I"${srcdir}" -I"${srcdir}/include" conftest.c | sed '/^ruby_version=/!d;s/ //g'`" eval $ruby_version elif test -z "${ruby_version}"; then diff --git a/ruby-2.1.0-always-use-i386.patch b/ruby-2.1.0-always-use-i386.patch index 78e9697..f4e98ca 100644 --- a/ruby-2.1.0-always-use-i386.patch +++ b/ruby-2.1.0-always-use-i386.patch @@ -11,7 +11,7 @@ diff --git a/configure.in b/configure.in index 553d4d0..03a4152 100644 --- a/configure.in +++ b/configure.in -@@ -3830,6 +3830,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3817,6 +3817,8 @@ AC_SUBST(vendorarchdir)dnl AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl diff --git a/ruby-2.1.0-custom-rubygems-location.patch b/ruby-2.1.0-custom-rubygems-location.patch index 55c7448..2d99287 100644 --- a/ruby-2.1.0-custom-rubygems-location.patch +++ b/ruby-2.1.0-custom-rubygems-location.patch @@ -15,7 +15,7 @@ diff --git a/configure.in b/configure.in index 03a4152..0e371e2 100644 --- a/configure.in +++ b/configure.in -@@ -3804,6 +3804,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3791,6 +3791,10 @@ AC_ARG_WITH(vendorarchdir, [vendorarchdir=$withval], [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}]) @@ -26,7 +26,7 @@ index 03a4152..0e371e2 100644 if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX='' -@@ -3827,6 +3831,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3814,6 +3818,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl diff --git a/ruby-2.2.0-Support-tcl-tk-8.6.patch b/ruby-2.2.0-Support-tcl-tk-8.6.patch deleted file mode 100644 index a77d7ab..0000000 --- a/ruby-2.2.0-Support-tcl-tk-8.6.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff -urN ruby-2.1.3.orig/ext/tk/extconf.rb ruby-2.1.3/ext/tk/extconf.rb ---- ruby-2.1.3.orig/ext/tk/extconf.rb 2013-11-30 11:46:47.000000000 +0900 -+++ ruby-2.1.3/ext/tk/extconf.rb 2014-10-19 17:50:33.045820645 +0900 -@@ -9,10 +9,10 @@ - # %w[8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.6 4.2] - # %w[8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0] - # %w[8.7 8.6 8.5 8.4 8.0] # to shorten search steps -- %w[8.5 8.4] # At present, Tcl/Tk8.6 is not supported. -+ %w[8.6 8.5 8.4] - - TkLib_Config['unsupported_versions'] = -- %w[8.8 8.7 8.6] # At present, Tcl/Tk8.6 is not supported. -+ %w[8.8 8.7] - - TkLib_Config['major_nums'] = '87' - -diff -urN ruby-2.1.3.orig/ext/tk/lib/tk.rb ruby-2.1.3/ext/tk/lib/tk.rb ---- ruby-2.1.3.orig/ext/tk/lib/tk.rb 2011-05-27 08:36:33.000000000 +0900 -+++ ruby-2.1.3/ext/tk/lib/tk.rb 2014-10-19 17:48:59.046873862 +0900 -@@ -1309,8 +1309,12 @@ - end - - unless interp.deleted? -- #Thread.current[:status].value = TclTkLib.mainloop(false) -- Thread.current[:status].value = interp.mainloop(false) -+ begin -+ #Thread.current[:status].value = TclTkLib.mainloop(false) -+ Thread.current[:status].value = interp.mainloop(false) -+ rescue Exception=>e -+ puts "ignore exception on interp: #{e.inspect}\n" if $DEBUG -+ end - end - - ensure -@@ -1569,7 +1573,15 @@ - EOL - =end - -- at_exit{ INTERP.remove_tk_procs(TclTkLib::FINALIZE_PROC_NAME) } -+ if !WITH_RUBY_VM || RUN_EVENTLOOP_ON_MAIN_THREAD ### check Ruby 1.9 !!!!!!! -+ at_exit{ INTERP.remove_tk_procs(TclTkLib::FINALIZE_PROC_NAME) } -+ else -+ at_exit{ -+ Tk.root.destroy -+ INTERP.remove_tk_procs(TclTkLib::FINALIZE_PROC_NAME) -+ INTERP_THREAD.kill.join -+ } -+ end - - EventFlag = TclTkLib::EventFlag - -diff -urN ruby-2.1.3.orig/ext/tk/tcltklib.c ruby-2.1.3/ext/tk/tcltklib.c ---- ruby-2.1.3.orig/ext/tk/tcltklib.c 2014-02-10 20:45:14.000000000 +0900 -+++ ruby-2.1.3/ext/tk/tcltklib.c 2014-10-19 19:17:00.014057636 +0900 -@@ -6020,15 +6025,38 @@ - } - - rbtk_eventloop_depth++; -- /* DUMP2("namespace wrapper enter depth == %d", rbtk_eventloop_depth); */ -+ DUMP2("namespace wrapper enter depth == %d", rbtk_eventloop_depth); - - if (info.isNativeObjectProc) { -+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 6 -+ DUMP1("call a native-object-proc"); - ret = (*(info.objProc))(info.objClientData, interp, objc, objv); -+#else -+ /* Tcl8.6 or later */ -+ int i; -+ Tcl_Obj **cp_objv; -+ char org_ns_cmd_name[] = "__orig_namespace_command__"; -+ -+ DUMP1("call a native-object-proc for tcl8.6 or later"); -+ cp_objv = RbTk_ALLOC_N(Tcl_Obj *, (objc + 1)); -+ -+ cp_objv[0] = Tcl_NewStringObj(org_ns_cmd_name, strlen(org_ns_cmd_name)); -+ for(i = 1; i < objc; i++) { -+ cp_objv[i] = objv[i]; -+ } -+ cp_objv[objc] = (Tcl_Obj *)NULL; -+ -+ /* ret = Tcl_EvalObjv(interp, objc, cp_objv, TCL_EVAL_DIRECT); */ -+ ret = Tcl_EvalObjv(interp, objc, cp_objv, 0); -+ -+ ckfree((char*)cp_objv); -+#endif - } else { - /* string interface */ - int i; - char **argv; - -+ DUMP1("call with the string-interface"); - /* argv = (char **)Tcl_Alloc(sizeof(char *) * (objc + 1)); */ - argv = RbTk_ALLOC_N(char *, (objc + 1)); - #if 0 /* use Tcl_Preserve/Release */ -@@ -6068,6 +6097,8 @@ - Tcl_Interp *interp; - { - #if TCL_MAJOR_VERSION >= 8 -+ -+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 6 - Tcl_CmdInfo orig_info; - - if (!Tcl_GetCommandInfo(interp, "namespace", &(orig_info))) { -@@ -6084,6 +6115,11 @@ - orig_info.deleteProc); - } - -+#else /* tcl8.6 or later */ -+ Tcl_GlobalEval(interp, "rename namespace __orig_namespace_command__"); -+ -+#endif -+ - Tcl_CreateObjCommand(interp, "namespace", ip_rbNamespaceObjCmd, - (ClientData) 0, (Tcl_CmdDeleteProc *)NULL); - #endif -@@ -8448,15 +8484,28 @@ - #endif - { - struct invoke_info *inf = (struct invoke_info *)arg; -+ -+#if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION < 6 - int i, len; --#if TCL_MAJOR_VERSION >= 8 - int argc = inf->objc; - char **argv = (char **)NULL; - #endif - -+ DUMP1("call invoke_tcl_proc"); -+ -+#if TCL_MAJOR_VERSION > 8 || (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 6) -+ -+ /* eval */ -+ inf->ptr->return_value = Tcl_EvalObjv(inf->ptr->ip, inf->objc, inf->objv, TCL_EVAL_DIRECT); -+ /* inf->ptr->return_value = Tcl_EvalObjv(inf->ptr->ip, inf->objc, inf->objv, 0); */ -+ -+#else /* Tcl/Tk 7.x, 8.0 -- 8.5 */ -+ - /* memory allocation for arguments of this command */ --#if TCL_MAJOR_VERSION >= 8 -+#if TCL_MAJOR_VERSION == 8 -+ /* Tcl/Tk 8.0 -- 8.5 */ - if (!inf->cmdinfo.isNativeObjectProc) { -+ DUMP1("called proc is not a native-obj-proc"); - /* string interface */ - /* argv = (char **)ALLOC_N(char *, argc+1);*/ /* XXXXXXXXXX */ - argv = RbTk_ALLOC_N(char *, (argc+1)); -@@ -8470,11 +8519,14 @@ - } - #endif - -+ DUMP1("reset result of tcl-interp"); - Tcl_ResetResult(inf->ptr->ip); - - /* Invoke the C procedure */ --#if TCL_MAJOR_VERSION >= 8 -+#if TCL_MAJOR_VERSION == 8 -+ /* Tcl/Tk 8.0 -- 8.5 */ - if (inf->cmdinfo.isNativeObjectProc) { -+ DUMP1("call tcl_proc as a native-obj-proc"); - inf->ptr->return_value - = (*(inf->cmdinfo.objProc))(inf->cmdinfo.objClientData, - inf->ptr->ip, inf->objc, inf->objv); -@@ -8482,7 +8534,9 @@ - else - #endif - { --#if TCL_MAJOR_VERSION >= 8 -+#if TCL_MAJOR_VERSION == 8 -+ /* Tcl/Tk 8.0 -- 8.5 */ -+ DUMP1("call tcl_proc as not a native-obj-proc"); - inf->ptr->return_value - = (*(inf->cmdinfo.proc))(inf->cmdinfo.clientData, inf->ptr->ip, - argc, (CONST84 char **)argv); -@@ -8505,6 +8559,9 @@ - #endif - } - -+#endif /* Tcl/Tk 8.6 or later || Tcl 7.x, 8.0 -- 8.5 */ -+ -+ DUMP1("end of invoke_tcl_proc"); - return Qnil; - } - diff --git a/ruby.spec b/ruby.spec index 36b9eba..db01eb3 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 2 %global minor_version 1 -%global teeny_version 6 +%global teeny_version 7 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -21,10 +21,10 @@ %endif -%global release 30 +%global release 31 %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} -%global rubygems_version 2.2.3 +%global rubygems_version 2.2.5 # The RubyGems library has to stay out of Ruby directory three, since the # RubyGems should be share by all Ruby implementations. @@ -109,9 +109,6 @@ Patch6: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch # Test are broken due to SSLv3 disabled in Fedora. # https://bugs.ruby-lang.org/issues/10046 Patch7: ruby-2.2.0-Don-t-use-obsolete-SSLv3-for-tests.patch -# Fix compatibility with Tcl/Tk 8.6. -# https://bugs.ruby-lang.org/issues/8000 -Patch8: ruby-2.2.0-Support-tcl-tk-8.6.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: ruby(rubygems) >= %{rubygems_version} @@ -373,7 +370,6 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -873,6 +869,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Wed Sep 02 2015 Vít Ondruch - 2.1.7-31 +- Update to Ruby 2.1.7. + * Mon Jun 08 2015 Vít Ondruch - 2.1.6-30 - Fix the RubyGems version (rhbz#1226679). diff --git a/sources b/sources index 84ba80d..9114b83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e1a8e6c6bfbb09bb7f8d6be8f508e4a1 ruby-2.1.6.tar.bz2 +3a878e98311d543e5de3533b82ef4a5a ruby-2.1.7.tar.bz2