diff options
author | taca <taca> | 2012-09-14 15:56:23 +0000 |
---|---|---|
committer | taca <taca> | 2012-09-14 15:56:23 +0000 |
commit | f7bac47d94ccc31255d12df610691864a47903b7 (patch) | |
tree | 53114f3628f7c8f01ee6c720be1ae1abacbbbf61 /lang | |
parent | 8387f8baf1085df85094be9e023dcf9222d3f10b (diff) | |
download | pkgsrc-f7bac47d94ccc31255d12df610691864a47903b7.tar.gz |
Add a patch to fix bignum problem on OS X 10.8, clang.
Bump PKGREVISION.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/ruby18-base/Makefile | 3 | ||||
-rw-r--r-- | lang/ruby18-base/distinfo | 3 | ||||
-rw-r--r-- | lang/ruby18-base/patches/patch-numeric.c | 36 |
3 files changed, 40 insertions, 2 deletions
diff --git a/lang/ruby18-base/Makefile b/lang/ruby18-base/Makefile index f1782dd8634..ee26bc1b833 100644 --- a/lang/ruby18-base/Makefile +++ b/lang/ruby18-base/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.72 2012/07/24 16:23:37 taca Exp $ +# $NetBSD: Makefile,v 1.73 2012/09/14 15:56:23 taca Exp $ # DISTNAME= ${RUBY_DISTNAME} PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_FULL} +PKGREVISION= 1 CATEGORIES= lang ruby MASTER_SITES= ${MASTER_SITE_RUBY} diff --git a/lang/ruby18-base/distinfo b/lang/ruby18-base/distinfo index 2d370fb2262..d28465f7844 100644 --- a/lang/ruby18-base/distinfo +++ b/lang/ruby18-base/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.54 2012/07/25 20:25:50 bsiegert Exp $ +$NetBSD: distinfo,v 1.55 2012/09/14 15:56:23 taca Exp $ SHA1 (ruby-1.8.7-p370.tar.bz2) = 92770a8159cd9049ffc5bc3ce4777b701eb19d7b RMD160 (ruby-1.8.7-p370.tar.bz2) = 0c35ed92e4e77c6e6859d39244489c93f4efad50 @@ -49,3 +49,4 @@ SHA1 (patch-ga) = 73f50504baf74ee77d00dcfb5a9446bbaf122726 SHA1 (patch-gb) = 345ad3e5df6fd9febe7b398f091662fd7c300dc4 SHA1 (patch-lib_rdoc_options.rb) = 0f14417733ad6fc6fbc93af1c8463ecd59abce7c SHA1 (patch-lib_rdoc_rdoc.rb) = bef895245cc06ca84fd1e5d506c3c65932921b3a +SHA1 (patch-numeric.c) = f4175d27af5c68c38ba9049dca56a90b3b21b8f3 diff --git a/lang/ruby18-base/patches/patch-numeric.c b/lang/ruby18-base/patches/patch-numeric.c new file mode 100644 index 00000000000..c46c9a2d417 --- /dev/null +++ b/lang/ruby18-base/patches/patch-numeric.c @@ -0,0 +1,36 @@ +$NetBSD: patch-numeric.c,v 1.1 2012/09/14 15:56:23 taca Exp $ + +Fix bignum problem on OS X 10.8, clang. + +--- numeric.c.orig 2011-12-10 12:17:27.000000000 +0000 ++++ numeric.c +@@ -2161,7 +2161,7 @@ fix_mul(x, y) + VALUE x, y; + { + if (FIXNUM_P(y)) { +-#ifdef __HP_cc ++#if defined(__HP_cc) || defined(__clang__) + /* avoids an optimization bug of HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] */ + volatile + #endif +@@ -2319,9 +2319,9 @@ int_pow(x, y) + y &= ~1; + do { + while (y % 2 == 0) { +- long x2 = x * x; ++ volatile long x2 = x * x; + if (x2/x != x || !POSFIXABLE(x2)) { +- VALUE v; ++ volatile VALUE v; + bignum: + v = rb_big_pow(rb_int2big(x), LONG2NUM(y)); + if (z != 1) v = rb_big_mul(rb_int2big(neg ? -z : z), v); +@@ -2331,7 +2331,7 @@ int_pow(x, y) + y >>= 1; + } + { +- long xz = x * z; ++ volatile long xz = x * z; + if (!POSFIXABLE(xz) || xz / x != z) { + goto bignum; + } |