Control: retitle 734330 Please provide ruby scripting again
Control: severity 734330 wishlist

I'm attaching an incomplete patch, which may be used to resurrect
Ruby scripting in the future.

-- 
 ,''`.  Christian Hofstaedtler <z...@debian.org>
: :' :  Debian Developer
`. `'   7D1A CFFA D9E0 806C 9C4C  D392 5C13 D6DB 9305 2E03
  `-

Index: gnoemoe-2.2.0+dfsg/configure
===================================================================
--- gnoemoe-2.2.0+dfsg.orig/configure	2014-01-15 11:56:15.000000000 +0100
+++ gnoemoe-2.2.0+dfsg/configure	2014-01-15 11:56:15.000000000 +0100
@@ -24600,82 +24600,12 @@ fi
 #----------------------------------------------------------------
 
 if test "_$rubyen" = "_yes"; then
-  RUBYBIN=
 
 
-# Check whether --with-ruby was given.
-if test "${with_ruby+set}" = set; then
-  withval=$with_ruby;  RUBYBIN="$withval"
-else
-  RUBYBIN=
-fi
-
-
-  # First figure out what the name of Ruby is
-
-  if test -z "$RUBYBIN"; then
-  	for ac_prog in ruby
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RUBY+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RUBY"; then
-  ac_cv_prog_RUBY="$RUBY" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RUBY="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RUBY=$ac_cv_prog_RUBY
-if test -n "$RUBY"; then
-  { echo "$as_me:$LINENO: result: $RUBY" >&5
-echo "${ECHO_T}$RUBY" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$RUBY" && break
-done
-
-  else
-  	RUBY="$RUBYBIN"
-  fi
-
   { echo "$as_me:$LINENO: checking for Ruby header files" >&5
 echo $ECHO_N "checking for Ruby header files... $ECHO_C" >&6; }
-  if test -n "$RUBY"; then
-  	RUBYDIR=`($RUBY -rmkmf -e 'print Config::CONFIG["archdir"] || $archdir') 2>/dev/null`
-  	if test "$RUBYDIR" != ""; then
-  		dirs="$RUBYDIR"
-  		RUBY_CFLAGS=none
-  		for i in $dirs; do
-  			if test -r $i/ruby.h; then
-  				{ echo "$as_me:$LINENO: result: $i" >&5
-echo "${ECHO_T}$i" >&6; }
-  				RUBY_CFLAGS="-idirafter $i"
-  				break;
-  			fi
-  		done
-  		if test "$RUBY_CFLAGS" = none; then
+  	  		RUBY_CFLAGS=`pkg-config --cflags ruby-2.0`
+		if test "$RUBY_CFLAGS" = ""; then
   			{ echo "$as_me:$LINENO: result: could not locate ruby.h" >&5
 echo "${ECHO_T}could not locate ruby.h" >&6; }
   			rubymsg="(no headers found, install ruby-dev)"
@@ -24685,54 +24615,17 @@ echo "${ECHO_T}could not locate ruby.h"
   		# Find library and path for linking.
   		{ echo "$as_me:$LINENO: checking for Ruby library" >&5
 echo $ECHO_N "checking for Ruby library... $ECHO_C" >&6; }
-  		RUBYLIB=""
-  		rb_libdir=`($RUBY -rrbconfig -e 'print Config::CONFIG["libdir"]') 2>/dev/null`
-  		rb_bindir=`($RUBY -rrbconfig -e 'print Config::CONFIG["bindir"]') 2>/dev/null`
-  		dirs="$dirs $rb_libdir $rb_bindir"
-
-          rb_libruby=`($RUBY -rrbconfig -e 'print Config::CONFIG["LIBRUBY_A"]') 2>/dev/null`
-          RUBY_LIBS=`($RUBY -rrbconfig -e '
-              c = Config::CONFIG
-              if c.has_key? "LIBRUBYARG_STATIC" # 1.8.x
-                  if c["LIBRUBY"] == c["LIBRUBY_A"]
-                      link = c["LIBRUBYARG_STATIC"]
-                  else
-                      link = c["LIBRUBYARG_SHARED"]
-                  end
-              else # 1.6.x
-                  link = "-l" + c["RUBY_INSTALL_NAME"]
-              end
-              puts link') 2>/dev/null`
-
-  		if test "$rb_libruby" != ""; then
-  			for i in $dirs; do
-  				if (test -r $i/$rb_libruby;) then
-  					RUBYLIB="$i"
-  					break;
-  				fi
-  			done
-  		fi
-  		if test "$RUBYLIB" = ""; then
+          RUBY_LIBS=`pkg-config --libs ruby-2.0`
+  		if test "$RUBY_LIBS" = ""; then
   			{ echo "$as_me:$LINENO: result: not found... disabling ruby support" >&5
 echo "${ECHO_T}not found... disabling ruby support" >&6; }
   			rubymsg="(libs not found)"
   			rubyen="no"
   		else
-  			{ echo "$as_me:$LINENO: result: $RUBY_LIBS in $RUBYLIB" >&5
-echo "${ECHO_T}$RUBY_LIBS in $RUBYLIB" >&6; }
+  			{ echo "$as_me:$LINENO: result: $RUBY_LIBS" >&5
+echo "${ECHO_T}$RUBY_LIBS" >&6; }
   		fi
-  	else
-  		{ echo "$as_me:$LINENO: result: unable to determine ruby configuration" >&5
-echo "${ECHO_T}unable to determine ruby configuration" >&6; }
-  		rubymsg="(unable to determine configuration)"
-  		rubyen="no"
-  	fi
-  else
-  	{ echo "$as_me:$LINENO: result: not found.. disabling ruby support" >&5
-echo "${ECHO_T}not found.. disabling ruby support" >&6; }
-  	rubymsg="(no headers found, install ruby-dev)"
-  	rubyen="no"
-  fi
+
 fi
 
 if test "_$rubyen" == "_no"; then
Index: gnoemoe-2.2.0+dfsg/gnoemoe/gm-scripts.c
===================================================================
--- gnoemoe-2.2.0+dfsg.orig/gnoemoe/gm-scripts.c	2014-01-15 11:56:15.000000000 +0100
+++ gnoemoe-2.2.0+dfsg/gnoemoe/gm-scripts.c	2014-01-15 12:05:10.593903907 +0100
@@ -322,9 +322,9 @@ gm_scripts_rb_error(GmScripts *scripts)
 	gchar *msg;
 	VALUE ary;
 
-	if(!NIL_P(ruby_errinfo)) {
+	if(!NIL_P(rb_errinfo())) {
 		lasterr = rb_gv_get("$!"); 
-		err = RSTRING(rb_obj_as_string(lasterr))->ptr;
+		err = RSTRING_PTR(rb_obj_as_string(lasterr));
 
 		gm_debug_msg(DEBUG_DEFAULT, "GmScripts.Error: Error while executing Ruby code: %s", 
 				err);
@@ -333,17 +333,17 @@ gm_scripts_rb_error(GmScripts *scripts)
 		g_signal_emit(scripts, gm_scripts_signals[MESSAGE], 0, msg);
 		g_free(msg);
 
-		ary = rb_funcall(ruby_errinfo, rb_intern("backtrace"), 0);
+		ary = rb_funcall(rb_errinfo(), rb_intern("backtrace"), 0);
 		gm_debug_msg(DEBUG_DEFAULT, "GmScripts.Error: Ruby backtrace:");
 		g_signal_emit(scripts, gm_scripts_signals[ERROR], 0, 
 				_("Ruby backtrace:"));
 
-		for (c = 0; c < RARRAY(ary)->len; c++) {
+		for (c = 0; c < RARRAY_LEN(ary); c++) {
 			gm_debug_msg(DEBUG_DEFAULT, "GmScripts.Error: \tfrom %s", 
-					RSTRING(RARRAY(ary)->ptr[c])->ptr);
+					RSTRING_PTR(rb_ary_entry(ary, c)));
 
 			msg = g_strdup_printf(_("\tfrom %s"), 
-					RSTRING(RARRAY(ary)->ptr[c])->ptr);  
+					RSTRING_PTR(rb_ary_entry(ary, c)));  
 			g_signal_emit(scripts, gm_scripts_signals[ERROR], 0, msg);
 			g_free(msg);        
 		}

Reply via email to