git: 0d591db5617c - main - emulators/wine-devel: Update to Wine 7.19

From: Gerald Pfeifer <gerald_at_FreeBSD.org>
Date: Tue, 15 Nov 2022 08:00:00 UTC
The branch main has been updated by gerald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0d591db5617cdb3eecf80f93923a7224804a1c41

commit 0d591db5617cdb3eecf80f93923a7224804a1c41
Author:     Damjan Jovanovic <damjan.jov@gmail.org>
AuthorDate: 2022-11-15 07:54:51 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2022-11-15 07:59:16 +0000

    emulators/wine-devel: Update to Wine 7.19
    
    This includes the following changes:
     - Support for storing DOS attributes on disk.
     - Bundled vkd3d upgraded to version 1.5.
     - Support for MPEG-4 audio format.
     - Various bug fixes.
    
    This version also requires a patch for the ENODATA error code which
    does not consistently exist on FreeBSD. [1]
    
    Submitted by:   gerald [1]
---
 emulators/wine-devel/Makefile                      |  2 +-
 emulators/wine-devel/distinfo                      | 10 ++---
 .../wine-devel/files/patch-dlls-ntdll-unix-file.c  | 49 ++++++++++++++++++++++
 emulators/wine-devel/pkg-plist                     |  2 +
 4 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile
index e9b10bffde56..dac92e814d72 100644
--- a/emulators/wine-devel/Makefile
+++ b/emulators/wine-devel/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	wine
-DISTVERSION=	7.18
+DISTVERSION=	7.19
 PORTEPOCH=	1
 CATEGORIES=	emulators
 MASTER_SITES=	https://dl.winehq.org/wine/source/7.x/
diff --git a/emulators/wine-devel/distinfo b/emulators/wine-devel/distinfo
index 7644dc98332b..f6c2aa68d70f 100644
--- a/emulators/wine-devel/distinfo
+++ b/emulators/wine-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1665963806
-SHA256 (wine-7.18.tar.xz) = 3edf62793f2599b0bb17142d2e588670055497545e1943fe80673b9267cfe9f6
-SIZE (wine-7.18.tar.xz) = 28412876
-SHA256 (v7.18.tar.gz) = 15fc964776f61c1508124b38e7ac850a5917916587309125bc274889920744b1
-SIZE (v7.18.tar.gz) = 9535819
+TIMESTAMP = 1666968876
+SHA256 (wine-7.19.tar.xz) = 43ac497e6e1d7fded492c32a68b554c57b76f2be8dc787e7335a0dd4e68b9d21
+SIZE (wine-7.19.tar.xz) = 28502612
+SHA256 (v7.19.tar.gz) = 83347f27a77685f6c4b08a171a432254d93f797b1a9457276bba2ddd21c60840
+SIZE (v7.19.tar.gz) = 9523048
diff --git a/emulators/wine-devel/files/patch-dlls-ntdll-unix-file.c b/emulators/wine-devel/files/patch-dlls-ntdll-unix-file.c
new file mode 100644
index 000000000000..4bb1325af847
--- /dev/null
+++ b/emulators/wine-devel/files/patch-dlls-ntdll-unix-file.c
@@ -0,0 +1,49 @@
+commit d7541508936b9ed776e8a39a0bc2a4cc875514d3
+Author: Gerald Pfeifer <gerald@pfeifer.com>
+Date:   Tue Oct 18 23:41:49 2022 +0200
+
+    ntdll: Fix build on systems without ENODATA.
+    
+    On FreeBSD 12 and 14 ENODATA is not regularly defined. Cater to that
+    in fd_get_file_info() and get_file_info().
+
+diff --git dlls/ntdll/unix/file.c dlls/ntdll/unix/file.c
+index c7ba12a5c13..8a599a289f8 100644
+--- dlls/ntdll/unix/file.c
++++ dlls/ntdll/unix/file.c
+@@ -1565,10 +1565,15 @@ static int fd_get_file_info( int fd, unsigned int options, struct stat *st, ULON
+     attr_len = xattr_fget( fd, SAMBA_XATTR_DOS_ATTRIB, attr_data, sizeof(attr_data)-1 );
+     if (attr_len != -1)
+         *attr |= parse_samba_dos_attrib_data( attr_data, attr_len );
+-    else if (errno != ENODATA && errno != ENOTSUP)
++    else
++    {
++        if (errno == ENOTSUP) return ret;
++#ifdef ENODATA
++        if (errno == ENODATA) return ret;
++#endif
+         WARN( "Failed to get extended attribute " SAMBA_XATTR_DOS_ATTRIB ". errno %d (%s)\n",
+               errno, strerror( errno ) );
+-
++    }
+     return ret;
+ }
+ 
+@@ -1653,10 +1658,15 @@ static int get_file_info( const char *path, struct stat *st, ULONG *attr )
+     attr_len = xattr_get( path, SAMBA_XATTR_DOS_ATTRIB, attr_data, sizeof(attr_data)-1 );
+     if (attr_len != -1)
+         *attr |= parse_samba_dos_attrib_data( attr_data, attr_len );
+-    else if (errno != ENODATA && errno != ENOTSUP)
++    else
++    {
++        if (errno == ENOTSUP) return ret;
++#ifdef ENODATA
++        if (errno == ENODATA) return ret;
++#endif
+         WARN( "Failed to get extended attribute " SAMBA_XATTR_DOS_ATTRIB " from \"%s\". errno %d (%s)\n",
+               path, errno, strerror( errno ) );
+-
++    }
+     return ret;
+ }
+ 
diff --git a/emulators/wine-devel/pkg-plist b/emulators/wine-devel/pkg-plist
index 6a83a27be75d..05ee476fc93c 100644
--- a/emulators/wine-devel/pkg-plist
+++ b/emulators/wine-devel/pkg-plist
@@ -1404,6 +1404,7 @@ lib/wine/%%WINEARCH%%-unix/libuserenv.a
 lib/wine/%%WINEARCH%%-unix/libusp10.a
 lib/wine/%%WINEARCH%%-unix/libuuid.a
 lib/wine/%%WINEARCH%%-unix/libuxtheme.a
+lib/wine/%%WINEARCH%%-unix/libvcruntime140.a
 lib/wine/%%WINEARCH%%-unix/libvdmdbg.a
 lib/wine/%%WINEARCH%%-unix/libversion.a
 lib/wine/%%WINEARCH%%-unix/libvulkan-1.a
@@ -1929,6 +1930,7 @@ lib/wine/%%WINEARCH%%-windows/libuserenv.a
 lib/wine/%%WINEARCH%%-windows/libusp10.a
 lib/wine/%%WINEARCH%%-windows/libuuid.a
 lib/wine/%%WINEARCH%%-windows/libuxtheme.a
+lib/wine/%%WINEARCH%%-windows/libvcruntime140.a
 lib/wine/%%WINEARCH%%-windows/libvdmdbg.a
 lib/wine/%%WINEARCH%%-windows/libversion.a
 lib/wine/%%WINEARCH%%-windows/libvulkan-1.a