Bug 266976 - emulators/wine update to stable 7.0 release and bump wine-mono to 7.0.0
Summary: emulators/wine update to stable 7.0 release and bump wine-mono to 7.0.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Gerald Pfeifer
URL: https://www.freshports.org/emulators/...
Keywords: patch
Depends on:
Blocks:
 
Reported: 2022-10-11 20:57 UTC by alt2600
Modified: 2022-10-26 09:27 UTC (History)
3 users (show)

See Also:


Attachments
git-upgrade-wine-7.0-mono-7.0.0.diff (206.19 KB, patch)
2022-10-11 20:57 UTC, alt2600
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description alt2600 2022-10-11 20:57:58 UTC
Created attachment 237222 [details]
git-upgrade-wine-7.0-mono-7.0.0.diff

for your consideration, upgrade wine to 7.0 for better 64bit support, and to be using current stable on winehq

Started from wine-devel 7.0-rc6 ports tree version
- Updated MASTER_SITES to use winehq only as done in wine-devel
- Stripped Created by in Makefile to be inline with current ports cleanup efforts
- Added in ALSA OSS options, and updated pkg-plist to include adapted versions of wine-devel pkg-plist for %%OSS%% and %%ALSA%%% files
- Stripped experimental STAGING option, post- check- custom hooks from Makefile and pkg-plist
- Added ASLR fixes to binaries
- Brought in wine-wow64.sh and pkg-message.in from 7.0-rc6
- Updated wine-mono to 7.0.0 to match version available in 7.0-rc6 time, and the version seemingly used for wine 7.0
- Tested all options to make sure no orphans/plist issues
- Built i386 in poudriere and confirmed 32 bit and 64 bit modes work
-- Left dependency on audio/faudio and textproc/libxml2, not sure if wine 7.0 still needs, but the 7.0-rc6 had them still
-- With new pkg-message.in no longer is message for procfs included, believe this was fixed upstream
-- Placed the %%ALSA%% alphabetically but did not resort pkg-plist, not sure if 7.0-rc6 was sorted prior
Comment 1 Gerald Pfeifer freebsd_committer freebsd_triage 2022-10-14 05:59:51 UTC
Thank you! I've had that update ready for months (literally), tested and
reviewed by others to, alas initially wanted to wait for Wine 7.0.1.

The biggest missing piece is a comprehensive commit message which I will
now focus to create the next few days.
Comment 2 commit-hook freebsd_committer freebsd_triage 2022-10-16 23:25:25 UTC
A commit in branch main references this bug:

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

commit 4e3e9a9363be07def97619a44955157b4ee9ba45
Author:     Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2022-10-16 23:08:03 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2022-10-16 23:24:01 +0000

    emulators/wine: Update to Wine 7.0

    Move from the Wine 6.0 to the Wine 7.0 release series, specifically
    (still) Wine 7.0 there.

    This represents a year of development effort and over 9,100 individual
    changes. It contains a large number of improvements. Areas of major
    changes are:

     - Most modules have been converted to PE format.
     - Better theming support, with a bundled theme for a more modern look.
       All builtin applications support theming, as well as High DPI rendering.
     - Vastly improved HID stack and joystick support.
     - New WoW64 architecture (which supports running a 32-bit Windows
       application inside a 64-bit Unix host process, using thunks to map
       32-bit NT system calls to the 64-bit NTDLL).
     - Direct3D has seen significant improvements.

    Specifically on FreeBSD more low-level system information queries like
    memory and battery status are now supported. And we no longer need to
    refer to /proc and procfs in our installation message.

    The Mono engine is now at version 7.0.0 with quite some changes,

    Packaging changes come on two levels: Firstly, many support libraries
    such as FAudio, GSM, LCMS2, libjpeg, libjxr, libmpg123, libpng, libtiff,
    libxml, libxslt, zlib are now directly bundled in where we used many
    of those via other ports (or completely disabled their use). On the way
    we shed the LIBXSLT and MPG123 options.

    Secondly, the directory structure under lib/ has been completely revamped.

    Update MASTER_SITES to the new winehq.org download site.

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

    PR:             266976

 emulators/wine-mono/Makefile        |    2 +-
 emulators/wine-mono/distinfo        |    6 +-
 emulators/wine/Makefile             |   36 +-
 emulators/wine/distinfo             |    6 +-
 emulators/wine/files/pkg-message.in |    5 -
 emulators/wine/pkg-plist            | 4570 ++++++++++++++++++-----------------
 6 files changed, 2390 insertions(+), 2235 deletions(-)
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2022-10-16 23:33:20 UTC
With the update now in, I went through your patch and have a few questions/
observations:

