From nobody Wed Sep 28 05:01:38 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 4MckqQ22Skz4YPlq; Wed, 28 Sep 2022 05:01:38 +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 4MckqQ1bWMz3mVh; Wed, 28 Sep 2022 05:01:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664341298; 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=RnrH4RiLZv6v5QYClJpBOYEuaML19B4zPfoBku/MyVk=; b=soctLgFq+zG/AAomCXn+L7prgsAJnB7p3ZFaySqEEr7qdXV6pTVvBytV6VvPNBzyp6TquN nC93tthFpUq+8HPDGQ+1gP4LLF7Jv1mIImNAu6YNkVZ01fabyHTBbPVuz68Cf3R/aLMNMf Vti9Ee1aAOOlOvEtYGc8M1OkBSWVQjvIWsl+jZzJ3HkBatKFunsinHNqPBPwsfUkRq1jdO sA+z0JvQbWnLcKOp4sIb9BvGt4TTMSc2JymOKkJaec08k1J8b/ApkOKv2m/dm/M+yP8+ne Oo9TRzDJ4JGgEI7TN772ZxDgpuWbawjh/NCRfBSOjdCtP0WF5TXImXglLH1KBA== 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 4MckqQ0g11zM9Z; Wed, 28 Sep 2022 05:01:38 +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 28S51cxB044258; Wed, 28 Sep 2022 05:01:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 28S51cN5044257; Wed, 28 Sep 2022 05:01:38 GMT (envelope-from git) Date: Wed, 28 Sep 2022 05:01:38 GMT Message-Id: <202209280501.28S51cN5044257@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: 1b1270010864 - main - graphics/mesa-dri: 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: 1b12700108642534ba3ed31b49c1340c7fd2f0e5 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664341298; 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=RnrH4RiLZv6v5QYClJpBOYEuaML19B4zPfoBku/MyVk=; b=j7I8qkBV1g8FCN2ysXzqD3XHUVUfLWeTbP702X4CjS6My87n9ZRYmDakEJQvjDSytmDdR+ KOlHUnHV9K4ee9J7nmOzewxMm133sq+iK7I7jGGGIZzBc/9x0+34+FKPSmMSCOQiMOGDwu G849BgH7zWh92otTv39p6uLzG1JR/UEZDd9RyrjJeaZSZ2PDFX8ZJ3uPAqICXLblait3Mk QkggFCzJMaiqtX0iQWTL8MXTiNgVLxbG4OM1j/9alxryswIIaY/ICkiO0OFL/9Q/eA4LxN 1/i80h+TlqeuiSbJ2mktdrrRma31o1KVRnDYVI5cLNOCIAUHCj5kZLCx0AD2nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1664341298; a=rsa-sha256; cv=none; b=gEv++rL5wht0qTFGVhpujq4x7YkYDTeqtaAGtp+burd80Pi7oTrWpGJT/uq5N9GNT+gkqA 0QnFUskQIZh0JosGA76S+htGT0vNrmi/RiSno4iANw8vv7nxNQOPGiIxK/RCKbUyhHad48 QDLNujqUbcoEbvRBQ1Ctv/AisBinSdHAFD3ObKtkXFKsTJxEWaL+zFtSUKTjJKU3/RcB6c rWuNuU6LkUFxIwcGtL4MrkkJ+u+HVuN5OpPwe/R5WUbWeQeTT6Rzvs2i6chkbxhUtBv2nD /J2LfboZG9Ebf83irD/gTfDdwWlf+BEGfPBGaSP3BMMD1q8XcfiY3Ti218d7RQ== 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=1b12700108642534ba3ed31b49c1340c7fd2f0e5 commit 1b12700108642534ba3ed31b49c1340c7fd2f0e5 Author: Xin LI AuthorDate: 2022-09-28 04:52:09 +0000 Commit: Xin LI CommitDate: 2022-09-28 04:52:10 +0000 graphics/mesa-dri: Improve qsort_r detection. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D36514 --- graphics/mesa-dri/files/patch-meson.build | 46 +++++++++++++++++++++++ graphics/mesa-dri/files/patch-src_util_u__qsort.h | 26 +++++++++++++ 2 files changed, 72 insertions(+) diff --git a/graphics/mesa-dri/files/patch-meson.build b/graphics/mesa-dri/files/patch-meson.build new file mode 100644 index 000000000000..21cdcf840400 --- /dev/null +++ b/graphics/mesa-dri/files/patch-meson.build @@ -0,0 +1,46 @@ +--- meson.build.orig 2022-03-18 19:26:47 UTC ++++ meson.build +@@ -1414,11 +1414,42 @@ foreach f : ['strtof', 'mkostemp', 'timespec_get', 'me + endforeach + + foreach f : ['strtof', 'mkostemp', 'timespec_get', 'memfd_create', 'random_r', +- 'flock', 'strtok_r', 'getrandom', 'qsort_r', 'qsort_s'] ++ 'flock', 'strtok_r', 'getrandom', 'qsort_s'] + if cc.has_function(f) + pre_args += '-DHAVE_@0@'.format(f.to_upper()) + endif + endforeach ++ ++if cpp.links(''' ++ #define _GNU_SOURCE ++ #include ++ ++ static int dcomp(const void *l, const void *r, void *t) { return 0; } ++ ++ int main(int ac, char **av) { ++ int arr[] = { 1 }; ++ void *t = NULL; ++ qsort_r((void*)&arr[0], 1, 1, dcomp, t); ++ return (0); ++ }''', ++ args : pre_args, ++ name : 'GNU qsort_r') ++ pre_args += '-DHAVE_GNU_QSORT_R' ++elif cpp.links(''' ++ #include ++ ++ static int dcomp(void *t, const void *l, const void *r) { return 0; } ++ ++ int main(int ac, char **av) { ++ int arr[] = { 1 }; ++ void *t = NULL; ++ qsort_r((void*)&arr[0], 1, 1, t, dcomp); ++ return (0); ++ }''', ++ args : pre_args, ++ name : 'BSD qsort_r') ++ pre_args += '-DHAVE_BSD_QSORT_R' ++endif + + if cc.has_header_symbol('errno.h', 'program_invocation_name', + args : '-D_GNU_SOURCE') diff --git a/graphics/mesa-dri/files/patch-src_util_u__qsort.h b/graphics/mesa-dri/files/patch-src_util_u__qsort.h new file mode 100644 index 000000000000..f199fecd7b56 --- /dev/null +++ b/graphics/mesa-dri/files/patch-src_util_u__qsort.h @@ -0,0 +1,26 @@ +--- src/util/u_qsort.h.orig 2022-03-18 19:26:47 UTC ++++ src/util/u_qsort.h +@@ -56,8 +56,10 @@ util_qsort_r(void *base, size_t nmemb, size_t size, + int (*compar)(const void *, const void *, void *), + void *arg) + { +-#if HAVE_QSORT_R +-# if DETECT_OS_APPLE || DETECT_OS_BSD ++#if HAVE_GNU_QSORT_R ++ /* GNU extension added in glibc 2.8 */ ++ qsort_r(base, nmemb, size, compar, arg); ++#elif HAVE_BSD_QSORT_R + /* BSD/macOS qsort_r takes "arg" before the comparison function and it + * pass the "arg" before the elements. + */ +@@ -66,10 +68,6 @@ util_qsort_r(void *base, size_t nmemb, size_t size, + arg + }; + qsort_r(base, nmemb, size, &data, util_qsort_adapter); +-# else +- /* GNU extension added in glibc 2.8 */ +- qsort_r(base, nmemb, size, compar, arg); +-# endif + #elif HAVE_QSORT_S + # ifdef _WIN32 + /* MSVC/MinGW qsort_s takes "arg" after the comparison function and it