Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
856 stars 155 forks source link

valve-exp-bleeding fails to apply de-steamify-80-be.mypatch #1083

Closed adolfintel closed 9 months ago

adolfintel commented 10 months ago

Started happening a couple days ago.

Here's the log:

Applying your own patch de-steamify-80-be.mypatch
patching file dlls/advapi32/advapi.c
patching file dlls/dbghelp/dwarf.c
patching file dlls/hidclass.sys/device.c
patching file dlls/hidclass.sys/hid.h
patching file dlls/hidclass.sys/pnp.c
patching file dlls/kernelbase/process.c
Hunk #1 succeeded at 1226 (offset 3 lines).
patching file dlls/ntdll/loader.c
Hunk #1 succeeded at 87 with fuzz 2 (offset 1 line).
patching file dlls/ntdll/unix/loader.c
patching file dlls/secur32/secur32.c
patching file dlls/winebus.sys/bus_sdl.c
patching file dlls/winex11.drv/window.c
Hunk #1 succeeded at 1052 (offset -4 lines).
patching file dlls/xinput1_3/main.c
Hunk #1 succeeded at 122 with fuzz 2 (offset -2 lines).
Hunk #2 succeeded at 337 (offset -2 lines).
Hunk #3 succeeded at 357 (offset -2 lines).
Hunk #4 succeeded at 453 (offset -2 lines).
Hunk #5 succeeded at 481 (offset -2 lines).
Hunk #6 FAILED at 527.
Hunk #7 FAILED at 538.
Hunk #8 succeeded at 721 with fuzz 2 (offset -16 lines).
Hunk #9 succeeded at 807 (offset -26 lines).
Hunk #10 succeeded at 825 (offset -26 lines).
2 out of 10 hunks FAILED -- saving rejects to file dlls/xinput1_3/main.c.rej
patching file loader/wine.inf.in
Hunk #1 succeeded at 340 with fuzz 2 (offset 5 lines).
patching file programs/winedbg/debugger.h
patching file programs/winedbg/tgt_active.c
patching file programs/winedbg/winedbg.c
daktras420 commented 10 months ago

I have experienced the same issue.. When i try compiling against the valve experimental and experimental bleeding edge. The issue it seems if it am not mistaken is that tue patch is aimed at plain wine. From what i read on github from valve the branch valve is based on plain wine, where valve-experimental and valve-experimental-bleeding-edge are based off wine staging. So two patches are needed one as it currently works for wine-proton-valve and then a second one that works on the staging branch for wine-proton-valve-exp-bleeding-edge and wine-proton-valve-exp. It used to all compile before the patch was included and forced.

xioren commented 10 months ago

Hi @Tk-Glitch I am not sure this should be closed as the fix seems to cause another exception:

../ValveSoftware-winegit/dlls/xinput1_3/main.c:541:17: error: ‘steam_overlay_event’ undeclared (first use in this function)
  541 |     CloseHandle(steam_overlay_event);
      |                 ^~~~~~~~~~~~~~~~~~~
../ValveSoftware-winegit/dlls/xinput1_3/main.c:541:17: note: each undeclared identifier is reported only once for each function it appears in
../ValveSoftware-winegit/dlls/xinput1_3/main.c:542:17: error: ‘steam_keyboard_event’ undeclared (first use in this function)
  542 |     CloseHandle(steam_keyboard_event);
      |                 ^~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:269267: dlls/xinput1_2/x86_64-windows/main.o] Error 1
Tk-Glitch commented 10 months ago

This looks minor. I'll fix that asap.

xioren commented 10 months ago

A little context: Because of the original bug I reverted to using proton_8.0 instead of experimental_8.0 because it would still build. After your fix I got the above exception building proton_8.0 but I just retried building against experimental_8.0 and while it's not done yet, it hasn't crashed with that exception and i'm almost 15 minutes further into the build. So hopefully that's useful information.

edit: confirmed it now builds on experimental_8.0 but not proton_8.0.

Thaodan commented 9 months ago

The fix didn't work.

Hi @Tk-Glitch I am not sure this should be closed as the fix seems to cause another exception:

../ValveSoftware-winegit/dlls/xinput1_3/main.c:541:17: error: ‘steam_overlay_event’ undeclared (first use in this function)
  541 |     CloseHandle(steam_overlay_event);
      |                 ^~~~~~~~~~~~~~~~~~~
../ValveSoftware-winegit/dlls/xinput1_3/main.c:541:17: note: each undeclared identifier is reported only once for each function it appears in
../ValveSoftware-winegit/dlls/xinput1_3/main.c:542:17: error: ‘steam_keyboard_event’ undeclared (first use in this function)
  542 |     CloseHandle(steam_keyboard_event);
      |                 ^~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:269267: dlls/xinput1_2/x86_64-windows/main.o] Error 1

The fix didn't work as mentioned above.

Lumenohr commented 7 months ago

Getting an error when applying the same patch while building valve-exp-bleeding prepare.log

adolfintel commented 7 months ago

Looks like it's broken again

