Bug 272710 - emulators/wine: Please update to Wine 8.0.2 for stable and 8.13 for the development option
Summary: emulators/wine: Please update to Wine 8.0.2 for stable and 8.13 for the devel...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on: 271201
Blocks:
  Show dependency treegraph
 
Reported: 2023-07-25 07:19 UTC by doctor
Modified: 2023-12-23 07:27 UTC (History)
8 users (show)

See Also:


Attachments
Draft patch to update emulators/wine to version 8.0.2 (108.92 KB, patch)
2023-08-15 23:01 UTC, Gerald Pfeifer
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description doctor 2023-07-25 07:19:41 UTC
Plese update to Wine 8.0.2 for stable and 8.13 for the development option
Comment 1 Alexander Vereeken freebsd_triage 2023-07-27 18:15:49 UTC
Stable wine 8.0.2 technically works for amd64 alone but the i386 part does not work then anymore.

https://bugs.winehq.org/show_bug.cgi?id=54397
Comment 2 Li-Wen Hsu freebsd_committer freebsd_triage 2023-07-27 18:27:46 UTC
(In reply to Alexander Vereeken from comment #1)
If that's the case, we can copy the current wine or wine-devel to wine7 for i386 users. (I don't think there are so many, but we can keep that for a certain time.) And update wine and wine-devel to 8.
Comment 3 Alexander Vereeken freebsd_triage 2023-07-27 21:28:28 UTC
(In reply to Li-Wen Hsu from comment #2)

Thanks for the suggestion. The idea I had already, but should be in my opinion an emergency solution, should the update hammer still fall without solution. 

The nice maintainer have already commented on this topic in bug 271201 and I am patiently waiting for a response. (I don't want to put pressure or anything like that)

---

i386 itself doesn't have many users that's true but I think the amd64 and i386 together (wow64 feature) is important. 

There are still many amd64 applications behind i386 installation applications, copy protection etc.. and some applications work better in i386 only mode than in amd64.
Comment 4 Gerald Pfeifer freebsd_committer freebsd_triage 2023-07-30 15:11:37 UTC
(In reply to doctor from comment #0)
> Plese update to Wine 8.0.2 for stable and 8.13 for the development option

This is a one line request that means a fair amount of work for a number
of people.

Bugzilla is not really meant as a wish list, but to report bugs that are
reasonably addressable in the context of a port or share patches (that
address bugs or update things otherwise).

I will bite, one last time, but frankly if nobody in FreeBSD-land really
cares about maintaining the Wine ports and has the capacity to do so, 
the outlook for Wine on FreeBSD is not great.
Comment 5 Gerald Pfeifer freebsd_committer freebsd_triage 2023-07-30 15:15:01 UTC
As background, the reason I have not updated emulators/wine to version 8
is that wine-devel has been stuck in the late 7.x stage, its maintainer
has not been able to look into the update for personal reasons, and nobody
else offered the work.

Apart from PR 271201 by yours truly which admittedly received useful comments.
Comment 6 commit-hook freebsd_committer freebsd_triage 2023-07-30 22:00:31 UTC
A commit in branch main references this bug:

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

commit aa30cdd58163b585c63f5319861ff1c72c791349
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2023-07-30 21:57:39 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2023-07-30 21:57:39 +0000

    emulators/wine7: New port, cloning emulators/wine

    Wine 8 has been released late last year and we have not seen
    corresponding updates to wine-devel and the main wine port yet,
    partly because there's unresolved breakage on FreeBSD/i386.

    To unstall the situation, create emulators/wine7 as a clone of
    emulators/wine for those who want/need that version. This will
    allow moving the latter forward.

    PR:             272710, 271201
    Suggested by:   lwhsu

 emulators/Makefile                         |    1 +
 emulators/wine7/Makefile (new)             |  162 ++
 emulators/wine7/distinfo (new)             |    3 +
 emulators/wine7/files/pkg-message.in (new) |   13 +
 emulators/wine7/files/pkg32.sh (new)       |   20 +
 emulators/wine7/files/wine-wow64.sh (new)  |   58 +
 emulators/wine7/files/wine.sh (new)        |   14 +
 emulators/wine7/pkg-descr (new)            |   15 +
 emulators/wine7/pkg-plist (new)            | 3616 ++++++++++++++++++++++++++++
 9 files changed, 3902 insertions(+)
Comment 7 commit-hook freebsd_committer freebsd_triage 2023-08-13 13:29:38 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7b73514fd141265edee67e0d675bc6802990aaaa

commit 7b73514fd141265edee67e0d675bc6802990aaaa
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2023-08-13 13:26:25 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2023-08-13 13:29:15 +0000

    emulators/wine-devel: Update to Wine 8.11

    This includes changes from release candidates of version 8.0 and the
    actual 8.0 release as well as 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8,
    8.9, 8.10, and ultimately 8.11, specifically the following:

     - Bundled vkd3d upgraded to version 1.6.
     - Vulkan and OpenGL thunking optimizations.
     - More support for print processors.
     - Improved joystick control panel.
     - Long types printf format conversion finished.

     - Windows version set to Windows 10 for new prefixes.
     - Many code cleanups that were deferred during code freeze.

     - Better debug information in Wow64 mode.
     - Wow64 thunks in the WPCAP library.
     - Indeo IV50 codec support.
     - Monitor names set from EDID data.

     - Support for the Low Fragmentation Heap.
     - Smard card support using PCSC-Lite. [not enabled]
     - Bundled Zydis library for more correct disassembly.

     - Initial step of the Wayland graphics driver.
     - Cleanups in IME support.
     - A number of test fixes.

     - Bundled vkd3d upgraded to version 1.7.
     - Better error reporting in the IDL compiler.
     - Support for shared Wow64 Classes registry key.
     - More cleanups in IME support.
     - Support for configuring a WinRT dark theme.

     - Bundled math library from Musl libc.
     - Improved spool file support in the PostScript driver.

     - DXBC shader parsing delegated to vkd3d.
     - More spool file improvements in the PostScript driver.

     - More work towards full PE support in the PostScript driver.
     - Initial support for loading ARM64EC modules.
     - More work on IME restructuration.

     - Completion of PE conversion in the PostScript driver.
     - Doppler shift support in DirectSound.
     - GdiPlus performance improvements.

     - All PE->Unix transitions go through the syscall interface.
     - Mouse cursor clipping improvements.
     - Support for virtual memory placeholders.
     - Locale and timezone data updates.

     - More mouse cursor clipping improvements.
     - Support for TLS alerts.
     - Increased available address space in WoW64 mode.

     - Various bug fixes.

    Now configure --without-pcap since the requirements have changed
    since upstream commit 032e8d9c362b881a4213c819d1cc6262f2df4b35 on
    February 7th 2023 and stock FreeBSD does not meet them any longer.

    Finally, Wine 8.x so far does not appear to work on FreeBSD/i386, so
    mark as BROKEN. Still better to progress than being stuck.

    PR:     271201, 272710

 emulators/wine-devel/Makefile                    | 11 ++--
 emulators/wine-devel/distinfo                    |  6 +-
 emulators/wine-devel/files/patch-configure (new) | 12 ++++
 emulators/wine-devel/pkg-plist                   | 79 +++++++++++++++++++++---
 4 files changed, 92 insertions(+), 16 deletions(-)
Comment 8 Gerald Pfeifer freebsd_committer freebsd_triage 2023-08-15 23:01:29 UTC
Created attachment 244134 [details]
Draft patch to update emulators/wine to version 8.0.2

Give this a try if you are interested in updating to Wine 8.0.2.
Comment 9 Gerald Pfeifer freebsd_committer freebsd_triage 2023-09-03 09:07:17 UTC
Bug #273538 now has an update of emulators/wine-devel to 8.14.
Comment 10 commit-hook freebsd_committer freebsd_triage 2023-09-04 21:19:03 UTC
A commit in branch main references this bug:

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

commit bc9917dc5111e22a27b87de2d49b4b1094633ceb
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2023-09-04 21:17:39 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2023-09-04 21:18:18 +0000

    emulators/wine: Update to Wine 8.0.2

    Move from the Wine 7.0 to the Wine 8.0 release series, specifically
    8.0.2 as the second minor release with additional bug fixes.

    This represents a year of upstream development effort and over 8,600
    individual changes. The main achievement is the completion of the
    conversion to PE format:

     - All modules can be built in PE format. This is an important milestone
       on the road to supporting various features such as copy protection,
       32-bit applications on 64-bit hosts, Windows debuggers, x86
       applications on ARM, etc.
     - A special syscall dispatcher is used for PE -> Unix transitions to
       avoid the overhead of a full NT system call. This minimizes the
       performance impact of the new architecture.

    Also WoW64 has seen significant work:

     - WoW64 thunks are implemented for essentially all Unix libraries,
       enabling a 32-bit PE module to call a 64-bit Unix library. Once
       the remaining direct PE/Unix calls have been removed, this allows
       running 32-bit Windows applications without any 32-bit Unix library.
     - When the 32-bit Wine loader isn't found, 32-bit applications are
       started in the new experimental "Windows-like" WoW64 mode (where
       32-bit code runs inside a 64-bit host process). This mode can be
       enabled by building with the '--enable-archs' configure option.
       This is still under development and not yet recommended for general
       use. Applications started in this mode print the warning "starting
       in experimental wow64 mode".

    That said, i386 builds on FreeBSD are currently broken, hence our
    flavor of WoW64 is not available for the time being.

    Other areas of major changes include:

     - The "Light" theme is enabled in the default configuration, which
       provides a more modern look.
     - Graphics drivers, effects and other improvements in Direct2D,
       many optimizations and features around Direct3D.
     - MPEG-1 audio decoder filter for layers 1, 2, and 3.
     - Media Foundation, controller hotplug support, force feedback effect
       support, and further improvements for input devices.
     - Many changes around Unicode support.
     - The ApiSetSchema database is implemented, replacing all the api-ms-*
       forwarding modules. This reduces disk and address space usage (and
       our packaging list).
     - DOS file attributes are persistent, and stored on disk using the
       filesystem's extended attributes, in a format compatible with Samba.
     - JScript related improvements.
     - Various improvements to builtin applications, development tools,
       and the build system.

    The bundled Faudio, LCMS2, libjpeg, libmpg123, libpng, libtiff,
    libxml2, libxslt, and zlib libraries have been updated. The vkd3d
    and LDAP libraries are now bundled in the source tree.  The OpenAL
    library is no longer used.

    LLVM is now a heavy build dependency in addition to GCC.

    Some whitespace changes in the Makefile to sync up with wine-devel
    which diverged via some extra such changes. And loads, loads of
    packaging list changes.

    Extensive release notes are at https://www.winehq.org/announce/8.0 .

    PR:             272710

 emulators/wine/Makefile                    |   55 +-
 emulators/wine/distinfo                    |    6 +-
 emulators/wine/files/patch-configure (new) |   12 +
 emulators/wine/pkg-plist                   | 1651 ++++++----------------------
 4 files changed, 367 insertions(+), 1357 deletions(-)
Comment 11 Gerald Pfeifer freebsd_committer freebsd_triage 2023-09-04 21:30:04 UTC
This closes this "mixed bag" PR, having updated wine-devel and wine
and created wine7.

(On a personal note, doctor@doctor.nl2k.ab.ca, I was ->this<- close to
resolving this issue as "Not A Bug" or "Not Accepted"; see comment #4.)
Comment 12 Anton Saietskii 2023-09-13 13:37:44 UTC
Excuse me, but do I understand correctly that wine now requires llvm + gcc at the same time, and more than that, even non-base llvm version?
Comment 13 Alex S 2023-09-13 21:13:52 UTC
(In reply to Anton Saietskii from comment #12)

> gcc

See bug 231010.

> non-base llvm version?

That's the only compiler available in ports that can produce Windows executables. (That ability is stripped from the base llvm.)
Comment 14 Anton Saietskii 2023-09-13 21:19:49 UTC
(In reply to Alex S from comment #13)

I actually built wine today in poudriere. Seen _both_ ports-clang and ports-gcc compiling different parts of code. Don't get me wrong, but using two different compilers for the same language in a single package seems to be too much. Shouldn't we just use gcc only if llvm causes issues?
Comment 15 commit-hook freebsd_committer freebsd_triage 2023-12-23 07:27:53 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8fdba0f4a3ede84338bd09686c554a7e2fdb2acf

commit 8fdba0f4a3ede84338bd09686c554a7e2fdb2acf
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2023-12-23 06:53:06 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2023-12-23 07:25:53 +0000

    emulators/wine7: Deprecate, to expire 2024-01-29

    We created this port to make up for emulators/wine not providing
    32-bit support nor WoW64 when we moved to Wine 8. Since then both
    have been addressed, one after the other, so time to sunset this
    wine7 port.

    PR:             271201, 272710, 275677

 emulators/wine7/Makefile | 2 ++
 1 file changed, 2 insertions(+)