[DRE-maint] Bug#680384: unblock: ruby-mkrf/0.2.3+dfsg-2

Cédric Boutillier cedric.boutillier at gmail.com
Thu Jul 5 13:45:12 UTC 2012


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: freeze-exception

Hi!

Please unblock package ruby-mkrf. The version uploaded in unstable fixes
RC bug #676204, and now builds correctly with the new default version of
Ruby.

Find in attachment the debdiff between this new version and the one
currently in wheezy.

Thanks!


unblock ruby-mkrf/0.2.3+dfsg-2

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (150, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-------------- next part --------------
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/changelog ruby-mkrf-0.2.3+dfsg/debian/changelog
--- ruby-mkrf-0.2.3+dfsg/debian/changelog	2011-12-16 14:15:32.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/changelog	2012-07-04 14:20:27.000000000 +0200
@@ -1,3 +1,23 @@
+ruby-mkrf (0.2.3+dfsg-2) unstable; urgency=low
+
+  * Add 0400_use_correct_ruby_version_in_tests.patch:
+      Use the same Ruby binary to run the tests and to build test Rakefiles.
+      This is needed to test the library correctly against the different
+      versions of the Ruby interpreter in Debian.
+  * Add 0500_replace_config_by_rbconfig.patch
+      Use RbConfig:: instead of Config:: deprecated in Ruby 1.8 and 1.9.
+      Making this slight change avoids avoid annoying warnings.
+  * Add 0600_fix_test_libxml.patch 0610_fix_test_syck.patch
+      Port code built during tests to Ruby1.9 (Closes: #676204).
+      Although this is not part of the mkrf library itself, this is needed to
+      test the library correctly with the various Ruby interpreter.
+  * Add 9900_debug_test_failures.patch
+      Make the test suite output more verbose, to get enough info if something
+      goes wrong during the build.
+  * Bump Standards-Version: to 3.9.3 (no changes needed)
+
+ -- C?dric Boutillier <cedric.boutillier at gmail.com>  Wed, 04 Jul 2012 13:34:26 +0200
+
 ruby-mkrf (0.2.3+dfsg-1) unstable; urgency=low
 
   * Initial release (Closes: #584886)
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/control ruby-mkrf-0.2.3+dfsg/debian/control
--- ruby-mkrf-0.2.3+dfsg/debian/control	2011-12-28 15:55:46.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/control	2012-07-04 14:20:27.000000000 +0200
@@ -5,7 +5,7 @@
 Uploaders: C?dric Boutillier <cedric.boutillier at gmail.com>
 DM-Upload-Allowed: yes
 Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.2.12~), rake, zlib1g-dev, libxml2-dev, libxslt1-dev
-Standards-Version: 3.9.2
+Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/pkg-ruby-extras/ruby-mkrf.git
 Vcs-Browser: http://git.debian.org/?p=pkg-ruby-extras/ruby-mkrf.git;a=summary
 Homepage: http://mkrf.rubyforge.org/
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/0400_use_correct_ruby_version_in_tests.patch ruby-mkrf-0.2.3+dfsg/debian/patches/0400_use_correct_ruby_version_in_tests.patch
--- ruby-mkrf-0.2.3+dfsg/debian/patches/0400_use_correct_ruby_version_in_tests.patch	1970-01-01 01:00:00.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/0400_use_correct_ruby_version_in_tests.patch	2012-07-04 14:20:27.000000000 +0200
@@ -0,0 +1,45 @@
+Description: Use the same Ruby binary to run the tests and to create Rakefiles
+ Gem2deb defines the RUBY_TEST_BIN environment variable. Use it to call the
+ correct version of the Ruby binary during tests on extconf.rb to generate
+ Rakefiles.
+Author: C?dric Boutillier <cedric.boutillier at gmail.com>
+Last-Update: 2012-07-04
+
+--- a/Rakefile
++++ b/Rakefile
+@@ -18,6 +18,8 @@
+ RUBY_FORGE_PROJECT = "mkrf"
+ RUBY_FORGE_USER    = "kevinclark"
+ 
++RUBY_TEST_BIN = ENV['RUBY_TEST_BIN']
++
+ 
+ task :default => ["test:units"]
+ 
+@@ -55,22 +57,22 @@
+     
+     desc "Try to compile a trivial extension"
+     task :trivial do
+-      sh "cd #{SAMPLE_DIRS[:trivial]}; ruby extconf.rb; rake"
++      sh "cd #{SAMPLE_DIRS[:trivial]}; #{RUBY_TEST_BIN} extconf.rb; rake"
+     end
+     
+     desc "Try to compile libxml"
+     task :libxml do
+-      sh "cd #{SAMPLE_DIRS[:libxml]}; ruby extconf.rb; rake"
++      sh "cd #{SAMPLE_DIRS[:libxml]}; #{RUBY_TEST_BIN} extconf.rb; rake"
+     end
+     
+     desc "Try to compile syck"
+     task :syck do
+-      sh "cd #{SAMPLE_DIRS[:syck]}; ruby extconf.rb; rake"
++      sh "cd #{SAMPLE_DIRS[:syck]}; #{RUBY_TEST_BIN} extconf.rb; rake"
+     end
+     
+     desc "Try to compile cpp_bang"
+     task :cpp_bang do
+-      sh "cd #{SAMPLE_DIRS[:cpp_bang]}; ruby mkrf_config.rb; rake"
++      sh "cd #{SAMPLE_DIRS[:cpp_bang]}; #{RUBY_TEST_BIN} mkrf_config.rb; rake"
+     end
+ 
+     desc "Clean up after sample tests"
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/0500_replace_config_by_rbconfig.patch ruby-mkrf-0.2.3+dfsg/debian/patches/0500_replace_config_by_rbconfig.patch
--- ruby-mkrf-0.2.3+dfsg/debian/patches/0500_replace_config_by_rbconfig.patch	1970-01-01 01:00:00.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/0500_replace_config_by_rbconfig.patch	2012-07-04 14:20:27.000000000 +0200
@@ -0,0 +1,73 @@
+Description: Replace deprecated Config:: by RbConfig::
+Author: C?dric Boutillier <cedric.boutillier at gmail.com>
+Last-Update: 2012-07-04
+
+--- a/lib/mkrf/availability.rb
++++ b/lib/mkrf/availability.rb
+@@ -10,14 +10,14 @@
+   # on the current system.
+   class Availability
+     # ruby 1.9+
+-    if Config::CONFIG['rubyhdrdir']
+-      DEFAULT_INCLUDES = [Config::CONFIG['rubyhdrdir'],
+-                          Config::CONFIG['rubyhdrdir'] + "/" + Config::CONFIG['arch'],
+-                          Config::CONFIG["archdir"],Config::CONFIG['sitelibdir'], "."]
++    if RbConfig::CONFIG['rubyhdrdir']
++      DEFAULT_INCLUDES = [RbConfig::CONFIG['rubyhdrdir'],
++                          RbConfig::CONFIG['rubyhdrdir'] + "/" + RbConfig::CONFIG['arch'],
++                          RbConfig::CONFIG["archdir"],RbConfig::CONFIG['sitelibdir'], "."]
+ 
+     else
+-      DEFAULT_INCLUDES = [Config::CONFIG['includedir'], Config::CONFIG["archdir"],
+-                          Config::CONFIG['sitelibdir'], "."]
++      DEFAULT_INCLUDES = [RbConfig::CONFIG['includedir'], RbConfig::CONFIG["archdir"],
++                          RbConfig::CONFIG['sitelibdir'], "."]
+     end
+                         
+     # These really shouldn't be static like this..
+@@ -35,11 +35,11 @@
+     # * <tt>:compiler</tt> -- which compiler to use when determining availability
+     # * <tt>:includes</tt> -- directories that should be searched for include files
+     def initialize(options = {})      
+-      @loaded_libs = [(options[:loaded_libs] || Config::CONFIG["LIBS"].gsub('-l', '').split)].flatten
++      @loaded_libs = [(options[:loaded_libs] || RbConfig::CONFIG["LIBS"].gsub('-l', '').split)].flatten
+       @library_paths = [(options[:library_paths] || [])].flatten
+       # Not sure what COMMON_HEADERS looks like when populated
+-      @headers = options[:headers] || [] # Config::CONFIG["COMMON_HEADERS"]
+-      @compiler = options[:compiler] || Config::CONFIG["CC"]
++      @headers = options[:headers] || [] # RbConfig::CONFIG["COMMON_HEADERS"]
++      @compiler = options[:compiler] || RbConfig::CONFIG["CC"]
+       @includes = [(options[:includes] || DEFAULT_INCLUDES)].flatten
+       @logger = Logger.new('mkrf.log')
+       @defines = []
+@@ -167,7 +167,7 @@
+       if RUBY_PLATFORM =~ /mswin/
+         "link -nologo -incremental:no -debug -opt:ref -opt:icf -dll"
+       else
+-        Config::CONFIG['LDSHARED']
++        RbConfig::CONFIG['LDSHARED']
+       end
+     end
+ 
+--- a/lib/mkrf/generator.rb
++++ b/lib/mkrf/generator.rb
+@@ -40,7 +40,7 @@
+   class Generator
+     include Rake
+     
+-    CONFIG = Config::CONFIG
++    CONFIG = RbConfig::CONFIG
+     
+     # Any extra code, given as a string, to be appended to the Rakefile.
+     attr_accessor :additional_code
+--- a/lib/mkrf/rakehelper.rb
++++ b/lib/mkrf/rakehelper.rb
+@@ -41,7 +41,7 @@
+ 
+ def setup_extension(dir, extension)
+   ext = "ext/#{dir}"
+-  ext_so = "#{ext}/#{extension}.#{Config::CONFIG['DLEXT']}"
++  ext_so = "#{ext}/#{extension}.#{RbConfig::CONFIG['DLEXT']}"
+   ext_files = FileList[
+     "#{ext}/*.c",
+     "#{ext}/*.h",
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/0600_fix_test_libxml.patch ruby-mkrf-0.2.3+dfsg/debian/patches/0600_fix_test_libxml.patch
--- ruby-mkrf-0.2.3+dfsg/debian/patches/0600_fix_test_libxml.patch	1970-01-01 01:00:00.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/0600_fix_test_libxml.patch	2012-07-04 14:20:27.000000000 +0200
@@ -0,0 +1,150 @@
+Description: Port code from libxml example to Ruby1.9
+Author: C?dric Boutillier <cedric.boutillier at gmail.com>
+Last-Update: 2012-07-04
+
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/extconf.rb
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/extconf.rb
+@@ -5,7 +5,7 @@
+   exit 1
+ end
+ 
+-Mkrf::Generator.new('libxml_so', '*.c') do |g|
++Mkrf::Generator.new('libxml_so', ['*.c']) do |g|
+ 
+   g.include_library('socket','socket')
+   g.include_library('nsl','gethostbyname')
+@@ -46,4 +46,4 @@
+     crash('Need docbCreateFileParserCtxt')
+   end
+ 
+-end
+\ No newline at end of file
++end
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.h
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.h
+@@ -13,8 +13,13 @@
+ #define RUBY_LIBXML_VER_MIC   8
+ 
+ #include <ruby.h>
++#if RUBY_INTERN_H
++#include <ruby/backward/rubyio.h>
++#include <ruby/util.h>
++#else
+ #include <rubyio.h>
+ #include <util.h>
++#endif
+ #include <libxml/parser.h>
+ #include <libxml/parserInternals.h>
+ #include <libxml/debugXML.h>
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.c
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.c
+@@ -138,7 +138,7 @@
+  */
+ VALUE
+ ruby_xml_document_dump(int argc, VALUE *argv, VALUE self) {
+-  OpenFile *fptr;
++  rb_io_t *fptr;
+   VALUE io;
+   FILE *out;
+   ruby_xml_document *rxd;
+@@ -177,7 +177,7 @@
+ VALUE
+ ruby_xml_document_debug_dump(int argc, VALUE *argv, VALUE self) {
+ #ifdef LIBXML_DEBUG_ENABLED
+-  OpenFile *fptr;
++  rb_io_t *fptr;
+   VALUE io;
+   FILE *out;
+   ruby_xml_document *rxd;
+@@ -221,7 +221,7 @@
+ VALUE
+ ruby_xml_document_debug_dump_head(int argc, VALUE *argv, VALUE self) {
+ #ifdef LIBXML_DEBUG_ENABLED
+-  OpenFile *fptr;
++  rb_io_t *fptr;
+   VALUE io;
+   FILE *out;
+   ruby_xml_document *rxd;
+@@ -266,7 +266,7 @@
+  */
+ VALUE
+ ruby_xml_document_format_dump(int argc, VALUE *argv, VALUE self) {
+-  OpenFile *fptr;
++  rb_io_t *fptr;
+   VALUE bool, io;
+   FILE *out;
+   ruby_xml_document *rxd;
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.c
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.c
+@@ -163,31 +163,31 @@
+       ruby_xml_xpath_context_register_namespace(xxpc, rprefix, ruri);
+       break;
+     case T_ARRAY:
+-      for (i = 0; i < RARRAY(argv[2])->len; i++) {
+-	switch (TYPE(RARRAY(argv[2])->ptr[i])) {
++      for (i = 0; i < RARRAY_LEN(argv[2]); i++) {
++	switch (TYPE(RARRAY_PTR(argv[2])[i])) {
+ 	case T_STRING:
+-	  cp = strchr(StringValuePtr(RARRAY(argv[2])->ptr[i]), (int)':');
++	  cp = strchr(StringValuePtr(RARRAY_PTR(argv[2])[i]), (int)':');
+ 	  if (cp == NULL) {
+-	    rprefix = RARRAY(argv[2])->ptr[i];
++	    rprefix = RARRAY_PTR(argv[2])[i];
+ 	    ruri = Qnil;
+ 	  } else {
+-	    rprefix = rb_str_new(StringValuePtr(RARRAY(argv[2])->ptr[i]), (int)((long)cp - (long)StringValuePtr(RARRAY(argv[2])->ptr[i])));
++	    rprefix = rb_str_new(StringValuePtr(RARRAY_PTR(argv[2])[i]), (int)((long)cp - (long)StringValuePtr(RARRAY_PTR(argv[2])[i])));
+ 	    ruri = rb_str_new2(&cp[1]);
+ 	  }
+ 	  /* Should test the results of this */
+ 	  ruby_xml_xpath_context_register_namespace(xxpc, rprefix, ruri);
+ 	  break;
+ 	case T_ARRAY:
+-	  if (RARRAY(RARRAY(argv[2])->ptr[i])->len == 2) {
+-	    rprefix = RARRAY(RARRAY(argv[2])->ptr[i])->ptr[0];
+-	    ruri = RARRAY(RARRAY(argv[2])->ptr[i])->ptr[1];
++	  if (RARRAY_LEN(RARRAY_PTR(argv[2])[i]) == 2) {
++	    rprefix = RARRAY_PTR(RARRAY_PTR(argv[2])[i])[0];
++	    ruri = RARRAY_PTR(RARRAY_PTR(argv[2])[i])[1];
+ 	    ruby_xml_xpath_context_register_namespace(xxpc, rprefix, ruri);
+ 	  } else {
+ 	    rb_raise(rb_eArgError, "nested array must be an array of strings, prefix and href/uri");
+ 	  }
+ 	  break;
+ 	default:
+-	  if (rb_obj_is_kind_of(RARRAY(argv[2])->ptr[i], cXMLNS) == Qtrue) {
++	  if (rb_obj_is_kind_of(RARRAY_PTR(argv[2])[i], cXMLNS) == Qtrue) {
+ 	    Data_Get_Struct(argv[2], ruby_xml_ns, rxns);
+ 	    rprefix = rb_str_new2((const char*)rxns->ns->prefix);
+ 	    ruri = rb_str_new2((const char*)rxns->ns->href);
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.c
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.c
+@@ -895,7 +895,7 @@
+   ruby_xml_parser *rxp;
+   ruby_xml_parser_context *rxpc;
+   rx_io_data *data;
+-  OpenFile *fptr;
++  rb_io_t *fptr;
+   FILE *f;
+ 
+   if (!rb_obj_is_kind_of(io, rb_cIO))
+@@ -1214,7 +1214,7 @@
+   data->str = str;
+ 
+   Data_Get_Struct(rxp->ctxt, ruby_xml_parser_context, rxpc);
+-  rxpc->ctxt = xmlCreateMemoryParserCtxt(StringValuePtr(data->str), RSTRING(data->str)->len);
++  rxpc->ctxt = xmlCreateMemoryParserCtxt(StringValuePtr(data->str), RSTRING_LEN(data->str));
+ 
+   return(data->str);
+ }
+--- a/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.c
++++ b/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.c
+@@ -5,7 +5,7 @@
+ #include "libxml.h"
+ 
+ /* Ruby's util.h has ruby_strdup */
+-#include "util.h"
++//#include "util.h"
+ 
+ #ifdef xmlMalloc
+ #undef xmlMalloc
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/0610_fix_test_syck.patch ruby-mkrf-0.2.3+dfsg/debian/patches/0610_fix_test_syck.patch
--- ruby-mkrf-0.2.3+dfsg/debian/patches/0610_fix_test_syck.patch	1970-01-01 01:00:00.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/0610_fix_test_syck.patch	2012-07-04 14:20:27.000000000 +0200
@@ -0,0 +1,190 @@
+Description: Port syck example to Ruby1.9
+Author: C?dric Boutillier <cedric.boutillier at gmail.com>
+Last-Update: 2012-07-04
+
+--- a/test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb
++++ b/test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb
+@@ -5,5 +5,9 @@
+ end
+ 
+ Mkrf::Generator.new('syck') do |g|
+-  g.include_header("st.h")
++  if RUBY_VERSION =~ /1\.9/
++    g.include_header("ruby/backward/st.h")
++  else
++    g.include_header("st.h")
++  end
+ end
+--- a/test/sample_files/syck-0.55/lib/syck.h
++++ b/test/sample_files/syck-0.55/lib/syck.h
+@@ -20,6 +20,8 @@
+ #include <ctype.h>
+ #ifdef HAVE_ST_H
+ #include <st.h>
++#elif HAVE_RUBY_BACKWARD_ST_H
++#include <ruby/backward/st.h>
+ #else
+ #include "syck_st.h"
+ #endif
+--- a/test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.c
++++ b/test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.c
+@@ -154,8 +154,8 @@
+         if (!NIL_P(str2))
+         {
+             StringValue(str2);
+-            len = RSTRING(str2)->len;
+-            memcpy( buf + skip, RSTRING(str2)->ptr, len );
++            len = RSTRING_LEN(str2);
++            memcpy( buf + skip, RSTRING_PTR(str2), len );
+         }
+     }
+     len += skip;
+@@ -177,7 +177,7 @@
+     if (!NIL_P(tmp = rb_check_string_type(port))) {
+         taint = OBJ_TAINTED(port); /* original taintedness */
+         port = tmp;
+-        syck_parser_str( parser, RSTRING(port)->ptr, RSTRING(port)->len, NULL );
++        syck_parser_str( parser, RSTRING_PTR(port), RSTRING_LEN(port), NULL );
+     }
+     else if (rb_respond_to(port, s_read)) {
+         if (rb_respond_to(port, s_binmode)) {
+@@ -634,7 +634,7 @@
+     if ( bonus->taint)      OBJ_TAINT( obj );
+     if ( bonus->proc != 0 ) rb_funcall(bonus->proc, s_call, 1, obj);
+ 
+-    rb_hash_aset(bonus->data, INT2FIX(RHASH(bonus->data)->tbl->num_entries), obj);
++    rb_hash_aset(bonus->data, INT2FIX(RHASH_TBL(bonus->data)->num_entries), obj);
+     return obj;
+ }
+ 
+@@ -1032,10 +1032,10 @@
+     VALUE ivname = rb_ary_entry( vars, 0 );
+     char *ivn;
+     StringValue( ivname );
+-    ivn = S_ALLOC_N( char, RSTRING(ivname)->len + 2 );
++    ivn = S_ALLOC_N( char, RSTRING_LEN(ivname) + 2 );
+     ivn[0] = '@';
+     ivn[1] = '\0';
+-    strncat( ivn, RSTRING(ivname)->ptr, RSTRING(ivname)->len );
++    strncat( ivn, RSTRING_PTR(ivname), RSTRING_LEN(ivname) );
+     rb_iv_set( obj, ivn, rb_ary_entry( vars, 1 ) );
+     S_FREE( ivn );
+     return Qnil;
+@@ -1051,7 +1051,7 @@
+     VALUE tclass = rb_cObject;
+     VALUE tparts = rb_str_split( const_name, "::" );
+     int i = 0;
+-    for ( i = 0; i < RARRAY(tparts)->len; i++ ) {
++    for ( i = 0; i < RARRAY_LEN(tparts); i++ ) {
+         VALUE tpart = rb_to_id( rb_ary_entry( tparts, i ) );
+         if ( !rb_const_defined( tclass, tpart ) ) return Qnil;
+         tclass = rb_const_get( tclass, tpart );
+@@ -1066,12 +1066,12 @@
+ syck_resolver_transfer( self, type, val )
+     VALUE self, type, val;
+ {
+-    if (NIL_P(type) || RSTRING(StringValue(type))->len == 0) 
++    if (NIL_P(type) || RSTRING_LEN(StringValue(type)) == 0) 
+     {
+         type = rb_funcall( self, s_detect_implicit, 1, val );
+     }
+ 
+-    if ( ! (NIL_P(type) || RSTRING(StringValue(type))->len == 0) )
++    if ( ! (NIL_P(type) || RSTRING_LEN(StringValue(type)) == 0) )
+     {
+         VALUE str_xprivate = rb_str_new2( "x-private" );
+         VALUE colon = rb_str_new2( ":" );
+@@ -1088,7 +1088,7 @@
+             VALUE subclass_parts = rb_ary_new();
+             VALUE parts = rb_str_split( type, ":" );
+ 
+-            while ( RARRAY(parts)->len > 1 )
++            while ( RARRAY_LEN(parts) > 1 )
+             {
+                 VALUE partial;
+                 rb_ary_unshift( subclass_parts, rb_ary_pop( parts ) );
+@@ -1106,7 +1106,7 @@
+                 if ( ! NIL_P( target_class ) )
+                 {
+                     subclass = target_class;
+-                    if ( RARRAY(subclass_parts)->len > 0 && rb_respond_to( target_class, s_tag_subclasses ) &&
++                    if ( RARRAY_LEN(subclass_parts) > 0 && rb_respond_to( target_class, s_tag_subclasses ) &&
+                          RTEST( rb_funcall( target_class, s_tag_subclasses, 0 ) ) )
+                     {
+                         VALUE subclass_v;
+@@ -1121,7 +1121,7 @@
+                         else if ( rb_cObject == target_class && subclass_v == Qnil )
+                         {
+                             // StringValue(subclass);
+-                            // printf( "No class: %s\n", RSTRING(subclass)->ptr );
++                            // printf( "No class: %s\n", RSTRING_PTR(subclass) );
+                             target_class = cYObject;
+                             type = subclass;
+                             subclass = cYObject;
+@@ -1194,7 +1194,7 @@
+     {
+         char *taguri;
+         val = tmp;
+-        taguri = syck_type_id_to_uri( RSTRING(val)->ptr );
++        taguri = syck_type_id_to_uri( RSTRING_PTR(val) );
+         return rb_str_new2( taguri );
+     }
+ 
+@@ -1214,7 +1214,7 @@
+     if ( !NIL_P(tmp) )
+     {
+         val = tmp;
+-        type_id = syck_match_implicit( RSTRING(val)->ptr, RSTRING(val)->len );
++        type_id = syck_match_implicit( RSTRING_PTR(val), RSTRING_LEN(val) );
+         return rb_str_new2( type_id );
+     }
+ 
+@@ -1517,8 +1517,8 @@
+     Data_Get_Struct( self, SyckNode, node );
+ 
+     StringValue( val );
+-    node->data.str->ptr = RSTRING(val)->ptr;
+-    node->data.str->len = RSTRING(val)->len;
++    node->data.str->ptr = RSTRING_PTR(val);
++    node->data.str->len = RSTRING_LEN(val);
+     node->data.str->style = scalar_none;
+ 
+     rb_iv_set( self, "@value", val );
+@@ -1571,7 +1571,7 @@
+     if ( !NIL_P( val ) ) {
+         int i;
+         syck_seq_empty( node );
+-        for ( i = 0; i < RARRAY( val )->len; i++ )
++        for ( i = 0; i < RARRAY_LEN( val ); i++ )
+         {
+             syck_seq_add( node, rb_ary_entry(val, i) );
+         }
+@@ -1660,7 +1660,7 @@
+         }
+ 
+         keys = rb_funcall( hsh, s_keys, 0 );
+-        for ( i = 0; i < RARRAY(keys)->len; i++ )
++        for ( i = 0; i < RARRAY_LEN(keys); i++ )
+         {
+             VALUE key = rb_ary_entry(keys, i);
+             syck_map_add( node, key, rb_hash_aref(hsh, key) );
+@@ -1696,7 +1696,7 @@
+ 
+         syck_map_empty( node );
+         keys = rb_funcall( hsh, s_keys, 0 );
+-        for ( i = 0; i < RARRAY(keys)->len; i++ )
++        for ( i = 0; i < RARRAY_LEN(keys); i++ )
+         {
+             VALUE key = rb_ary_entry(keys, i);
+             syck_map_add( node, key, rb_hash_aref(hsh, key) );
+--- a/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.h
++++ b/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.h
+@@ -20,6 +20,8 @@
+ #include <ctype.h>
+ #ifdef HAVE_ST_H
+ #include <st.h>
++#elif HAVE_RUBY_BACKWARD_ST_H
++#include <ruby/backward/st.h>
+ #else
+ #include "syck_st.h"
+ #endif
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/9900_debug_test_failures.patch ruby-mkrf-0.2.3+dfsg/debian/patches/9900_debug_test_failures.patch
--- ruby-mkrf-0.2.3+dfsg/debian/patches/9900_debug_test_failures.patch	1970-01-01 01:00:00.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/9900_debug_test_failures.patch	2012-07-04 14:20:27.000000000 +0200
@@ -0,0 +1,32 @@
+Description: Make the output of the test suite more verbose
+Author: C?dric Boutillier <cedric.boutillier at gmail.com>
+Last-Update: 2012-07-04
+
+--- a/test/integration/test_sample_projects.rb
++++ b/test/integration/test_sample_projects.rb
+@@ -10,18 +10,18 @@
+   }
+   
+   # Set to true for full command line output
+-  @@debug = false
++  @@debug = true
+   
+   SAMPLE_LIBS.each do |k,v|
+     define_method("test_that_#{k}_compiles") do
+-      silence_command_line do
++#      silence_command_line do
+         system("rake test:samples:clobber PROJECT=#{k}")
+-      end
++#      end
+       assert_creates_file(SAMPLES_DIR + v) do
+-        silence_command_line do 
++#        silence_command_line do 
+           system("rake test:samples:#{k}")
+-        end
++#        end
+       end
+     end
+   end
+-end
+\ No newline at end of file
++end
diff -Nru ruby-mkrf-0.2.3+dfsg/debian/patches/series ruby-mkrf-0.2.3+dfsg/debian/patches/series
--- ruby-mkrf-0.2.3+dfsg/debian/patches/series	2011-12-16 14:15:32.000000000 +0100
+++ ruby-mkrf-0.2.3+dfsg/debian/patches/series	2012-07-04 14:20:27.000000000 +0200
@@ -1,3 +1,8 @@
 0100_remove_rubygems.patch
 0200_remove_load_path_manipulations.rb
 0300_fix_test_default_include_dir_should_be_from_rbconfig.patch
+0400_use_correct_ruby_version_in_tests.patch
+0500_replace_config_by_rbconfig.patch
+0600_fix_test_libxml.patch
+0610_fix_test_syck.patch
+9900_debug_test_failures.patch


More information about the Pkg-ruby-extras-maintainers mailing list