lang/ruby18 broken
Rainer Alves
freebsd at powered.net
Wed Nov 9 10:16:43 PST 2005
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 at 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
More information about the freebsd-ports
mailing list