From nobody Mon Jul 10 11:25:15 2023 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 4R01rW5Jjvz4gckc; Mon, 10 Jul 2023 11:25:15 +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 4R01rW4q6mz3lNs; Mon, 10 Jul 2023 11:25:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1688988315; 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=E9DLs3Pmy0V02kDJMIcPy6dZfcormk/bTkRlzZJXqm4=; b=nFBCdo++bjmg1OjTUnbf+txiIjNEWdIWqbvKnJ+JXv7+GNLKJw7GQWYOvSIfm1mimtqa4m LxKf80C71Lys0FrV3Ofi55KEV+4JFz0aLcVoFaOCl5b6yUF2oRItcpFTEKNI9gYQIcF3VJ 01OslCM56Ek1QMLBIxTnxiUsYBLrOxGSQKsj/xayPcZEfasmVZsQbRR+z83p51gpK5pBvW gv6KnZqnO2heDWkcZl3xJ7bmp2kR9utrcOIFmZGXw8+Yjbqm9mHHmWJTM+rPF/FaDUiY5u No6V1d1IYzgm8EJ2AG8zyP5PYwvbIBoUVGhe/mDfQI6HVElJ8L2eeezzCPyr9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1688988315; 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=E9DLs3Pmy0V02kDJMIcPy6dZfcormk/bTkRlzZJXqm4=; b=uH1MgiOHnArZnUkoIzfX0wyjiC1fnfX93V5cSlbLAkA7aUonmW0eaAzM3noJkyNTpNmyeN ULTIAV/XtHMx6XMWEoBK82B7gosY1hTZB4x36yfp3nWN9Oj12Y1rrEzc5KkWDOGAgNAPN1 LVa1MsgD6HAj66cmA68UOzzgLpf/Whf/w7qtpbZKtmkost1YYTvozbyApcC5Vnaz1s3Z+G t6N7Em1n4uk8jZyeYdj2try+iQxovuh2eu7f1KbnGAfHP66k2vpyPgcVJsDyHBQEDhEGiC bwPC2ONeHD6Dmxd0o6xcoREDpzHiqobrtPb5u6znugdAJRNQpMZ00N5cNUs1hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1688988315; a=rsa-sha256; cv=none; b=HR1aqQsD9ZepfAZIS9pzm+g08zwCSaKDIxgnmElSanAAeezywbnClcPbHSA/+naGqZFmEY OqaMiTbQoCPC69NPeMs6qfDsktgquZ43INv03EbuJSHYxedDUgZLCsRj/2IupxT/4ePXDM W5sKEY8lYwH0nttpz7ZlSA8jYopw0BIzG30Hh0aczeXU1UN2Y/CHvOYOsY6JBrBUn1LhHB z0ApE55RmXBcTlTgzWGRD0UZSISKijORvYa1YFRFM1svJxhuTh/hli+3a/yb3p4bBQLZnP HdlSKKEzyolheF6YuvsIyuRfHZAmzLXNnrccuafkpb3iGHF0KhZw8io5Gcx4BQ== 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 4R01rW3mZrzjKs; Mon, 10 Jul 2023 11:25:15 +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 36ABPFI2058181; Mon, 10 Jul 2023 11:25:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36ABPFGE058180; Mon, 10 Jul 2023 11:25:15 GMT (envelope-from git) Date: Mon, 10 Jul 2023 11:25:15 GMT Message-Id: <202307101125.36ABPFGE058180@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: edec808b3303 - main - databases/rubygem-bdb1: fix build with clang16 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: edec808b3303a3feeda7d4dd108d15ad06cb28bd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dinoex: URL: https://cgit.FreeBSD.org/ports/commit/?id=edec808b3303a3feeda7d4dd108d15ad06cb28bd commit edec808b3303a3feeda7d4dd108d15ad06cb28bd Author: Dirk Meyer AuthorDate: 2023-07-10 11:24:59 +0000 Commit: Dirk Meyer CommitDate: 2023-07-10 11:24:59 +0000 databases/rubygem-bdb1: fix build with clang16 --- databases/rubygem-bdb1/Makefile | 2 +- databases/rubygem-bdb1/files/patch-ext_bdb1_bdb1.c | 197 ++++++++++++++++++++- .../rubygem-bdb1/files/patch-ext_bdb1_delegate.c | 11 ++ 3 files changed, 200 insertions(+), 10 deletions(-) diff --git a/databases/rubygem-bdb1/Makefile b/databases/rubygem-bdb1/Makefile index f155ce60641f..5f5d56bf30b6 100644 --- a/databases/rubygem-bdb1/Makefile +++ b/databases/rubygem-bdb1/Makefile @@ -1,6 +1,6 @@ PORTNAME= bdb1 PORTVERSION= 0.2.5 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= databases rubygems MASTER_SITES= RG diff --git a/databases/rubygem-bdb1/files/patch-ext_bdb1_bdb1.c b/databases/rubygem-bdb1/files/patch-ext_bdb1_bdb1.c index d039d2ebdbb8..fc506303d49b 100644 --- a/databases/rubygem-bdb1/files/patch-ext_bdb1_bdb1.c +++ b/databases/rubygem-bdb1/files/patch-ext_bdb1_bdb1.c @@ -1,6 +1,97 @@ ---- ext/bdb1/bdb1.c.orig 2022-05-09 10:22:04 UTC +--- ext/bdb1/bdb1.c.orig 2023-07-08 13:26:04 UTC +++ ext/bdb1/bdb1.c -@@ -733,9 +733,11 @@ bdb1_close(VALUE obj) +@@ -115,7 +115,6 @@ VALUE + bdb1_test_load(VALUE obj, const DBT *a, int type_kv) + { + VALUE res; +- int i; + bdb1_DB *dbst; + + Data_Get_Struct(obj, bdb1_DB, dbst); +@@ -270,7 +269,7 @@ bdb1_mark(bdb1_DB *dbst) + } + + static VALUE +-bdb1_i185_btree(VALUE obj, VALUE dbstobj) ++bdb1_i185_btree(VALUE obj, VALUE dbstobj, int _argc, const VALUE *_argv, VALUE _blockarg) + { + VALUE key, value; + bdb1_DB *dbst; +@@ -323,7 +322,7 @@ bdb1_i185_btree(VALUE obj, VALUE dbstobj) + } + + static VALUE +-bdb1_i185_hash(VALUE obj, VALUE dbstobj) ++bdb1_i185_hash(VALUE obj, VALUE dbstobj, int _argc, const VALUE *_argv, VALUE _blockarg) + { + VALUE key, value; + bdb1_DB *dbst; +@@ -363,7 +362,7 @@ bdb1_i185_hash(VALUE obj, VALUE dbstobj) + } + + static VALUE +-bdb1_i185_recno(VALUE obj, VALUE dbstobj) ++bdb1_i185_recno(VALUE obj, VALUE dbstobj, int _argc, const VALUE *_argv, VALUE _blockarg) + { + VALUE key, value; + bdb1_DB *dbst; +@@ -379,7 +378,6 @@ bdb1_i185_recno(VALUE obj, VALUE dbstobj) + dbst->info.ri.flags = NUM2INT(value); + } + else if (strcmp(options, "set_re_delim") == 0) { +- int ch; + if (TYPE(value) == T_STRING) { + str = StringValueCStr(value); + dbst->info.ri.bval = str[0]; +@@ -396,7 +394,6 @@ bdb1_i185_recno(VALUE obj, VALUE dbstobj) + dbst->info.ri.flags |= R_FIXEDLEN; + } + else if (strcmp(options, "set_re_pad") == 0) { +- int ch; + if (TYPE(value) == T_STRING) { + str = StringValueCStr(value); + dbst->info.ri.bval = str[0]; +@@ -444,7 +441,7 @@ bdb1_load_dump(VALUE obj) + } + + static VALUE +-bdb1_i185_common(VALUE obj, VALUE dbstobj) ++bdb1_i185_common(VALUE obj, VALUE dbstobj, int _argc, const VALUE *_argv, VALUE _blockarg) + { + VALUE key, value; + bdb1_DB *dbst; +@@ -682,7 +679,7 @@ bdb1_init(int argc, VALUE *argv, VALUE obj) + } + switch(dbst->type) { + case 0: +- rb_iterate(rb_each, f, bdb1_i185_btree, obj); ++ rb_block_call(f, rb_intern("each"), 0, NULL, bdb1_i185_btree, obj); + if (dbst->bt_compare == 0 && rb_respond_to(obj, id_bt_compare)) { + dbst->has_info = Qtrue; + dbst->options |= BDB1_BT_COMPARE; +@@ -695,7 +692,7 @@ bdb1_init(int argc, VALUE *argv, VALUE obj) + } + break; + case 1: +- rb_iterate(rb_each, f, bdb1_i185_hash, obj); ++ rb_block_call(f, rb_intern("each"), 0, NULL, bdb1_i185_hash, obj); + if (dbst->h_hash == 0 && rb_respond_to(obj, id_h_hash)) { + dbst->has_info = Qtrue; + dbst->options |= BDB1_H_HASH; +@@ -703,10 +700,10 @@ bdb1_init(int argc, VALUE *argv, VALUE obj) + } + break; + case 2: +- rb_iterate(rb_each, f, bdb1_i185_recno, obj); ++ rb_block_call(f, rb_intern("each"), 0, NULL, bdb1_i185_recno, obj); + break; + } +- rb_iterate(rb_each, f, bdb1_i185_common, obj); ++ rb_block_call(f, rb_intern("each"), 0, NULL, bdb1_i185_common, obj); + } + if (name == NULL) oflags = O_CREAT | O_RDWR; + if (dbst->has_info) openinfo = &dbst->info; +@@ -733,9 +730,11 @@ bdb1_close(VALUE obj) VALUE opt; bdb1_DB *dbst; @@ -12,7 +103,7 @@ Data_Get_Struct(obj, bdb1_DB, dbst); bdb1_i_close(dbst); return Qnil; -@@ -752,15 +754,15 @@ bdb1_s_alloc(VALUE obj) +@@ -752,15 +751,15 @@ bdb1_s_alloc(VALUE obj) dbst->options |= BDB1_NOT_OPEN; cl = obj; while (cl) { @@ -31,7 +122,40 @@ dbst->type = DB_RECNO; break; } -@@ -878,7 +880,9 @@ bdb1_put(int argc, VALUE *argv, VALUE obj) +@@ -802,7 +801,7 @@ bdb1_s_create(int argc, VALUE *argv, VALUE obj) + } + + static VALUE +-bdb1_i_create(VALUE obj, VALUE db) ++bdb1_i_create(VALUE obj, VALUE db, int _argc, const VALUE *_argv, VALUE _blockarg) + { + VALUE tmp[2]; + tmp[0] = rb_ary_entry(obj, 0); +@@ -826,12 +825,12 @@ bdb1_i_create(VALUE obj, VALUE db) + static VALUE + bdb1_s_aref(int argc, VALUE *argv, VALUE obj) + { +- VALUE res, tmp[2]; ++ VALUE res; + int i; + + res = rb_funcall2(obj, rb_intern("new"), 0, 0); + if (argc == 1 && TYPE(argv[0]) == T_HASH) { +- rb_iterate(rb_each, argv[0], bdb1_i_create, res); ++ rb_block_call(argv[0], rb_intern("each"), 0, NULL, bdb1_i_create, res); + return res; + } + if (argc % 2 != 0) { +@@ -870,7 +869,7 @@ bdb1_s_open(int argc, VALUE *argv, VALUE obj) + VALUE + bdb1_put(int argc, VALUE *argv, VALUE obj) + { +- volatile VALUE a0 = Qnil; ++ volatile VALUE a0; + volatile VALUE b0 = Qnil; + VALUE a, b, c; + bdb1_DB *dbst; +@@ -878,7 +877,9 @@ bdb1_put(int argc, VALUE *argv, VALUE obj) int ret, flags; db_recno_t recno; @@ -41,7 +165,35 @@ GetDB(obj, dbst); if (rb_scan_args(argc, argv, "21", &a, &b, &c) == 3) flags = NUM2INT(c); -@@ -1071,7 +1075,9 @@ bdb1_del(VALUE obj, VALUE a) +@@ -935,7 +936,6 @@ bdb1_get_internal(int argc, VALUE *argv, VALUE obj, VA + VALUE b, c; + bdb1_DB *dbst; + DBT key, data; +- DBT datas; + int flagss; + int ret, flags; + db_recno_t recno; +@@ -994,7 +994,7 @@ bdb1_fetch(int argc, VALUE *argv, VALUE obj) + if (val == Qundef) { + if (rb_block_given_p()) { + if (argc > 1) { +- rb_raise(rb_eArgError, "wrong # of arguments", argc); ++ rb_raise(rb_eArgError, "wrong # of arguments, %d", argc); + } + return rb_yield(key); + } +@@ -1026,8 +1026,8 @@ bdb1_has_both(VALUE obj, VALUE a, VALUE b) + DBT keys, datas; + int ret, flags; + db_recno_t recno; +- volatile VALUE c = Qnil; +- volatile VALUE d = Qnil; ++ volatile VALUE c; ++ volatile VALUE d; + + GetDB(obj, dbst); + DATA_ZERO(key); +@@ -1071,7 +1071,9 @@ bdb1_del(VALUE obj, VALUE a) db_recno_t recno; volatile VALUE c = Qnil; @@ -51,8 +203,21 @@ GetDB(obj, dbst); if (dbst->type == DB_HASH) { rb_warning("delete can give strange result with DB_HASH"); -@@ -1112,7 +1118,9 @@ bdb1_delete_if(VALUE obj) - int ret, ret1, flags; +@@ -1090,7 +1092,7 @@ bdb1_empty(VALUE obj) + { + bdb1_DB *dbst; + DBT key, data; +- int ret, flags; ++ int ret; + db_recno_t recno; + + GetDB(obj, dbst); +@@ -1109,10 +1111,12 @@ bdb1_delete_if(VALUE obj) + { + bdb1_DB *dbst; + DBT key, data, save; +- int ret, ret1, flags; ++ int ret, flags; db_recno_t recno; +#if defined(RUBY_SAFE_LEVEL_MAX) && RUBY_SAFE_LEVEL_MAX >= 4 @@ -61,7 +226,12 @@ GetDB(obj, dbst); INIT_RECNO(dbst, key, recno); DATA_ZERO(data); -@@ -1138,7 +1146,9 @@ bdb1_clear(VALUE obj) +@@ -1134,11 +1138,13 @@ VALUE + bdb1_clear(VALUE obj) + { + bdb1_DB *dbst; +- DBT key, data, save; ++ DBT key, data; int ret, value, flags; db_recno_t recno; @@ -71,7 +241,16 @@ GetDB(obj, dbst); INIT_RECNO(dbst, key, recno); DATA_ZERO(data); -@@ -1536,8 +1546,10 @@ bdb1_sync(VALUE obj) +@@ -1360,7 +1366,7 @@ bdb1_each_kv(VALUE obj, VALUE a, VALUE result, VALUE f + int ret, flags; + db_recno_t recno; + VALUE k; +- volatile VALUE b = Qnil; ++ volatile VALUE b; + + GetDB(obj, dbst); + b = test_recno(obj, &key, &recno, a); +@@ -1536,8 +1542,10 @@ bdb1_sync(VALUE obj) { bdb1_DB *dbst; diff --git a/databases/rubygem-bdb1/files/patch-ext_bdb1_delegate.c b/databases/rubygem-bdb1/files/patch-ext_bdb1_delegate.c new file mode 100644 index 000000000000..1a12f09e4f6a --- /dev/null +++ b/databases/rubygem-bdb1/files/patch-ext_bdb1_delegate.c @@ -0,0 +1,11 @@ +--- ext/bdb1/delegate.c.orig 2023-07-08 13:26:04 UTC ++++ ext/bdb1/delegate.c +@@ -33,7 +33,7 @@ bdb1_deleg_missing(int argc, VALUE *argv, VALUE obj) + + Data_Get_Struct(obj, struct deleg_class, delegst); + if (rb_block_given_p()) { +- res = rb_block_call(delegst->obj, id_send, argc, argv, rb_yield, 0); ++ res = rb_block_call(delegst->obj, id_send, argc, argv, (rb_block_call_func_t)rb_yield, 0); + } + else { + res = rb_funcall2(delegst->obj, id_send, argc, argv);