Why did you set DISTFILES? There's a default setting that works, and
unlike wine-devel (to support STAGING) we don't need to play with that.

Removing WWW= looks like a mistake.

Why the update to CONFLICTS_INSTALL=?

Why the removal of PORTSCOUT= instead of updating it?

And some of the notes in the list of changes like removal of Created by:
do not apply any longer.


Is there anything we should still consider for the current port, something
to add on top of the current status?
Comment 4 Graham Perrin freebsd_committer freebsd_triage 2022-10-17 00:48:28 UTC
Keyword: patch-ready, yes? 


(In reply to Gerald Pfeifer from comment #3)

> Removing WWW= looks like a mistake.

It's present in the Makefile: 

<https://github.com/freebsd/freebsd-ports/blob/986beaaabc71b9e7e29e7e89e0f36405b687216f/emulators/wine/Makefile#L11>

<https://github.com/freebsd/freebsd-ports/blob/b7f05445c00f2625aa19b4154ebcbce5ed2daa52/emulators/wine-mono/Makefile#L11>

I'm slightly surprised that last month's moves of WWW entries didn't gain a mention in UPDATING.
Comment 5 Gerald Pfeifer freebsd_committer freebsd_triage 2022-10-17 07:42:44 UTC
(In reply to Graham Perrin from comment #4)
>> Removing WWW= looks like a mistake.
> It's present in the Makefile: 

I know. :)  The patch in attachment 237222 [details] of this bug removes it again,
hence my observation.
Comment 6 Graham Perrin freebsd_committer freebsd_triage 2022-10-17 07:46:31 UTC
(In reply to Gerald Pfeifer from comment #5)

Thanks! 

My apologies for overlooking the obvious (the patch, which you mentioned in comment #3); I had over-focused on comment #2.
Comment 7 alt2600 2022-10-18 22:06:33 UTC
(In reply to Graham Perrin from comment #6)

not sure how much of my original patch was used, but I can explain potential reasons for things if it was used in large part

WWW= 

was removed because I never started from 6.04's Makefile in my original patch post. I quite honestly forgot about WWW= being moved around. I looked to use 6.04 and tweak, but there was so many hook changes I just worked off of 7.0-rc6 which was before many of those port cleanup efforts.


Why the update to CONFLICTS_INSTALL=?
looks like I missed that one, and royally messed it up in my patch. Not sure how my system even let me build and install this, although it likely would break updating more then a fresh install.

Why the removal of PORTSCOUT= instead of updating it?
didn't realize it was in use and important.
Comment 8 Gerald Pfeifer freebsd_committer freebsd_triage 2022-10-19 06:21:00 UTC
(In reply to alt2600 from comment #7)
> not sure how much of my original patch was used, but I can explain
> potential reasons for things if it was used in large part

Ah, I see, thank you. I used my original patch since that was already
tested and everything, but went through yours to see whether anything
was missing.

I *think* we are good, but if you notice anything please advise.
Comment 9 alt2600 2022-10-19 22:26:45 UTC
(In reply to Gerald Pfeifer from comment #8)

I swapped to the official, and only noticed winecfg caused a prefix update, guessing due to my version still having audio/faudio and textproc/libxml2, and so messing up the OpenAL or whatever 3d sound thing is.

but the official, yours, is running 64bit and 32 bit including PlugY with Diablo 2, so I think things are good. Just wish wine-devel was as happy, but i'll keep it in poudriere so I can periodically test that one. Thanks for finalizing this thing.
Comment 10 Gerald Pfeifer freebsd_committer freebsd_triage 2022-10-26 09:27:59 UTC
Great, thank you alt2600!