View | Details | Raw Unified | Return to bug 197919
Collapse All | Expand All

(-)Makefile (-3 / +13 lines)
Lines 58-71 Link Here
58
58
59
.include <bsd.port.pre.mk>
59
.include <bsd.port.pre.mk>
60
60
61
post-patch:
62
.if ${RUBY_VER} >= 2.0
61
.if ${RUBY_VER} >= 2.0
63
	@${REINPLACE_CMD} -e '/remove_const/d' ${WRKSRC}/src/features.rb
62
EXTRA_PATCHES+=		${FILESDIR}/extra-patch-src-features.rb
64
.endif
63
.endif
65
64
66
.if ${RUBY_VER} >= 2.1
65
.if ${RUBY_VER} >= 2.1
67
	@${REINPLACE_CMD} -e 's|RBASIC(obj)->klass = \(.*\);|RBASIC_SET_CLASS_RAW(obj, \1);|' -e 's|RCLASS(\([[:alnum:]_]*\))->m_tbl|RCLASS_M_TBL(\1)|g' ${WRKSRC}/bdbxml2/bdbxml.h ${WRKSRC}/src/common.c
66
EXTRA_PATCHES+=		${FILESDIR}/extra-patch-bdbxml2-bdbxml.h
68
.endif
67
.endif
68
69
.if ${RUBY_VER} == 2.1
70
EXTRA_PATCHES+=		${FILESDIR}/extra-patch-src-common.c-21
71
.endif
72
73
.if ${RUBY_VER} == 2.2
74
EXTRA_PATCHES+=		${FILESDIR}/extra-patch-src-common.c-22 \
75
			${FILESDIR}/extra-patch-src-recnum.c-22 \
76
			${FILESDIR}/extra-patch-src-cursor.c-22
77
.endif
78
69
post-build:
79
post-build:
70
	(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} \
80
	(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} \
71
	${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} rdoc)
81
	${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} rdoc)
(-)files/extra-patch-bdbxml2-bdbxml.h (+11 lines)
Line 0 Link Here
1
--- bdbxml2/bdbxml.h.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ bdbxml2/bdbxml.h	2015-01-22 17:03:07.000000000 +0000
3
@@ -377,7 +377,7 @@
4
 static inline void
5
 rset_obj(VALUE obj)
6
 {
7
-    RBASIC(obj)->klass = rb_cData;
8
+    RBASIC_SET_CLASS_RAW(obj, rb_cData);
9
     RDATA(obj)->dfree = (RDF)free;
10
     RDATA(obj)->dmark = 0;
11
 }
(-)files/extra-patch-src-common.c-21 (+72 lines)
Line 0 Link Here
1
--- src/common.c.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ src/common.c	2015-01-22 17:06:38.000000000 +0000
3
@@ -1570,10 +1570,10 @@
4
 #endif
5
 	switch(dbst->type) {
6
 	case DB_BTREE:
7
-	    RBASIC(obj)->klass = bdb_cBtree;
8
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cBtree);
9
 	    break;
10
 	case DB_HASH:
11
-	    RBASIC(obj)->klass = bdb_cHash;
12
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cHash);
13
 	    break;
14
 	case DB_RECNO:
15
 	{
16
@@ -1581,17 +1581,17 @@
17
 
18
 	    rb_warning("It's hard to distinguish Recnum with Recno for all versions of Berkeley DB");
19
 	    if ((count = bdb_is_recnum(dbst->dbp)) != -1) {
20
-		RBASIC(obj)->klass = bdb_cRecnum;
21
+		RBASIC_SET_CLASS_RAW(obj, bdb_cRecnum);
22
 		dbst->len = count;
23
 	    }
24
 	    else {
25
-		RBASIC(obj)->klass = bdb_cRecno;
26
+		RBASIC_SET_CLASS_RAW(obj, bdb_cRecno);
27
 	    }
28
 	    break;
29
 	}
30
 #if HAVE_CONST_DB_QUEUE
31
 	case DB_QUEUE:
32
-	    RBASIC(obj)->klass = bdb_cQueue;
33
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cQueue);
34
 	    break;
35
 #endif
36
 	default:
