Package Details: wine-valve 5:8.0.5-1

Git Clone URL: https://aur.archlinux.org/wine-valve.git (read-only, click to copy)
Package Base: wine-valve
Description: A compatibility layer for running Windows programs (Valve version)
Upstream URL: https://github.com/ValveSoftware/wine.git
Licenses: LGPL
Conflicts: bin32-wine, wine, wine-staging, wine-staging-git, wine-wow64
Provides: bin32-wine, wine, wine-valve, wine-wow64
Replaces: bin32-wine
Submitter: heavysink
Maintainer: heavysink (lilac)
Last Packager: lilac
Votes: 12
Popularity: 0.36
First Submitted: 2020-06-12 13:41 (UTC)
Last Updated: 2023-12-19 21:13 (UTC)

Dependencies (155)

Required by (379)

Sources (4)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

jsimon0 commented on 2022-02-19 17:39 (UTC)

@mmmaisel does it work in addition to compiling?

mmmaisel commented on 2022-02-19 17:05 (UTC)

I managed to build proton-wine 7.0-1 with the following patch:

diff --git a/PKGBUILD b/PKGBUILD
index 218609c..9f26dec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,10 +6,9 @@
 # Conttributor: xiretza <xiretza+aur@gmail.com>
 # Contributor: heavysink <winstonwu91 at gmail>
 pkgname=wine-valve
-epoch=2
-pkgver=6.3.8c
-_pkgver='6.3-8c'
-pkgrel=2
+pkgver=7.0.20220216
+_pkgver=7.0-1
+pkgrel=1
 pkgdesc='A compatibility layer for running Windows programs (Valve version)'
 arch=('i686' 'x86_64')
 url='https://github.com/ValveSoftware/wine.git'
@@ -84,10 +83,11 @@ optdepends=(
 )
 options=('staticlibs')
 install="$pkgname.install"
-source=("https://github.com/ValveSoftware/wine/archive/proton-wine-${_pkgver}.tar.gz"
+source=("https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${_pkgver}.tar.gz"
         '30-win32-aliases.conf'
         'wine-binfmt.conf'
-        'ldap.patch')
+        'ldap.patch'
+        'futex.patch')

 if [ "$CARCH" = 'i686' ] 
 then
