Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Nov 2005 16:16:16 -0200
From:      Rainer Alves <freebsd@powered.net>
To:        ports@freebsd.org
Subject:   lang/ruby18 broken
Message-ID:  <43723CF0.2070007@powered.net>

next in thread | raw e-mail | index | archive | help
It seems lang/ruby18 has been broken after today's commit/update to 1.8.3.
Here's what happens if you enable Oniguruma (BSDL regex library) support:

===>   ruby+oniguruma-1.8.3 depends on file: /nonexistent - not found
===>    Verifying patch for /nonexistent in /usr/ports/devel/oniguruma
===>   Returning to build of ruby+oniguruma-1.8.3
===>  Configuring for ruby+oniguruma-1.8.3
[...]
cp -p ./enc/sjis.c   /usr/ports/lang/ruby18/work/ruby-1.8.3/enc/sjis.c
patch -d /usr/ports/lang/ruby18/work/ruby-1.8.3 -p0 < ./re.c.181.patch
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- re.c.ruby_orig     2003-11-04 18:13:57.000000000 +0900
|+++ re.c       2004-04-26 12:05:31.000000000 +0900
--------------------------
Patching file re.c using Plan A...
Hunk #1 succeeded at 483 (offset 42 lines).
Hunk #2 succeeded at 581 (offset 40 lines).
Hunk #3 failed at 591.
Hunk #4 succeeded at 807 (offset 110 lines).
Hunk #5 succeeded at 811 (offset 40 lines).
1 out of 5 hunks failed--saving rejects to re.c.rej
done


[root@bsd /usr/ports/lang/ruby18]# cat ./work/ruby-1.8.3/re.c.rej
***************
*** 588,604 ****
         from that.
      */

-     rp = ALLOC(Regexp);
-     MEMZERO((char *)rp, Regexp, 1);
-     rp->buffer = ALLOC_N(char, 16);
-     rp->allocated = 16;
-     rp->fastmap = ALLOC_N(char, 256);
      if (flags) {
        rp->options = flags;
      }
-     err = re_compile_pattern(s, len, rp);

-     if (err != NULL) {
        rb_reg_raise(s, len, err, 0);
      }
      return rp;
--- 591,608 ----
         from that.
      */

+     r = re_alloc_pattern(&rp);
+     if (r) {
+       re_error_code_to_str((UChar* )err, r);
+       rb_reg_raise(s, len, err, 0);
+     }
+
      if (flags) {
        rp->options = flags;
      }
+     r = re_compile_pattern(s, len, rp, err);

+     if (r != 0) {
        rb_reg_raise(s, len, err, 0);
      }
      return rp;


--
Rainer Alves
BrasilTelecom




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43723CF0.2070007>