37
@@ -1635,29 +1635,29 @@
38
     dbst->options = BDB_NOT_OPEN;
39
     cl = obj;
40
     while (cl) {
41
-	if (cl == bdb_cBtree || RCLASS(cl)->m_tbl == RCLASS(bdb_cBtree)->m_tbl) {
42
+	if (cl == bdb_cBtree || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cBtree)) {
43
 	    dbst->type = DB_BTREE; 
44
 	    break;
45
 	}
46
-	if (cl == bdb_cRecnum || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecnum)->m_tbl) {
47
+	if (cl == bdb_cRecnum || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cRecnum)) {
48
 	    dbst->type = DB_RECNO; 
49
 	    break;
50
 	}
51
-	else if (cl == bdb_cHash || RCLASS(cl)->m_tbl == RCLASS(bdb_cHash)->m_tbl) {
52
+	else if (cl == bdb_cHash || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cHash)) {
53
 	    dbst->type = DB_HASH; 
54
 	    break;
55
 	}
56
-	else if (cl == bdb_cRecno || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecno)->m_tbl) {
57
+	else if (cl == bdb_cRecno || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cRecno)) {
58
 	    dbst->type = DB_RECNO;
59
 	    break;
60
     }
61
 #if HAVE_CONST_DB_QUEUE
62
-	else if (cl == bdb_cQueue || RCLASS(cl)->m_tbl == RCLASS(bdb_cQueue)->m_tbl) {
63
+	else if (cl == bdb_cQueue || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cQueue)) {
64
 	    dbst->type = DB_QUEUE;
65
 	    break;
66
 	}
67
 #endif
68
-	else if (cl == bdb_cUnknown || RCLASS(cl)->m_tbl == RCLASS(bdb_cUnknown)->m_tbl) {
69
+	else if (cl == bdb_cUnknown || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cUnknown)) {
70
 	    dbst->type = DB_UNKNOWN;
71
 	    break;
72
 	}
