aboutsummaryrefslogtreecommitdiff
path: root/emulators/wine-devel
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2020-11-01 14:15:44 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2020-11-01 14:15:44 +0000
commitd1488091c73a32b025f582fe72e83be5f983a496 (patch)
tree02784eee10e5e238f63f17debfd854ffdc7e5b08 /emulators/wine-devel
parent34e94144d430ada166e9ed851396ce226c444644 (diff)
downloadports-d1488091c73a32b025f582fe72e83be5f983a496.tar.gz
ports-d1488091c73a32b025f582fe72e83be5f983a496.zip
Unbreak the (non-default) STAGING option. This requires two local patches
on top of the Wine Staging patchset that address upstream regressions. It also brings a fair number of STAGING-specific additions to the set of Wine libraries.
Notes
Notes: svn path=/head/; revision=553837
Diffstat (limited to 'emulators/wine-devel')
-rw-r--r--emulators/wine-devel/Makefile3
-rw-r--r--emulators/wine-devel/files/extrapatch-dlls-ntdll-unix-file.c25
-rw-r--r--emulators/wine-devel/files/extrapatch-server-file.c30
-rw-r--r--emulators/wine-devel/pkg-plist47
4 files changed, 104 insertions, 1 deletions
diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile
index 45ea6daf0b02..f2637b5977e5 100644
--- a/emulators/wine-devel/Makefile
+++ b/emulators/wine-devel/Makefile
@@ -113,7 +113,8 @@ STAGING_EXTRACT_DEPENDS= bash:shells/bash \
git:devel/git \
autoconf>0:devel/autoconf
STAGING_LIB_DEPENDS= libtxc_dxtn.so:graphics/s2tc
-STAGING_BROKEN= fails to compile: file.c:401:70: error: 'XATTR_USER_PREFIX_LEN' undeclared
+STAGING_EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-dlls-ntdll-unix-file.c \
+ ${PATCHDIR}/extrapatch-server-file.c
V4L_CONFIGURE_WITH= v4l2
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
diff --git a/emulators/wine-devel/files/extrapatch-dlls-ntdll-unix-file.c b/emulators/wine-devel/files/extrapatch-dlls-ntdll-unix-file.c
new file mode 100644
index 000000000000..3fb65bdc4648
--- /dev/null
+++ b/emulators/wine-devel/files/extrapatch-dlls-ntdll-unix-file.c
@@ -0,0 +1,25 @@
+--- dlls/ntdll/unix/file.c.orig 2020-10-24 12:22:03.186448000 +0000
++++ dlls/ntdll/unix/file.c 2020-10-24 13:14:00.020964000 +0000
+@@ -390,6 +390,22 @@
+ #define XATTR_USER_PREFIX "user."
+ #endif
+
++#ifndef XATTR_USER_PREFIX_LEN
++#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1)
++#endif
++
++#ifdef HAVE_SYS_EXTATTR_H
++static inline int xattr_valid_namespace( const char *name )
++{
++ if (strncmp( XATTR_USER_PREFIX, name, XATTR_USER_PREFIX_LEN ) != 0)
++ {
++ errno = EPERM;
++ return 0;
++ }
++ return 1;
++}
++#endif
++
+ static int xattr_fremove( int filedes, const char *name )
+ {
+ #if defined(XATTR_ADDITIONAL_OPTIONS)
diff --git a/emulators/wine-devel/files/extrapatch-server-file.c b/emulators/wine-devel/files/extrapatch-server-file.c
new file mode 100644
index 000000000000..5f01e743b108
--- /dev/null
+++ b/emulators/wine-devel/files/extrapatch-server-file.c
@@ -0,0 +1,30 @@
+--- server/file.c.orig 2020-10-25 09:54:42.043906000 +0000
++++ server/file.c 2020-10-25 10:46:07.706926000 +0000
+@@ -65,10 +65,27 @@
+ #ifndef XATTR_USER_PREFIX
+ #define XATTR_USER_PREFIX "user."
+ #endif
++
++#ifndef XATTR_USER_PREFIX_LEN
++#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1)
++#endif
++
+ #ifndef XATTR_SIZE_MAX
+ #define XATTR_SIZE_MAX 65536
+ #endif
+
++#ifdef HAVE_SYS_EXTATTR_H
++static inline int xattr_valid_namespace( const char *name )
++{
++ if (strncmp( XATTR_USER_PREFIX, name, XATTR_USER_PREFIX_LEN ) != 0)
++ {
++ errno = EPERM;
++ return 0;
++ }
++ return 1;
++}
++#endif
++
+ /* We intentionally do not match the Samba 4 extended attribute for NT security descriptors (SDs):
+ * 1) Samba stores this information using an internal data structure (we use a flat NT SD).
+ * 2) Samba uses the attribute "security.NTACL". This attribute is within a namespace that only
diff --git a/emulators/wine-devel/pkg-plist b/emulators/wine-devel/pkg-plist
index b3069f397cf8..5d83f6d969ac 100644
--- a/emulators/wine-devel/pkg-plist
+++ b/emulators/wine-devel/pkg-plist
@@ -116,6 +116,8 @@ include/wine/windows/appmodel.h
include/wine/windows/asferr.h
include/wine/windows/asptlb.h
include/wine/windows/asptlb.idl
+%%STAGING%%include/wine/windows/asyncinfo.h
+%%STAGING%%include/wine/windows/asyncinfo.idl
include/wine/windows/asynot.idl
include/wine/windows/asysta.idl
include/wine/windows/atlbase.h
@@ -940,7 +942,21 @@ include/wine/windows/windef.h
include/wine/windows/windns.h
include/wine/windows/windows.foundation.h
include/wine/windows/windows.foundation.idl
+%%STAGING%%include/wine/windows/windows.gaming.input.forcefeedback.h
+%%STAGING%%include/wine/windows/windows.gaming.input.forcefeedback.idl
+%%STAGING%%include/wine/windows/windows.gaming.input.h
+%%STAGING%%include/wine/windows/windows.gaming.input.idl
+%%STAGING%%include/wine/windows/windows.globalization.h
+%%STAGING%%include/wine/windows/windows.globalization.idl
include/wine/windows/windows.h
+%%STAGING%%include/wine/windows/windows.media.speechsynthesis.h
+%%STAGING%%include/wine/windows/windows.media.speechsynthesis.idl
+%%STAGING%%include/wine/windows/windows.system.h
+%%STAGING%%include/wine/windows/windows.system.idl
+%%STAGING%%include/wine/windows/windows.system.userprofile.h
+%%STAGING%%include/wine/windows/windows.system.userprofile.idl
+%%STAGING%%include/wine/windows/windowscontracts.h
+%%STAGING%%include/wine/windows/windowscontracts.idl
include/wine/windows/windowsx.h
include/wine/windows/winerror.h
include/wine/windows/winevt.h
@@ -1021,6 +1037,8 @@ include/wine/windows/wtypes.idl
include/wine/windows/wuapi.h
include/wine/windows/wuapi.idl
include/wine/windows/x3daudio.h
+%%STAGING%%include/wine/windows/xact.h
+%%STAGING%%include/wine/windows/xact2wb.h
include/wine/windows/xact3.h
include/wine/windows/xact3wb.h
include/wine/windows/xapo.h
@@ -2415,6 +2433,9 @@ lib/wine/fakedlls/wimgapi.dll
%%WINE32%%lib/wine/fakedlls/winaspi.dll16
%%WINE32%%lib/wine/fakedlls/windebug.dll16
%%STAGING%%lib/wine/fakedlls/windows.gaming.input.dll
+%%STAGING%%lib/wine/fakedlls/windows.globalization.dll
+%%STAGING%%lib/wine/fakedlls/windows.media.speech.dll
+%%STAGING%%lib/wine/fakedlls/windows.networking.connectivity.dll
lib/wine/fakedlls/windowscodecs.dll
lib/wine/fakedlls/windowscodecsext.dll
lib/wine/fakedlls/wineboot.exe
@@ -2495,6 +2516,17 @@ lib/wine/fakedlls/wusa.exe
%%OPENAL%%lib/wine/fakedlls/x3daudio1_5.dll
%%OPENAL%%lib/wine/fakedlls/x3daudio1_6.dll
%%OPENAL%%lib/wine/fakedlls/x3daudio1_7.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_0.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_1.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_10.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_2.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_3.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_4.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_5.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_6.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_7.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_8.dll
+%%STAGING%%lib/wine/fakedlls/xactengine2_9.dll
lib/wine/fakedlls/xactengine3_0.dll
lib/wine/fakedlls/xactengine3_1.dll
lib/wine/fakedlls/xactengine3_2.dll
@@ -2801,6 +2833,7 @@ lib/wine/libwsdapi.def
lib/wine/libwsnmp32.def
lib/wine/libwsock32.def
lib/wine/libwtsapi32.def
+%%STAGING%%lib/wine/libx3daudio1_7.def
lib/wine/libxinput.def
lib/wine/libxmllite.def
lib/wine/loadperf.dll.so
@@ -3150,6 +3183,9 @@ lib/wine/wimgapi.dll.so
%%WINE32%%lib/wine/winaspi.dll16.so
%%WINE32%%lib/wine/windebug.dll16.so
%%STAGING%%lib/wine/windows.gaming.input.dll.so
+%%STAGING%%lib/wine/windows.globalization.dll.so
+%%STAGING%%lib/wine/windows.media.speech.dll.so
+%%STAGING%%lib/wine/windows.networking.connectivity.dll.so
lib/wine/windowscodecs.dll.so
lib/wine/windowscodecs.so
lib/wine/windowscodecsext.dll.so
@@ -3231,6 +3267,17 @@ lib/wine/wusa.exe.so
%%OPENAL%%lib/wine/x3daudio1_5.dll.so
%%OPENAL%%lib/wine/x3daudio1_6.dll.so
%%OPENAL%%lib/wine/x3daudio1_7.dll.so
+%%STAGING%%lib/wine/xactengine2_0.dll.so
+%%STAGING%%lib/wine/xactengine2_1.dll.so
+%%STAGING%%lib/wine/xactengine2_10.dll.so
+%%STAGING%%lib/wine/xactengine2_2.dll.so
+%%STAGING%%lib/wine/xactengine2_3.dll.so
+%%STAGING%%lib/wine/xactengine2_4.dll.so
+%%STAGING%%lib/wine/xactengine2_5.dll.so
+%%STAGING%%lib/wine/xactengine2_6.dll.so
+%%STAGING%%lib/wine/xactengine2_7.dll.so
+%%STAGING%%lib/wine/xactengine2_8.dll.so
+%%STAGING%%lib/wine/xactengine2_9.dll.so
lib/wine/xactengine3_0.dll.so
lib/wine/xactengine3_1.dll.so
lib/wine/xactengine3_2.dll.so