From nobody Sun Jan 21 15:02:14 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4THxQt4dhvz57c8s; Sun, 21 Jan 2024 15:02:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4THxQt47LDz4gjT; Sun, 21 Jan 2024 15:02:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705849334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RAyWypwdJ/XlL5jj6j04PwhnRCEkZvwcwOuFbd73p+E=; b=qjFzo/ytvdjmxrlD1FO24/2vmn4TjH+K/PIohxDx/kpOz4/90klm+V+45bGoQ0J0pbJkmz A+MUIqlNaMQuqPYOUn/tfLohXnyTu5BkFMNEgtdTKYl/HStx5hxESgOz/QqcpTWYIB+AGz DObaqd2xM9b8N1znl7J8ot/dFzWkW/1kGkBujF7aCkYsNKjIgMIjQcZuQnnE5i7pyKqlTL QCgNocQWT+9qgUHpfsXBLj0/x40nuaL0CC8IQIM8cm301RNSS+oKyRqDVvnJo2oN9+vt44 P6roUZBfELZQKtJaQbRfqH9W047btUm0+GDHi4QyKkRCepRzHtNGGCfnZRRPiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705849334; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RAyWypwdJ/XlL5jj6j04PwhnRCEkZvwcwOuFbd73p+E=; b=HO4O8ieVWGb5uiLGrni82T0HwMqxp31d/+mWH2be7ysMQsWRmjkk1nm9PVfC9IWAeRrfbY h2XnuedyIq5+11vs3x74x12UliUz+gxz3epjTw1I5K34nnqBVJVzBYyaVl5LAeTp4Lii+d E+oCn6oNVDtdzRjFxN+3ZRLNOd3iFsoOc2M8dgq7jTuXfj9fpX2+CkdRsPR0cMl4+vop3t njc3/kgCOPfDE76uYCEYl647qOhV3w6OrGE9z0IQbVr8Y1My4j0/mHIjylshesvDDY3ESR wHcGg07Xmk1GWWkuRCG7RknjY95kQosqOuMO5UMtvCZBbwH1FVRjWEyjY5KLyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705849334; a=rsa-sha256; cv=none; b=ksg/QN8F8EJnnA0wXunf5QvQ3Bn+JOunVyePqw05dVG29k/gQVEjifP/nEbVSzWaS4cGui AuO91WtxW04jsCxpv093E/vOBF7O9HMfpqwZEpRdqNuS+GAe7nv80JWdXU2Tp6J7GwHORu KauiQdoc3GLNsHWv01YXIABswZ/mtN6KZOAKe5gHmqPLt6ROdiTRc9AX+uUX4iLp7hcQHW y8UJjFNWhgO5dqCMPYbHFuLBbNyK+ChF9Tn56QbXssw68DbkmryiQiDzUknfkIkTPWA14d riPUwI43A/OC+ydZ7jh2jbZUAu6UoAavUcRy6Bv/ABWIIn1cEXCCuioDotv5pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4THxQt3B86zN4h; Sun, 21 Jan 2024 15:02:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40LF2Erd027761; Sun, 21 Jan 2024 15:02:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40LF2E6M027758; Sun, 21 Jan 2024 15:02:14 GMT (envelope-from git) Date: Sun, 21 Jan 2024 15:02:14 GMT Message-Id: <202401211502.40LF2E6M027758@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dirk Meyer Subject: git: 27c87a9897f6 - main - databases/rubygem-mysql: fix build with mariadb 10.11 and ruby 3.2 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dinoex X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 27c87a9897f6db98e8afc07c6584a53f3e8e9e27 Auto-Submitted: auto-generated The branch main has been updated by dinoex: URL: https://cgit.FreeBSD.org/ports/commit/?id=27c87a9897f6db98e8afc07c6584a53f3e8e9e27 commit 27c87a9897f6db98e8afc07c6584a53f3e8e9e27 Author: Dirk Meyer AuthorDate: 2024-01-21 15:01:50 +0000 Commit: Dirk Meyer CommitDate: 2024-01-21 15:01:50 +0000 databases/rubygem-mysql: fix build with mariadb 10.11 and ruby 3.2 --- databases/rubygem-mysql/Makefile | 2 +- .../files/patch-ext-mysql_api-extconf.rb | 11 ++ .../files/patch-ext-mysql_api-mysql.c | 131 ++++++++++++++++++++- 3 files changed, 142 insertions(+), 2 deletions(-) diff --git a/databases/rubygem-mysql/Makefile b/databases/rubygem-mysql/Makefile index 462c4779a28d..7309806b9962 100644 --- a/databases/rubygem-mysql/Makefile +++ b/databases/rubygem-mysql/Makefile @@ -1,6 +1,6 @@ PORTNAME= mysql PORTVERSION= 2.9.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases rubygems MASTER_SITES= RG diff --git a/databases/rubygem-mysql/files/patch-ext-mysql_api-extconf.rb b/databases/rubygem-mysql/files/patch-ext-mysql_api-extconf.rb new file mode 100644 index 000000000000..945358044a3f --- /dev/null +++ b/databases/rubygem-mysql/files/patch-ext-mysql_api-extconf.rb @@ -0,0 +1,11 @@ +--- ext/mysql_api/extconf.rb.orig 2024-01-21 14:47:39 UTC ++++ ext/mysql_api/extconf.rb +@@ -76,6 +76,8 @@ IO.foreach('confout') do |l| + next unless l =~ /errmsg\.h|mysqld_error\.h/ + fn = l.split(/\"/)[1] + IO.foreach(fn) do |m| ++ next if m == 'ER_UNKNOWN_ERROR_CODE' ++ + if m =~ /^#define\s+([CE]R_[0-9A-Z_]+)/ then + error_syms << $1 + end diff --git a/databases/rubygem-mysql/files/patch-ext-mysql_api-mysql.c b/databases/rubygem-mysql/files/patch-ext-mysql_api-mysql.c index ce59e04255ac..5f32c77d2cb3 100644 --- a/databases/rubygem-mysql/files/patch-ext-mysql_api-mysql.c +++ b/databases/rubygem-mysql/files/patch-ext-mysql_api-mysql.c @@ -1,5 +1,27 @@ ---- ext/mysql_api/mysql.c.orig 2023-03-11 18:29:50 UTC +--- ext/mysql_api/mysql.c.orig 2024-01-21 14:38:01 UTC +++ ext/mysql_api/mysql.c +@@ -170,7 +170,7 @@ static void mysql_raise(MYSQL* m) + VALUE e = rb_exc_new2(eMysql, mysql_error(m)); + rb_iv_set(e, "errno", INT2FIX(mysql_errno(m))); + #if MYSQL_VERSION_ID >= 40101 +- rb_iv_set(e, "sqlstate", rb_tainted_str_new2(mysql_sqlstate(m))); ++ rb_iv_set(e, "sqlstate", rb_str_new_cstr(mysql_sqlstate(m))); + #endif + rb_exc_raise(e); + } +@@ -197,9 +197,9 @@ static VALUE make_field_obj(MYSQL_FIELD* f) + if (f == NULL) + return Qnil; + obj = rb_obj_alloc(cMysqlField); +- rb_iv_set(obj, "name", f->name? rb_str_freeze(rb_tainted_str_new2(f->name)): Qnil); +- rb_iv_set(obj, "table", f->table? rb_str_freeze(rb_tainted_str_new2(f->table)): Qnil); +- rb_iv_set(obj, "def", f->def? rb_str_freeze(rb_tainted_str_new2(f->def)): Qnil); ++ rb_iv_set(obj, "name", f->name? rb_str_freeze(rb_str_new_cstr(f->name)): Qnil); ++ rb_iv_set(obj, "table", f->table? rb_str_freeze(rb_str_new_cstr(f->table)): Qnil); ++ rb_iv_set(obj, "def", f->def? rb_str_freeze(rb_str_new_cstr(f->def)): Qnil); + rb_iv_set(obj, "type", INT2NUM(f->type)); + rb_iv_set(obj, "length", INT2NUM(f->length)); + rb_iv_set(obj, "max_length", INT2NUM(f->max_length)); @@ -273,7 +273,10 @@ static VALUE real_connect(int argc, VALUE* argv, VALUE rb_thread_start_timer(); #endif @@ -11,6 +33,15 @@ myp->connection = Qtrue; myp->query_with_result = Qtrue; rb_obj_call_init(obj, argc, argv); +@@ -294,7 +297,7 @@ static VALUE escape_string(VALUE klass, VALUE str) + /* client_info() */ + static VALUE client_info(VALUE klass) + { +- return rb_tainted_str_new2(mysql_get_client_info()); ++ return rb_str_new_cstr(mysql_get_client_info()); + } + + #if MYSQL_VERSION_ID >= 32332 @@ -347,7 +350,10 @@ static VALUE real_connect2(int argc, VALUE* argv, VALU #ifdef HAVE_RB_THREAD_START_TIMER rb_thread_start_timer(); @@ -22,6 +53,77 @@ GetMysqlStruct(obj)->connection = Qtrue; return obj; +@@ -469,7 +475,7 @@ static VALUE change_user(int argc, VALUE* argv, VALUE + /* character_set_name() */ + static VALUE character_set_name(VALUE obj) + { +- return rb_tainted_str_new2(mysql_character_set_name(GetHandler(obj))); ++ return rb_str_new_cstr(mysql_character_set_name(GetHandler(obj))); + } + #endif + +@@ -534,7 +540,7 @@ static VALUE field_count(VALUE obj) + /* host_info() */ + static VALUE host_info(VALUE obj) + { +- return rb_tainted_str_new2(mysql_get_host_info(GetHandler(obj))); ++ return rb_str_new_cstr(mysql_get_host_info(GetHandler(obj))); + } + + /* proto_info() */ +@@ -546,14 +552,14 @@ static VALUE proto_info(VALUE obj) + /* server_info() */ + static VALUE server_info(VALUE obj) + { +- return rb_tainted_str_new2(mysql_get_server_info(GetHandler(obj))); ++ return rb_str_new_cstr(mysql_get_server_info(GetHandler(obj))); + } + + /* info() */ + static VALUE info(VALUE obj) + { + const char* p = mysql_info(GetHandler(obj)); +- return p? rb_tainted_str_new2(p): Qnil; ++ return p? rb_str_new_cstr(p): Qnil; + } + + /* insert_id() */ +@@ -588,7 +594,7 @@ static VALUE list_dbs(int argc, VALUE* argv, VALUE obj + n = mysql_num_rows(res); + ret = rb_ary_new2(n); + for (i=0; iresult.bind[i].buffer_type = MYSQL_TYPE_LONGLONG; else if (argv[i] == rb_cFloat) s->result.bind[i].buffer_type = MYSQL_TYPE_DOUBLE; +@@ -1762,7 +1776,7 @@ static VALUE stmt_send_long_data(VALUE obj, VALUE col, + static VALUE stmt_sqlstate(VALUE obj) + { + struct mysql_stmt* s = DATA_PTR(obj); +- return rb_tainted_str_new2(mysql_stmt_sqlstate(s->stmt)); ++ return rb_str_new_cstr(mysql_stmt_sqlstate(s->stmt)); + } + + /*------------------------------- @@ -1884,6 +1898,7 @@ static VALUE error_sqlstate(VALUE obj) void Init_mysql_api(void)