(-)files/extra-patch-src-common.c-22 (+137 lines)
Line 0 Link Here
1
--- src/common.c.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ src/common.c	2015-01-22 17:10:32.000000000 +0000
3
@@ -1229,7 +1229,7 @@
4
     if (argc && TYPE(argv[argc - 1]) == T_HASH) {
5
 	VALUE v, f = argv[argc - 1];
6
 
7
-	if ((v = rb_hash_aref(f, rb_str_new2("txn"))) != RHASH(f)->ifnone) {
8
+	if ((v = rb_hash_aref(f, rb_str_new2("txn"))) != rb_hash_ifnone(f)) {
9
 	    if (!rb_obj_is_kind_of(v, bdb_cTxn)) {
10
 		rb_raise(bdb_eFatal, "argument of txn must be a transaction");
11
 	    }
12
@@ -1241,7 +1241,7 @@
13
 	    dbst->options |= envst->options & BDB_NO_THREAD;
14
 	    dbst->marshal = txnst->marshal;
15
 	}
16
-	else if ((v = rb_hash_aref(f, rb_str_new2("env"))) != RHASH(f)->ifnone) {
17
+	else if ((v = rb_hash_aref(f, rb_str_new2("env"))) != rb_hash_ifnone(f)) {
18
 	    if (!rb_obj_is_kind_of(v, bdb_cEnv)) {
19
 		rb_raise(bdb_eFatal, "argument of env must be an environnement");
20
 	    }
21
@@ -1254,11 +1254,11 @@
22
 #if HAVE_CONST_DB_ENCRYPT 
23
 	if (envst && (envst->options & BDB_ENV_ENCRYPT)) {
24
 	    VALUE tmp = rb_str_new2("set_flags");
25
-	    if ((v = rb_hash_aref(f, rb_intern("set_flags"))) != RHASH(f)->ifnone) {
26
+	    if ((v = rb_hash_aref(f, rb_intern("set_flags"))) != rb_hash_ifnone(f)) {
27
 		rb_hash_aset(f, rb_intern("set_flags"), 
28
 			     INT2NUM(NUM2INT(v) | DB_ENCRYPT));
29
 	    }
30
-	    else if ((v = rb_hash_aref(f, tmp)) != RHASH(f)->ifnone) {
31
+	    else if ((v = rb_hash_aref(f, tmp)) != rb_hash_ifnone(f)) {
32
 		rb_hash_aset(f, tmp, INT2NUM(NUM2INT(v) | DB_ENCRYPT));
33
 	    }
34
 	    else {
35
@@ -1570,10 +1570,10 @@
36
 #endif
37
 	switch(dbst->type) {
38
 	case DB_BTREE:
39
-	    RBASIC(obj)->klass = bdb_cBtree;
40
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cBtree);
41
 	    break;
42
 	case DB_HASH:
43
-	    RBASIC(obj)->klass = bdb_cHash;
44
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cHash);
45
 	    break;
46
 	case DB_RECNO:
47
 	{
48
@@ -1581,17 +1581,17 @@
49
 
50
 	    rb_warning("It's hard to distinguish Recnum with Recno for all versions of Berkeley DB");
51
 	    if ((count = bdb_is_recnum(dbst->dbp)) != -1) {
52
-		RBASIC(obj)->klass = bdb_cRecnum;
53
+		RBASIC_SET_CLASS_RAW(obj, bdb_cRecnum);
54
 		dbst->len = count;
55
 	    }
56
 	    else {
57
-		RBASIC(obj)->klass = bdb_cRecno;
58
+		RBASIC_SET_CLASS_RAW(obj, bdb_cRecno);
59
 	    }
60
 	    break;
61
 	}
62
 #if HAVE_CONST_DB_QUEUE
63
 	case DB_QUEUE:
64
-	    RBASIC(obj)->klass = bdb_cQueue;
65
+	    RBASIC_SET_CLASS_RAW(obj, bdb_cQueue);
66
 	    break;
67
 #endif
68
 	default:
69
@@ -1635,29 +1635,29 @@
70
     dbst->options = BDB_NOT_OPEN;
71
     cl = obj;
72
     while (cl) {
73
-	if (cl == bdb_cBtree || RCLASS(cl)->m_tbl == RCLASS(bdb_cBtree)->m_tbl) {
74
+	if (cl == bdb_cBtree || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cBtree)) {
75
 	    dbst->type = DB_BTREE; 
76
 	    break;
77
 	}
78
-	if (cl == bdb_cRecnum || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecnum)->m_tbl) {
79
+	if (cl == bdb_cRecnum || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cRecnum)) {
80
 	    dbst->type = DB_RECNO; 
81
 	    break;
82
 	}
83
-	else if (cl == bdb_cHash || RCLASS(cl)->m_tbl == RCLASS(bdb_cHash)->m_tbl) {
84
+	else if (cl == bdb_cHash || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cHash)) {
85
 	    dbst->type = DB_HASH; 
86
 	    break;
87
 	}
88
-	else if (cl == bdb_cRecno || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecno)->m_tbl) {
89
+	else if (cl == bdb_cRecno || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cRecno)) {
90
 	    dbst->type = DB_RECNO;
91
 	    break;
92
     }
93
 #if HAVE_CONST_DB_QUEUE
94
-	else if (cl == bdb_cQueue || RCLASS(cl)->m_tbl == RCLASS(bdb_cQueue)->m_tbl) {
95
+	else if (cl == bdb_cQueue || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cQueue)) {
96
 	    dbst->type = DB_QUEUE;
97
 	    break;
98
 	}
99
 #endif
100
-	else if (cl == bdb_cUnknown || RCLASS(cl)->m_tbl == RCLASS(bdb_cUnknown)->m_tbl) {
101
+	else if (cl == bdb_cUnknown || RCLASS_M_TBL(cl) == RCLASS_M_TBL(bdb_cUnknown)) {
102
 	    dbst->type = DB_UNKNOWN;
103
 	    break;
104
 	}
105
@@ -3004,8 +3004,8 @@
106
 
107
     if (argc && TYPE(argv[argc - 1]) == T_HASH) {
108
 	VALUE g, f = argv[argc - 1];
109
-	if ((g = rb_hash_aref(f, rb_intern("flags"))) != RHASH(f)->ifnone ||
110
-	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != RHASH(f)->ifnone) {
111
+	if ((g = rb_hash_aref(f, rb_intern("flags"))) != rb_hash_ifnone(f) ||
112
+	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != rb_hash_ifnone(f)) {
113
 	    flags = NUM2INT(g);
114
 	}
115
 	argc--;
116
@@ -3323,8 +3323,8 @@
117
     flags = 0;
118
     if (argc && TYPE(argv[argc - 1]) == T_HASH) {
119
 	VALUE g, f = argv[argc - 1];
120
-	if ((g = rb_hash_aref(f, rb_intern("flags"))) != RHASH(f)->ifnone ||
121
-	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != RHASH(f)->ifnone) {
122
+	if ((g = rb_hash_aref(f, rb_intern("flags"))) != rb_hash_ifnone(f) ||
123
+	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != rb_hash_ifnone(f)) {
124
 	    flags = NUM2INT(g);
125
 	}
126
 	argc--;
127
@@ -3348,8 +3348,8 @@
128
     flags = 0;
129
     if (TYPE(argv[argc - 1]) == T_HASH) {
130
 	VALUE f = argv[argc - 1];
131
-	if ((g = rb_hash_aref(f, rb_intern("flags"))) != RHASH(f)->ifnone ||
132
-	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != RHASH(f)->ifnone) {
133
+	if ((g = rb_hash_aref(f, rb_intern("flags"))) != rb_hash_ifnone(f) ||
134
+	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != rb_hash_ifnone(f)) {
135
 	    flags = NUM2INT(g);
136
 	}
137
 	argc--;
(-)files/extra-patch-src-cursor.c-22 (+13 lines)
Line 0 Link Here
1
--- src/cursor.c.orig	2015-01-22 17:37:51.000000000 +0000
2
+++ src/cursor.c	2015-01-22 17:38:17.000000000 +0000
3
@@ -29,8 +29,8 @@
4
     flags = 0;
5
     if (argc && TYPE(argv[argc - 1]) == T_HASH) {
6
 	VALUE g, f = argv[argc - 1];
7
-	if ((g = rb_hash_aref(f, rb_intern("flags"))) != RHASH(f)->ifnone ||
8
-	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != RHASH(f)->ifnone) {
9
+	if ((g = rb_hash_aref(f, rb_intern("flags"))) != rb_hash_ifnone(f) ||
10
+	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != rb_hash_ifnone(f)) {
11
 	    flags = NUM2INT(g);
12
 	}
13
 	argc--;
(-)files/extra-patch-src-features.rb (+18 lines)
Line 0 Link Here
1
--- src/features.rb.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ src/features.rb	2015-01-22 16:40:53.000000000 +0000
3
@@ -813,7 +813,6 @@
4
 begin
5
    conftest = CONFTEST_C.dup
6
    class Object
7
-      remove_const('CONFTEST_C')
8
    end
9
 
10
    CONFTEST_C = 'conftest.cxx'
11
@@ -878,7 +877,6 @@
12
 
13
 ensure
14
    class Object
15
-      remove_const('CONFTEST_C')
16
    end
17
 
18
    CONFTEST_C = conftest
(-)files/extra-patch-src-recnum.c-22 (+22 lines)
Line 0 Link Here
1
--- src/recnum.c.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ src/recnum.c	2015-01-22 17:16:32.000000000 +0000
3
@@ -17,7 +17,7 @@
4
 	argc++;
5
     }
6
     rb_hash_aset(argv[argc - 1], array, INT2FIX(0));
7
-    if (rb_hash_aref(argv[argc - 1], sarray) != RHASH(argv[argc - 1])->ifnone) {
8
+    if (rb_hash_aref(argv[argc - 1], sarray) != rb_hash_ifnone(argv[argc - 1])) {
9
 	rb_hash_aset(argv[argc - 1], sarray, INT2FIX(0));
10
     }
11
     rb_hash_aset(argv[argc - 1], rb_str_new2("set_flags"), INT2FIX(DB_RENUMBER));
12
@@ -697,8 +697,8 @@
13
 
14
     if (argc && TYPE(argv[argc - 1]) == T_HASH) {
15
 	VALUE f = argv[argc - 1];
16
-	if ((g = rb_hash_aref(f, rb_intern("flags"))) != RHASH(f)->ifnone ||
17
-	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != RHASH(f)->ifnone) {
18
+	if ((g = rb_hash_aref(f, rb_intern("flags"))) != rb_hash_ifnone(f) ||
19
+	    (g = rb_hash_aref(f, rb_str_new2("flags"))) != rb_hash_ifnone(f)) {
20
 	    flags = NUM2INT(g);
21
 	}
22
 	argc--;
(-)files/patch-extconf.rb (-2 / +20 lines)
Lines 1-5 Link Here
1
--- ./extconf.rb.orig	2011-04-06 19:35:39.000000000 +0000
1
--- extconf.rb.orig	2011-04-06 19:35:39.000000000 +0000
2
+++ ./extconf.rb	2014-01-03 01:45:56.334209519 +0000
2
+++ extconf.rb	2015-01-22 14:56:21.000000000 +0000
3
@@ -50,7 +50,7 @@
3
@@ -50,7 +50,7 @@
4
 rdoc: docs/doc/index.html
4
 rdoc: docs/doc/index.html
5
 
5
 
Lines 9-11 Link Here
9
 
9
 
10
 ri:
10
 ri:
11
 \t@-(rdoc -r docs/*rb)
11
 \t@-(rdoc -r docs/*rb)
12
@@ -67,7 +67,7 @@
13
    Dir.foreach('tests') do |x|
14
       next if /^\./ =~ x || /(_\.rb|~)$/ =~ x
15
       next if FileTest.directory?(x)
16
-      make.print "\t-#{CONFIG['RUBY_INSTALL_NAME']} tests/#{x}\n"
17
+      make.print "\t-#{RbConfig::CONFIG['ruby_install_name']} tests/#{x}\n"
18
    end
19
 ensure
20
    make.close
21
@@ -76,7 +76,7 @@
22
 subdirs.each do |subdir|
23
    STDERR.puts("#{$0}: Entering directory `#{subdir}'")
24
    Dir.chdir(subdir)
25
-   system("#{CONFIG['RUBY_INSTALL_NAME']} extconf.rb " + ARGV.join(" "))
26
+   system("#{RbConfig::CONFIG['ruby_install_name']} extconf.rb " + ARGV.join(" "))
27
    Dir.chdir("..")
28
    STDERR.puts("#{$0}: Leaving directory `#{subdir}'")
29
 end
(-)files/patch-src-extconf.rb (+23 lines)
Line 0 Link Here
1
--- src/extconf.rb.orig	2015-01-22 16:09:31.000000000 +0000
2
+++ src/extconf.rb	2015-01-22 16:09:34.000000000 +0000
3
@@ -36,16 +36,16 @@
4
 
5
 if unknown = enable_config("unknown")
6
    libs = if CONFIG.key?("LIBRUBYARG_STATIC")
7
-	     Config::expand(CONFIG["LIBRUBYARG_STATIC"].dup).sub(/^-l/, '')
8
+	     RbConfig::expand(CONFIG["LIBRUBYARG_STATIC"].dup).sub(/^-l/, '')
9
 	  else
10
-	     Config::expand(CONFIG["LIBRUBYARG"].dup).sub(/lib([^.]*).*/, '\\1')
11
+	     RbConfig::expand(CONFIG["LIBRUBYARG"].dup).sub(/lib([^.]*).*/, '\\1')
12
 	  end
13
    unknown = find_library(libs, "ruby_init", 
14
-			  Config::expand(CONFIG["archdir"].dup))
15
+			  RbConfig::expand(CONFIG["archdir"].dup))
16
 end
17
 
18
 inc_dir, lib_dir = dir_config("db", "/usr/include", "/usr/lib")
19
-case Config::CONFIG["arch"]
20
+case RbConfig::CONFIG["arch"]
21
 when /solaris2/
22
    $DLDFLAGS ||= ""
23
    $DLDFLAGS += " -R#{lib_dir}"

Return to bug 197919