Sun Feb 14 14:55:42 2021 UTC ()
databases/ruby-mysql28: fix build with Ruby 3.0


(taca)
diff -r1.2 -r1.3 pkgsrc/databases/ruby-mysql28/distinfo
diff -r1.1 -r1.2 pkgsrc/databases/ruby-mysql28/patches/patch-mysql.c

cvs diff -r1.2 -r1.3 pkgsrc/databases/ruby-mysql28/distinfo (expand / switch to unified diff)

--- pkgsrc/databases/ruby-mysql28/distinfo 2017/10/13 16:07:51 1.2
+++ pkgsrc/databases/ruby-mysql28/distinfo 2021/02/14 14:55:42 1.3
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.2 2017/10/13 16:07:51 taca Exp $ 1$NetBSD: distinfo,v 1.3 2021/02/14 14:55:42 taca Exp $
2 2
3SHA1 (mysql-ruby-2.8.2.tar.gz) = c20ec0f41f19f11270963d9c9e0d5a2bba27801e 3SHA1 (mysql-ruby-2.8.2.tar.gz) = c20ec0f41f19f11270963d9c9e0d5a2bba27801e
4RMD160 (mysql-ruby-2.8.2.tar.gz) = 0cd9a6071f0878a5ab4b47d9a023066f5ae39955 4RMD160 (mysql-ruby-2.8.2.tar.gz) = 0cd9a6071f0878a5ab4b47d9a023066f5ae39955
5SHA512 (mysql-ruby-2.8.2.tar.gz) = f39bba5679031bab2d78bc5cb44bb00e7818c1f94e20af374e7b843ced85981e82f185f7442962728165abf9afa9f4d384e3ff6ca22c32320cf4bfa3af84c0e6 5SHA512 (mysql-ruby-2.8.2.tar.gz) = f39bba5679031bab2d78bc5cb44bb00e7818c1f94e20af374e7b843ced85981e82f185f7442962728165abf9afa9f4d384e3ff6ca22c32320cf4bfa3af84c0e6
6Size (mysql-ruby-2.8.2.tar.gz) = 32710 bytes 6Size (mysql-ruby-2.8.2.tar.gz) = 32710 bytes
7SHA1 (patch-extconf.rb) = 339b618a3057a3868448f971932b9231fd059404 7SHA1 (patch-extconf.rb) = 339b618a3057a3868448f971932b9231fd059404
8SHA1 (patch-mysql.c) = 5072b514a748845a279539b5b526c66ae052b1ca 8SHA1 (patch-mysql.c) = 33283b67e5beae587577a45a5cc4466962ded6c2

cvs diff -r1.1 -r1.2 pkgsrc/databases/ruby-mysql28/patches/patch-mysql.c (expand / switch to unified diff)

--- pkgsrc/databases/ruby-mysql28/patches/patch-mysql.c 2017/10/13 16:07:51 1.1
+++ pkgsrc/databases/ruby-mysql28/patches/patch-mysql.c 2021/02/14 14:55:42 1.2
@@ -1,19 +1,34 @@ @@ -1,19 +1,34 @@
1$NetBSD: patch-mysql.c,v 1.1 2017/10/13 16:07:51 taca Exp $ 1$NetBSD: patch-mysql.c,v 1.2 2021/02/14 14:55:42 taca Exp $
2 2
3* Fix build with ruby24. 3* Fix build with ruby24 and ruby30.
4 4
5--- mysql.c.orig 2010-02-11 10:42:54.000000000 +0000 5--- mysql.c.orig 2010-02-11 10:42:54.000000000 +0000
6+++ mysql.c 6+++ mysql.c
 7@@ -875,12 +875,12 @@ static VALUE stmt_init(VALUE obj)
 8 MYSQL *m = GetHandler(obj);
 9 MYSQL_STMT *s;
 10 struct mysql_stmt* stmt;
 11- my_bool true = 1;
 12+ my_bool my_true = 1;
 13 VALUE st_obj;
 14
 15 if ((s = mysql_stmt_init(m)) == NULL)
 16 mysql_raise(m);
 17- if (mysql_stmt_attr_set(s, STMT_ATTR_UPDATE_MAX_LENGTH, &true))
 18+ if (mysql_stmt_attr_set(s, STMT_ATTR_UPDATE_MAX_LENGTH, &my_true))
 19 rb_raise(rb_eArgError, "mysql_stmt_attr_set() failed");
 20 st_obj = Data_Make_Struct(cMysqlStmt, struct mysql_stmt, 0, free_mysqlstmt, stmt);
 21 memset(stmt, 0, sizeof(*stmt));
7@@ -1317,7 +1317,11 @@ static VALUE stmt_bind_result(int argc,  22@@ -1317,7 +1317,11 @@ static VALUE stmt_bind_result(int argc,
8 } 23 }
9 else if (argv[i] == rb_cString) 24 else if (argv[i] == rb_cString)
10 s->result.bind[i].buffer_type = MYSQL_TYPE_STRING; 25 s->result.bind[i].buffer_type = MYSQL_TYPE_STRING;
11- else if (argv[i] == rb_cNumeric || argv[i] == rb_cInteger || argv[i] == rb_cFixnum) 26- else if (argv[i] == rb_cNumeric || argv[i] == rb_cInteger || argv[i] == rb_cFixnum)
12+ else if (argv[i] == rb_cNumeric || argv[i] == rb_cInteger 27+ else if (argv[i] == rb_cNumeric || argv[i] == rb_cInteger
13+#if RUBY_API_VERSION_MAJOR >=2 && RUBY_API_VERSION_MINOR < 4 28+#if RUBY_API_VERSION_MAJOR >=2 && RUBY_API_VERSION_MINOR < 4
14+ || argv[i] == rb_cFixnum 29+ || argv[i] == rb_cFixnum
15+#endif 30+#endif
16+ ) 31+ )
17 s->result.bind[i].buffer_type = MYSQL_TYPE_LONGLONG; 32 s->result.bind[i].buffer_type = MYSQL_TYPE_LONGLONG;
18 else if (argv[i] == rb_cFloat) 33 else if (argv[i] == rb_cFloat)
19 s->result.bind[i].buffer_type = MYSQL_TYPE_DOUBLE; 34 s->result.bind[i].buffer_type = MYSQL_TYPE_DOUBLE;