git: 9b46ada11cb6 - main - emulators/wine-proton: Fix build with devel/libsysinfo present

From: Gerald Pfeifer <gerald_at_FreeBSD.org>
Date: Thu, 30 Dec 2021 13:26:24 UTC
The branch main has been updated by gerald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9b46ada11cb643d07d33cd5ce10ae155fbcd0e3e

commit 9b46ada11cb643d07d33cd5ce10ae155fbcd0e3e
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2021-12-30 11:32:47 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2021-12-30 13:23:15 +0000

    emulators/wine-proton: Fix build with devel/libsysinfo present
    
    Port b75f3b5a79927f27605bee328c36d9d7d8b425ec from emulators/wine:
    
      This back ports the patch I pushed upstream and that wine-devel has
      inherited from there a few months ago. It will go away with the next
      major release.
    
    PR:             260792
    Requested by:   iwtcex@gmail.com (maintainer)
    Submitted by:   Patrick Mackinlay <freebsd.68fba@nospam.spacesurfer.com>
---
 emulators/wine-proton/files/patch-sysinfo | 72 +++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/emulators/wine-proton/files/patch-sysinfo b/emulators/wine-proton/files/patch-sysinfo
new file mode 100644
index 000000000000..5021b5c2a045
--- /dev/null
+++ b/emulators/wine-proton/files/patch-sysinfo
@@ -0,0 +1,72 @@
+This is a back port of a patch to mainline Wine; it will be in the
+next major version of Wine at which point we need to drop this patch.
+
+commit 59da79021a6e441e3b21b933c744aba922208ec1
+Author: Gerald Pfeifer <gerald@pfeifer.com>
+Date:   Tue Aug 10 22:36:27 2021 +0200
+
+    ntdll: Only use sysinfo function when present.
+    
+    On some systems <sys/sysinfo.h> may be present while the sysinfo
+    function may not, or at least not as part of standard libraries,
+    so check whether the function is actually available before using
+    it.
+    
+    This fixes builds on FreeBSD with the devel/libsysinfo present.
+    
+    Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
+    Signed-off-by: Alexandre Julliard <julliard@winehq.org>
+
+--- UTC
+diff --git a/configure b/configure
+index 1be0aa9d217..e8c1cb9e3a8 100755
+--- configure
++++ configure
+@@ -18068,6 +18068,7 @@ for ac_func in \
+ 	setprogname \
+ 	sigprocmask \
+ 	symlink \
++	sysinfo \
+ 	tcdrain \
+ 	thr_kill2
+ 
+diff --git a/configure.ac b/configure.ac
+index 69e27147088..065b3f231bf 100644
+--- configure.ac
++++ configure.ac
+@@ -2205,6 +2205,7 @@ AC_CHECK_FUNCS(\
+ 	setprogname \
+ 	sigprocmask \
+ 	symlink \
++	sysinfo \
+ 	tcdrain \
+ 	thr_kill2
+ )
+diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
+index a252e25fbc6..2cca90ac952 100644
+--- dlls/ntdll/unix/virtual.c
++++ dlls/ntdll/unix/virtual.c
+@@ -2737,7 +2737,8 @@ ULONG_PTR get_system_affinity_mask(void)
+  */
+ void virtual_get_system_info( SYSTEM_BASIC_INFORMATION *info, BOOL wow64 )
+ {
+-#if defined(HAVE_STRUCT_SYSINFO_TOTALRAM) && defined(HAVE_STRUCT_SYSINFO_MEM_UNIT)
++#if defined(HAVE_SYSINFO) \
++    && defined(HAVE_STRUCT_SYSINFO_TOTALRAM) && defined(HAVE_STRUCT_SYSINFO_MEM_UNIT)
+     struct sysinfo sinfo;
+ 
+     if (!sysinfo(&sinfo))
+diff --git a/include/config.h.in b/include/config.h.in
+index ad770281471..24f7b64ffd3 100644
+--- include/config.h.in
++++ include/config.h.in
+@@ -744,6 +744,9 @@
+ /* Define to 1 if you have the <syscall.h> header file. */
+ #undef HAVE_SYSCALL_H
+ 
++/* Define to 1 if you have the `sysinfo' function. */
++#undef HAVE_SYSINFO
++
+ /* Define to 1 if you have the
+    <SystemConfiguration/SCDynamicStoreCopyDHCPInfo.h> header file. */
+ #undef HAVE_SYSTEMCONFIGURATION_SCDYNAMICSTORECOPYDHCPINFO_H