summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortaca <taca>2012-09-14 15:56:23 +0000
committertaca <taca>2012-09-14 15:56:23 +0000
commitf7bac47d94ccc31255d12df610691864a47903b7 (patch)
tree53114f3628f7c8f01ee6c720be1ae1abacbbbf61 /lang
parent8387f8baf1085df85094be9e023dcf9222d3f10b (diff)
downloadpkgsrc-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/Makefile3
-rw-r--r--lang/ruby18-base/distinfo3
-rw-r--r--lang/ruby18-base/patches/patch-numeric.c36
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;
+ }