git: 638b276a416a - main - databases/pointcloud: unbreak on -CURRENT after GNU qsort_r

From: Xin LI <delphij_at_FreeBSD.org>
Date: Fri, 30 Sep 2022 22:30:00 UTC
The branch main has been updated by delphij:

URL: https://cgit.FreeBSD.org/ports/commit/?id=638b276a416a4a744d51553ec986729ab035e711

commit 638b276a416a4a744d51553ec986729ab035e711
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2022-09-30 20:42:53 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2022-09-30 22:28:05 +0000

    databases/pointcloud: unbreak on -CURRENT after GNU qsort_r
    
    PR:             ports/266227
    Exp-run by:     antoine
    Approved by:    portmgr
---
 .../pointcloud/files/patch-lib_sort__r_sort__r.h   | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/databases/pointcloud/files/patch-lib_sort__r_sort__r.h b/databases/pointcloud/files/patch-lib_sort__r_sort__r.h
new file mode 100644
index 000000000000..154155cde4c0
--- /dev/null
+++ b/databases/pointcloud/files/patch-lib_sort__r_sort__r.h
@@ -0,0 +1,24 @@
+--- lib/sort_r/sort_r.h.orig	2022-09-12 07:14:10 UTC
++++ lib/sort_r/sort_r.h
+@@ -27,10 +27,10 @@ void sort_r(void *base, size_t nel, size_t width,
+ #define _SORT_R_INLINE inline
+ 
+ #if (defined __APPLE__ || defined __MACH__ || defined __DARWIN__ || \
+-     defined __FreeBSD__ || defined __DragonFly__)
++     (defined __FreeBSD__ && !defined(qsort_r)) || defined __DragonFly__)
+ #  define _SORT_R_BSD
+ #elif (defined _GNU_SOURCE || defined __gnu_hurd__ || defined __GNU__ || \
+-       defined __linux__ || (defined __MINGW32__ && !defined __MINGW64_VERSION_MAJOR) || defined __GLIBC__)
++       defined __linux__ || (defined __MINGW32__ && !defined __MINGW64_VERSION_MAJOR) || defined __GLIBC__ || (defined (__FreeBSD__) && defined(qsort_r)))
+ #  define _SORT_R_LINUX
+ #elif (defined _WIN32 || defined _WIN64 || defined __WINDOWS__)
+ #  define _SORT_R_WINDOWS
+@@ -170,7 +170,7 @@ static _SORT_R_INLINE void sort_r_simple(void *base, s
+   #if defined _SORT_R_LINUX
+ 
+     typedef int(* __compar_d_fn_t)(const void *, const void *, void *);
+-    extern void qsort_r(void *base, size_t nel, size_t width,
++    extern void (qsort_r)(void *base, size_t nel, size_t width,
+                         __compar_d_fn_t __compar, void *arg)
+       __attribute__((nonnull (1, 4)));
+