@@ -111,6 +111,8 @@ prepare() {
     # fix path of opencl headers
     sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
     patch -p1 < ../ldap.patch
+    patch -p1 < ../futex.patch
+    ./dlls/winevulkan/make_vulkan
 }

 build() {
@@ -210,7 +212,8 @@ package() {
     done
 }

-sha256sums=('c300742c0be0d577ac3f46713bc3f8faff9aa9c424f43e61a93c8784e87caf50'
+sha256sums=('ee5e0e2b38b86cb7ce3778e75ac8ee86a1ef717f4452ec2363e4589ede98d5fc'
             '9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7'
             '6dfdefec305024ca11f35ad7536565f5551f09119dda2028f194aee8f77077a4'
-            'd672957ab0c315b226ba529b1ef8c39b2c881cbe051d358e1904cb2ca36c27eb')
+            '63507fd8a27b9a970d42803270a05407e9baa1f41edef9c12df0f30abe351cb8'
+            '09ae9147b8c36884ab693abc8e96dd1b9b59c3c339b703e4a43b6c64d4e79603')
diff --git a/futex.patch b/futex.patch
new file mode 100644
index 0000000..a37d647
--- /dev/null
+++ b/futex.patch
@@ -0,0 +1,11 @@
+diff --color -rupN a/dlls/ntdll/unix/fsync.c b/dlls/ntdll/unix/fsync.c
+--- a/dlls/ntdll/unix/fsync.c  2022-02-16 13:39:18.748009255 +0100
++++ b/dlls/ntdll/unix/fsync.c  2022-02-16 13:39:14.004819301 +0100
+@@ -51,6 +51,7 @@
+ 
+ #include "unix_private.h"
+ #include "fsync.h"
++#include <linux/futex.h>
+ 
+ WINE_DEFAULT_DEBUG_CHANNEL(fsync);
+ 
diff --git a/ldap.patch b/ldap.patch
index 7257d13..ca607e4 100644
--- a/ldap.patch
+++ b/ldap.patch
@@ -26,8 +26,8 @@ diff --color -rupN a/dlls/wldap32/init.c b/dlls/wldap32/init.c
   *  The timeout parameter may be NULL in which case a default timeout
   *  value will be used.
   */
--ULONG CDECL ldap_connect( WLDAP32_LDAP *ld, struct l_timeval *timeout )
-+ULONG CDECL oldap_connect( WLDAP32_LDAP *ld, struct l_timeval *timeout )
+-ULONG CDECL ldap_connect( LDAP *ld, struct l_timeval *timeout )
++ULONG CDECL oldap_connect( LDAP *ld, struct l_timeval *timeout )
  {
      TRACE( "(%p, %p)\n", ld, timeout );

@@ -52,18 +52,6 @@ diff --color -rupN a/dlls/wldap32/tests/parse.c b/dlls/wldap32/tests/parse.c
      ok( !ret, "ldap_connect failed 0x%08x\n", ret );

      /* test setting a not supported server control */
-diff --color -rupN a/dlls/wldap32/winldap_private.h b/dlls/wldap32/winldap_private.h
---- a/dlls/wldap32/winldap_private.h   2021-12-29 11:56:08.278179462 +0800
-+++ b/dlls/wldap32/winldap_private.h   2021-12-29 11:56:38.581547845 +0800
-@@ -320,7 +320,7 @@ ULONG CDECL ldap_compare_ext_sA(WLDAP32_
- ULONG CDECL ldap_compare_ext_sW(WLDAP32_LDAP*,PWCHAR,PWCHAR,PWCHAR,struct WLDAP32_berval*,PLDAPControlW*,PLDAPControlW*);
- ULONG CDECL ldap_compare_sA(WLDAP32_LDAP*,PCHAR,PCHAR,PCHAR);
- ULONG CDECL ldap_compare_sW(WLDAP32_LDAP*,PWCHAR,PWCHAR,PWCHAR);
--ULONG CDECL ldap_connect(WLDAP32_LDAP*,LDAP_TIMEVAL*);
-+ULONG CDECL oldap_connect(WLDAP32_LDAP*,LDAP_TIMEVAL*);
- WLDAP32_LDAP * CDECL ldap_conn_from_msg(WLDAP32_LDAP*,WLDAP32_LDAPMessage*);
- ULONG CDECL ldap_control_freeA(LDAPControlA*);
- ULONG CDECL ldap_control_freeW(LDAPControlW*);
 diff --color -rupN a/dlls/wldap32/wldap32.spec b/dlls/wldap32/wldap32.spec
 --- a/dlls/wldap32/wldap32.spec    2021-12-29 11:56:08.278179462 +0800
 +++ b/dlls/wldap32/wldap32.spec    2021-12-29 11:58:13.231658845 +0800
-- 
2.35.1

gloomy commented on 2022-02-17 16:37 (UTC)

I am having a compile error:

../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:109:45: warning: ‘struct futex_waitv’ declared inside parameter list will not be visible outside of this definition or declaration
  109 | static inline void futex_vector_set( struct futex_waitv *waitv, int *addr, int val )
      |                                             ^~~~~~~~~~~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c: In function ‘futex_vector_set’:
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:111:10: error: invalid use of undefined type ‘struct futex_waitv’
  111 |     waitv->uaddr = (uintptr_t) addr;
      |          ^~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:112:10: error: invalid use of undefined type ‘struct futex_waitv’
  112 |     waitv->val = val;
      |          ^~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:113:10: error: invalid use of undefined type ‘struct futex_waitv’
  113 |     waitv->flags = FUTEX_32;
      |          ^~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:113:20: error: ‘FUTEX_32’ undeclared (first use in this function)
  113 |     waitv->flags = FUTEX_32;
      |                    ^~~~~~~~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:113:20: note: each undeclared identifier is reported only once for each function it appears in
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:114:10: error: invalid use of undefined type ‘struct futex_waitv’
  114 |     waitv->__reserved = 0;
      |          ^~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c: At top level:
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:117:53: warning: ‘struct futex_waitv’ declared inside parameter list will not be visible outside of this definition or declaration
  117 | static inline int futex_wait_multiple( const struct futex_waitv *futexes,
      |                                                     ^~~~~~~~~~~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c: In function ‘do_single_wait’:
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:725:28: error: array type has incomplete element type ‘struct futex_waitv’
  725 |         struct futex_waitv futexes[2];
      |                            ^~~~~~~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:725:28: warning: unused variable ‘futexes’ [-Wunused-variable]
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c: In function ‘__fsync_wait_objects’:
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:756:24: error: array type has incomplete element type ‘struct futex_waitv’
  756 |     struct futex_waitv futexes[MAXIMUM_WAIT_OBJECTS + 1];
      |                        ^~~~~~~
../wine-proton-wine-6.3-8c/dlls/ntdll/unix/fsync.c:756:24: warning: unused variable ‘futexes’ [-Wunused-variable]

Any idea if something can be done?

mynis01 commented on 2021-12-29 17:31 (UTC)

@heavysink

The upgrade built without any intervention for me today. Thanks for letting us know what changed!

heavysink commented on 2021-12-29 04:39 (UTC)

@solloron1 @mynis01 @HHL

From LDAP 2.5, openldap introduces some functions like ldap_connect which conflicts with the private built-in function in wine. I looked at https://github.com/curl/curl/issues/7004 for curl and renamed the functions in wine from ldap_connect to oldap_connect. It now builds. Please wait for the buildbot lilac to push the patch.

solloron1 commented on 2021-12-21 02:21 (UTC) (edited on 2021-12-21 02:28 (UTC) by solloron1)

If anyone was struggling like me to get this to build @Ketsui advice works. I didn't know how to perform the patch so after some googling and reading I figured it out. If anyone else is looking for a solution:

Add this to source: https://raw.githubusercontent.com/bobwya/gentoo-wine-ebuild-common/master/patches/wine-4.6-msvcrt_add_sincos_to_importlib.patch

Add this to prepare(): patch -p1 -i ../wine-4.6-msvcrt_add_sincos_to_importlib.patch

Then install the PKGBUILD with makepkg -si

Also downgrade your LDAP to 2.4 as well.

Ketsui commented on 2021-11-25 08:52 (UTC)

If you get "undefined reference to `sincosf'" build error then there's a fix here: https://forum.winehq.org/viewtopic.php?p=134388&sid=c369077afbbc53149576435941339abb#p134388

The release version 6.3-8 builds for me after applying the aforementioned patch and disabling ldap, also I was surprised to find the resulting package being double the size of the wine package from community, please consider adding these lines to package() to fix this:

i686-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib32/wine/*.dll
x86_64-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib/wine/*.dll

mynis01 commented on 2021-11-21 20:08 (UTC)

I just tested and I was able to build this latest version of wine-valve from the AUR after downgrading lib32-libldap and libldap to the old 2.4.x versions I had in the pacman cache.

mynis01 commented on 2021-11-21 19:35 (UTC)

@HHL it looks like they're having the same problem with proton: https://aur.archlinux.org/packages/proton/

The maintainer said they'd push out a build soon that builds wine without LDAP. Maybe something similar can be done for this package too. I doubt many people would ever need LDAP for gaming.

HHL commented on 2021-11-21 13:41 (UTC)

1:6.3.8.rc5-1 fails building for me. Last working (i.e. installed) is 6.3.20210616-1. Installing with paru. Regarding the earlier comment, I have community/vkd3d. But from the log I get it's to do with ldap: I have core/libldap 2.6.0-2 and lib32-libldap 2.6.0-1.

In file included from ../wine-proton-wine-6.3-8-rc5/dlls/wldap32/ber.c:30:
../wine-proton-wine-6.3-8-rc5/dlls/wldap32/winldap_private.h:323:13: error: conflicting types for ‘ldap_connect’; have ‘ULONG(WLDAP32_LDAP *, LDAP_TIMEVAL *)’ {aka ‘unsigned int(struct wldap32 *, struct l_timeval *)’}
  323 | ULONG CDECL ldap_connect(WLDAP32_LDAP*,LDAP_TIMEVAL*);
      |             ^~~~~~~~~~~~
In file included from ../wine-proton-wine-6.3-8-rc5/dlls/wldap32/ber.c:25:
/usr/include/ldap.h:1555:1: note: previous declaration of ‘ldap_connect’ with type ‘int(LDAP *)’ {aka ‘int(struct ldap *)’}
 1555 | ldap_connect( LDAP *ld );
      | ^~~~~~~~~~~~
In file included from ../wine-proton-wine-6.3-8-rc5/dlls/wldap32/add.c:33:
../wine-proton-wine-6.3-8-rc5/dlls/wldap32/winldap_private.h:323:13: error: conflicting types for ‘ldap_connect’; have ‘ULONG(WLDAP32_LDAP *, LDAP_TIMEVAL *)’ {aka ‘unsigned int(struct wldap32 *, struct l_timeval *)’}
  323 | ULONG CDECL ldap_connect(WLDAP32_LDAP*,LDAP_TIMEVAL*);
      |             ^~~~~~~~~~~~
In file included from ../wine-proton-wine-6.3-8-rc5/dlls/wldap32/add.c:26:
/usr/include/ldap.h:1555:1: note: previous declaration of ‘ldap_connect’ with type ‘int(LDAP *)’ {aka ‘int(struct ldap *)’}
 1555 | ldap_connect( LDAP *ld );
      | ^~~~~~~~~~~~
make: *** [Makefile:266906: dlls/wldap32/ber.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [Makefile:266881: dlls/wldap32/add.o] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'wine-valve-1:6.3.8.rc5-1'