Applying your own patch de-steamify-80-be.mypatch
patching file dlls/advapi32/advapi.c
patching file dlls/dbghelp/dwarf.c
patching file dlls/hidclass.sys/device.c
patching file dlls/hidclass.sys/hid.h
patching file dlls/hidclass.sys/pnp.c
patching file dlls/kernelbase/process.c
Hunk #1 succeeded at 1226 (offset 3 lines).
patching file dlls/ntdll/loader.c
Hunk #1 succeeded at 87 with fuzz 2 (offset 1 line).
patching file dlls/ntdll/unix/loader.c
Hunk #1 succeeded at 774 (offset 1 line).
Hunk #2 succeeded at 2113 (offset 6 lines).
Hunk #3 succeeded at 2125 (offset 6 lines).
Hunk #4 succeeded at 2137 (offset 6 lines).
Hunk #5 succeeded at 2151 (offset 6 lines).
Hunk #6 succeeded at 2159 (offset 6 lines).
patching file dlls/secur32/secur32.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 FAILED at 965.
Hunk #2 FAILED at 1021.
2 out of 2 hunks FAILED -- saving rejects to file dlls/winebus.sys/bus_sdl.c.rej
patching file dlls/winex11.drv/window.c
Hunk #1 succeeded at 1052 (offset -4 lines).
patching file dlls/xinput1_3/main.c
Hunk #1 succeeded at 122 with fuzz 2 (offset -2 lines).
Hunk #2 succeeded at 337 (offset -2 lines).
Hunk #3 succeeded at 357 (offset -2 lines).
Hunk #4 succeeded at 453 (offset -2 lines).
Hunk #5 FAILED at 483.
Hunk #6 succeeded at 562 (offset -2 lines).
Hunk #7 succeeded at 778 with fuzz 2 (offset -16 lines).
Hunk #8 succeeded at 864 (offset -26 lines).
Hunk #9 succeeded at 882 (offset -26 lines).
1 out of 9 hunks FAILED -- saving rejects to file dlls/xinput1_3/main.c.rej
patching file loader/wine.inf.in
Hunk #1 succeeded at 340 with fuzz 2 (offset 5 lines).
patching file programs/winedbg/debugger.h
patching file programs/winedbg/tgt_active.c
patching file programs/winedbg/winedbg.c
Tk-Glitch commented 7 months ago

Was fixed with https://github.com/Frogging-Family/wine-tkg-git/commit/fd23f0bced821b784a55523342f6129636ef47e3 Please git pull for latest changes.

adolfintel commented 7 months ago

This is a clean build, I cloned this repo to an empty folder. Does tkg cache something elsewhere?

Tk-Glitch commented 7 months ago

Did you clone Frogging-Family/wine-tkg-git or Tk-Glitch/PKGBUILDS? The latter will need a pull in respective projects dirs as it's not getting sync'ed on every change (more like every couple weeks/months). If it's indeed a clone of Frogging-Family/wine-tkg-git, the patch applies fine on my end and your failing hunks definitely are what I fixed on that mentioned commit. Unless you're targeting an older proton-exp-be commit?

adolfintel commented 7 months ago

I cloned the repo manually to an empty folder and used the valve-exp-bleeding preset.

From what I can see it pulls valve's version of wine at commit bb66944d9d7a0fc7692f05d4a2db418b468d3021 (HEAD -> proton_8.0, tag: proton-wine-8.0-5c)

That does not seem to be the right commit, it didn't switch to experimental_8.0 nor bleeding-edge.

Tk-Glitch commented 7 months ago

There's no tag set in the preset: https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-profiles/wine-tkg-valve-exp-bleeding.cfg

:thinking:

Spun a build to check:

==> Starting prepare()...
HEAD is now at 9397ebe000d fixup! ntdll: Use kernel soft dirty flags for write watches support.

Looks in line with current bleeding edge: https://github.com/ValveSoftware/wine/tree/9397ebe000d4b7ee49f93a54f506262de63d6cde Also tag is fine: Wine (plain) version: experimental.bleeding.edge.8.0.76225.20240127

Also tested on the non-makepkg path:

branch 'experimental_8.0' set up to track 'origin/experimental_8.0'.
HEAD is now at 9397ebe000d fixup! ntdll: Use kernel soft dirty flags for write watches support.
adolfintel commented 7 months ago

Is there some special behavior in your code for wine-tkg-valve-exp-bleeding.cfg? If I just make a copy of that file with a different name it fails to build

Tk-Glitch commented 7 months ago

That's expected. The filename is the profile "id" and indeed there are specific behavior changes for Valve trees (and even more special handling for bleeding edge).

adolfintel commented 7 months ago

Ah, that explains it, I was making a copy and adding stuff to it.

So what would be the proper way to make a couple of changes to this profile? Do I just modify it?

Tk-Glitch commented 7 months ago

That's fine indeed. That being said, having the profile id behind a variable set in the file might be worth investigating.

adolfintel commented 7 months ago

Maybe you could add a variable like TKG_QUIRKS="valve,experimental". That would make it more obvious that there's special behavior for some presets.