From nobody Sat Sep 10 06:31:59 2022 X-Original-To: dev-commits-ports-main@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 4MPjgz6VGLz4cSy3; Sat, 10 Sep 2022 06:31:59 +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 4MPjgz4x6Fz49M0; Sat, 10 Sep 2022 06:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1662791519; 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=3053ozz/yvVkdjnyJ10+g7Vbgn8vhk2azbavlVO+SRI=; b=Bx74VSOD4yuAmq33jOvMFOPQZnv4HnGGNtEGeyCrCmaWDXEJXJx6+hkAa7SOdd4NJyLdAm 2XSLp5374849doJfctlbknary3ZveBiAi8+WmODM6plSwWgAVB0H09mnhoZydmceZvfEMn 3cij6hoLLoRKh0Vx6NYXoZbT3LoSEdgrwY0dNaS/tmUpB7sGSODEfwLVDQ0csQRJvr//lj Jr+A6aLdItx3DqFv0rMVJ/AXeDzGuzMylMfaQ/ViPJNenP9BQxdTs8MOzAWxEQ93OqtMbI ne67n3zdi59Dyep2OhL3XydO79kvGu87N8AoOmVeJEU1iBq9d/YKTvtvZHtlrg== 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 4MPjgz3zb6z1Rsn; Sat, 10 Sep 2022 06:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 28A6VxED040277; Sat, 10 Sep 2022 06:31:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 28A6VxKW040276; Sat, 10 Sep 2022 06:31:59 GMT (envelope-from git) Date: Sat, 10 Sep 2022 06:31:59 GMT Message-Id: <202209100631.28A6VxKW040276@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Xin LI Subject: git: b4b8c98857e4 - main - lang/ruby{27,30,31,32}: Improve qsort_r() detection. List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4b8c98857e409dd294fd58680cd05ae71893261 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1662791519; 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=3053ozz/yvVkdjnyJ10+g7Vbgn8vhk2azbavlVO+SRI=; b=RkgjbwAy15IhXkSdO5xz8ny32gqOl90IsVqxyjTUsnuKLS0d5kCeBk0E6aRtcyzGLMkAwn w+MNNoCGNZrTFL7+5Du2+Fv9f7WctrgvpixAiFi8bs/sKSimBNfT30ZjJwwLrTUsk9tczb aTh2A5NOoGsUt/uvb1kIMed+GsdsbFQ76x4nfPnwMqhwAA+X7AFsXeLp34LJj3d5SdV2V0 OsWkjs4n9/EvUUmhQhA5kVkqt4L6uvA8YYyUY0upF3sGeABq0TqLzB5DjzyfK9GDSLBEEh hnS4xO+S8KwbXESAUKZ50MFsGp8143uwNifBm5KKYi8EQ9U/tcxIvITMJiPefQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1662791519; a=rsa-sha256; cv=none; b=rErzb06OsO0kv8Qukp08oIvUMGlzrVpBh2ZiN6T84wtnBh9Lb8fv6h66SJbmEjc0lN9FZR oqH5Rft6Kd6Gv3eY4Dczqm2eOZYIf2wcVe41uuQ0zN6R0bFGLULlKtu7eBXEhK8ITOhqos CrZCge8FecNpdMN7k27qtoPEUXo2MteQrS6XSHfSjac1zgaI/nTktb637EftimA3K838C9 YnuAoIiTFdyfXRyLVG76IWAFNdFF/su5E+1TvisY6d+rjD9TAgcU58nPB9y7DhMQq5XYeC Fgw9LwKSDAa7GZrs5B6rHVTD0etR9r/6pi2p1uHs0V4DBoP8wFKH2Z1xMGHiiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/ports/commit/?id=b4b8c98857e409dd294fd58680cd05ae71893261 commit b4b8c98857e409dd294fd58680cd05ae71893261 Author: Xin LI AuthorDate: 2022-09-10 06:31:50 +0000 Commit: Xin LI CommitDate: 2022-09-10 06:31:51 +0000 lang/ruby{27,30,31,32}: Improve qsort_r() detection. This change merges the following upstream pull request into the Ruby interpreter: https://github.com/ruby/ruby/pull/6332 Adding this patch is no-op right now because we are not using POSIX (GNU) qsort_r(3) interface yet. It will fix build when the change is applied. Reviewed by: bapt (portmgr@), sunpoet (ruby@) PR: ports/266227 MFH: 2022Q3 Differential Revision: https://reviews.freebsd.org/D36492 --- lang/ruby27/files/patch-util.c | 29 +++++++++++++++++++++++++++++ lang/ruby30/files/patch-util.c | 29 +++++++++++++++++++++++++++++ lang/ruby31/files/patch-util.c | 29 +++++++++++++++++++++++++++++ lang/ruby32/files/patch-util.c | 29 +++++++++++++++++++++++++++++ 4 files changed, 116 insertions(+) diff --git a/lang/ruby27/files/patch-util.c b/lang/ruby27/files/patch-util.c new file mode 100644 index 000000000000..34686785879f --- /dev/null +++ b/lang/ruby27/files/patch-util.c @@ -0,0 +1,29 @@ +--- util.c.orig 2022-04-12 11:25:48 UTC ++++ util.c +@@ -210,6 +210,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void + + typedef int (cmpfunc_t)(const void*, const void*, void*); + ++#if !defined HAVE_GNU_QSORT_R + #if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION + /* In contrast to its name, Visual Studio qsort_s is incompatible with + * C11 in the order of the comparison function's arguments, and same +@@ -255,7 +256,7 @@ ruby_qsort(void* base, const size_t nel, const size_t + qsort_s(base, nel, size, cmp, d); + } + # define HAVE_GNU_QSORT_R 1 +-#elif !defined HAVE_GNU_QSORT_R ++#else + /* mm.c */ + + #define mmtype long +@@ -521,7 +522,8 @@ ruby_qsort(void* base, const size_t nel, const size_t + else goto nxt; /* need not to sort both sides */ + } + } +-#endif /* HAVE_GNU_QSORT_R */ ++#endif ++#endif /* !HAVE_GNU_QSORT_R */ + + char * + ruby_strdup(const char *str) diff --git a/lang/ruby30/files/patch-util.c b/lang/ruby30/files/patch-util.c new file mode 100644 index 000000000000..f454ef14eb0d --- /dev/null +++ b/lang/ruby30/files/patch-util.c @@ -0,0 +1,29 @@ +--- util.c.orig 2022-04-12 11:48:55 UTC ++++ util.c +@@ -214,6 +214,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void + + typedef int (cmpfunc_t)(const void*, const void*, void*); + ++#if !defined HAVE_GNU_QSORT_R + #if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION + /* In contrast to its name, Visual Studio qsort_s is incompatible with + * C11 in the order of the comparison function's arguments, and same +@@ -259,7 +260,7 @@ ruby_qsort(void* base, const size_t nel, const size_t + qsort_s(base, nel, size, cmp, d); + } + # define HAVE_GNU_QSORT_R 1 +-#elif !defined HAVE_GNU_QSORT_R ++#else + /* mm.c */ + + #define mmtype long +@@ -525,7 +526,8 @@ ruby_qsort(void* base, const size_t nel, const size_t + else goto nxt; /* need not to sort both sides */ + } + } +-#endif /* HAVE_GNU_QSORT_R */ ++#endif ++#endif /* !HAVE_GNU_QSORT_R */ + + char * + ruby_strdup(const char *str) diff --git a/lang/ruby31/files/patch-util.c b/lang/ruby31/files/patch-util.c new file mode 100644 index 000000000000..65701973aaee --- /dev/null +++ b/lang/ruby31/files/patch-util.c @@ -0,0 +1,29 @@ +--- util.c.orig 2022-04-12 11:11:15 UTC ++++ util.c +@@ -218,6 +218,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void + + typedef int (cmpfunc_t)(const void*, const void*, void*); + ++#if !defined HAVE_GNU_QSORT_R + #if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION + /* In contrast to its name, Visual Studio qsort_s is incompatible with + * C11 in the order of the comparison function's arguments, and same +@@ -263,7 +264,7 @@ ruby_qsort(void* base, const size_t nel, const size_t + qsort_s(base, nel, size, cmp, d); + } + # define HAVE_GNU_QSORT_R 1 +-#elif !defined HAVE_GNU_QSORT_R ++#else + /* mm.c */ + + #define mmtype long +@@ -530,7 +531,8 @@ ruby_qsort(void* base, const size_t nel, const size_t + else goto nxt; /* need not to sort both sides */ + } + } +-#endif /* HAVE_GNU_QSORT_R */ ++#endif ++#endif /* !HAVE_GNU_QSORT_R */ + + char * + ruby_strdup(const char *str) diff --git a/lang/ruby32/files/patch-util.c b/lang/ruby32/files/patch-util.c new file mode 100644 index 000000000000..f454ef14eb0d --- /dev/null +++ b/lang/ruby32/files/patch-util.c @@ -0,0 +1,29 @@ +--- util.c.orig 2022-04-12 11:48:55 UTC ++++ util.c +@@ -214,6 +214,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void + + typedef int (cmpfunc_t)(const void*, const void*, void*); + ++#if !defined HAVE_GNU_QSORT_R + #if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION + /* In contrast to its name, Visual Studio qsort_s is incompatible with + * C11 in the order of the comparison function's arguments, and same +@@ -259,7 +260,7 @@ ruby_qsort(void* base, const size_t nel, const size_t + qsort_s(base, nel, size, cmp, d); + } + # define HAVE_GNU_QSORT_R 1 +-#elif !defined HAVE_GNU_QSORT_R ++#else + /* mm.c */ + + #define mmtype long +@@ -525,7 +526,8 @@ ruby_qsort(void* base, const size_t nel, const size_t + else goto nxt; /* need not to sort both sides */ + } + } +-#endif /* HAVE_GNU_QSORT_R */ ++#endif ++#endif /* !HAVE_GNU_QSORT_R */ + + char * + ruby_strdup(const char *str)