Created attachment 150292 [details] patch-wine-devel.diff General: - Add NLS option (set by default). - Add desktop-file-utils dependency. - Pass --without-{gettexpo,osmesa}. X11 option: - Use --with-{cms,jpeg,png}. - Remove dependency on libXpm. COMPHOLIO option: - Add libtxc_dxtn to dependencies when X11 option is on. - Explicitly disable pulseaudio. - Fix shebang in tools/make_requests (/usr/bin/perl). - Fix check-plist.
Auto-assigned to maintainer gerald@FreeBSD.org
A commit references this bug: Author: gerald Date: Mon Dec 22 00:18:44 UTC 2014 New revision: 375204 URL: https://svnweb.freebsd.org/changeset/ports/375204 Log: Add USES=desktop-file-utils as suggested by stage-qa. [1][2] Adjust dependency on emulators/wine-mono-devel to recent update there. Configure --with-cms, --with-jpeg, and --with-png when X11 is set. [2] Fix pkg-plist when COMPHOLIO is set. [2] PR: 195903 [1], 195765 [2] Submitted by: amdmi3 [1], Andriy Voskoboinyk <s3erios@gmail.com> [2] Changes: head/emulators/wine-devel/Makefile head/emulators/wine-devel/pkg-plist
Thank you for reporting several issues (even if implicitly) and the patch. As you see I have applied several of these proposed changes, but not all (yet). Part of this is that the changes did not come with rationale, the Why instead of just the How. In several cases this was evident, but not in all, and that makes such a conglomerate of changes hard to process. > - Add NLS option (set by default). > - Pass --without-{gettexpo,osmesa}. Can you elaborate a bit more? > - Remove dependency on libXpm. Also here? > COMPHOLIO option: > - Add libtxc_dxtn to dependencies when X11 option is on. > - Explicitly disable pulseaudio. And for these two? For example, why disable pulseaudio only for the COMPHOLIO case? Why the addition of libtxc_dxtn?
(In reply to Gerald Pfeifer from comment #3) > > - Add NLS option (set by default). > > - Pass --without-{gettexpo,osmesa}. > > Can you elaborate a bit more? NLS option adds support for translated wine messages. gettextpo configure option adds support for PO files into wmc / wrc (and dependency to gettext-tools at runtime) - not sure if that needed. About OSMesa - it was not used before, so --without-osmesa just fixes warning and removes implicit dependency on it. > > - Remove dependency on libXpm. > > Also here? Commit 18e4b5e293cdbb83197fd1427cdd4e42314c831b says "We no longer need libXpm." Also, there is no references to it in the source tree (except programs/winedbg/README). > > COMPHOLIO option: > > - Add libtxc_dxtn to dependencies when X11 option is on. > > - Explicitly disable pulseaudio. > > And for these two? > > For example, why disable pulseaudio only for the COMPHOLIO case? There is no pulseaudio option (and support) in the main tree (except some ALSA workarounds). > Why the addition of libtxc_dxtn? COMPHOLIO includes few fixes, which are enabled with this option + libtxc_dxtn is used via libGL for some games.
A commit references this bug: Author: gerald Date: Wed Dec 24 10:00:12 UTC 2014 New revision: 375427 URL: https://svnweb.freebsd.org/changeset/ports/375427 Log: Update to Wine 1.7.33. This includes the following changes: - Support for copy/paste commands in MSHTML. - Some more font support in DirectWrite. - Better handling for loss of focus in Direct3D windows. - Several more API Sets DLLs. - Various bug fixes. Configure with --without-gettextpo and --without-osmesa. [1] Break out items in those lines of CONFIGURE_ARGS touched anyway, one item per line, to make this part easier to compare with emulators/wine. Add tools/make_requests to SHEBANG_FILES. [1] No longer use XORG=xpm. This has been removed with upstream commit 18e4b5e293cdbb83197fd1427cdd4e42314c831b eons ago. [1] Configure --without-pulse in the COMPHOLIO case (which is the one adding support for Pulseaudio to begin with). [1] PR: 195765 [1] Submitted by: Andriy Voskoboinyk <s3erios@gmail.com> [1] Changes: head/emulators/wine-devel/Makefile head/emulators/wine-devel/distinfo head/emulators/wine-devel/pkg-plist
Thanks for the additional input and feedback, Andriy, on top of the original patch. I know committed nearly all proposed changes. The NLS option I'd prefer not to pursue at this point, and similarly libtxc_dxtn in the context of the COMPHOLIO option. There are simply to many variables right now, and COMPHOLIO really should merge more (and more) with upstream Wine, it's becoming a bit of a burden, also in terms of testing. So, for now I am going to mark this resolved, though in parallel I am already testing a backport of the remaining changes to the emulators/wine port.
A commit references this bug: Author: gerald Date: Fri Dec 26 05:24:32 UTC 2014 New revision: 375616 URL: https://svnweb.freebsd.org/changeset/ports/375616 Log: Sync a number of changes from emulators/wine-devel: Introduce a new option X11, on by default. On the way add --with-x, --with-cms, --with-freetype, --with-jpeg, --with-png and --with-xrender to CONFIGURE_ARGS that had been missing before. Always configure --without-gettextpo and --without-osmesa. [1] No long configure with bogus --without-xcomposite (since we have had USE_XORG=xcomposite for a while). Add tools/make_requests to SHEBANG_FILES. [1] No longer use XORG=xpm. This has been removed with upstream commit 18e4b5e293cdbb83197fd1427cdd4e42314c831b eons ago. [1] Sort DOCS alphabetically in OPTIONS_DEFINE. PR: 195765 [1] Submitted by: Andriy Voskoboinyk <s3erios@gmail.com> [1] Changes: head/emulators/wine/Makefile head/emulators/wine/pkg-plist
(In reply to Gerald Pfeifer from comment #6) > Thanks for the additional input and feedback, Andriy, on top of the > original patch. > > I know committed nearly all proposed changes. The NLS option I'd > prefer not to pursue at this point, and similarly libtxc_dxtn in > the context of the COMPHOLIO option. There are simply to many > variables right now, and COMPHOLIO really should merge more (and > more) with upstream Wine, it's becoming a bit of a burden, also > in terms of testing. I am from the Wine-Staging/compholio team and would like to comment on that: At the beginning the compholio patchset was only for Pipelight/Silverlight support. As accounced some time ago, we decided that it doesn't make sense to provide a different wine version for every app, and renamed our repo to "Wine Staging" - we now don't focus on a single app anymore, but instead try to improve behaviour for a lot of different apps/games. We also announced and discussed our Wine Staging idea with upstream Wine developers, and mostly got positive feedback. As you can see in our changelog ( https://github.com/wine-compholio/wine-staging/blob/master/debian/changelog ), we get a bunch of patches upstream between each release (search for "accepted upstream" ). Since the last release of 1.7.33 for example about 12 patches or patchsets. Nevertheless, we are a very small team, and don't have the capacities to work on all patchsets at the same time, which means that we will probably never get everything upstream. We are creating new patches faster than they are accepted. ;) Besides that Wine is also sometimes very picky. Lets take Erich E. Hoovers patchset for ACL support for example. It was rejected upstream, but not because of any error - Wine fears that it might probably not be the final solution, and prefers to have no support at all, than functionality which might change in the future. Other example is the pixelformat regression (about 10 bugs). Instead of accepting either the fix or reverting the regression, upstream waits for "perfect" solution which probably doesn't even exist. By the way, the patch which caused the regression was not even supposed to fix any bugs, it was just for a theoretical issue which has no practical disadvantages. Its unlikely that our patchset will be fully upstream anytime in the near future. Nevertheless, some other distros like Fedora decided to switch to Wine Staging as the default Wine version, to avoid maintaining the same project two times. ;) > > So, for now I am going to mark this resolved, though in parallel > I am already testing a backport of the remaining changes to the > emulators/wine port.
A commit references this bug: Author: gerald Date: Wed Nov 15 13:27:11 UTC 2017 New revision: 454242 URL: https://svnweb.freebsd.org/changeset/ports/454242 Log: Update to Wine 2.21. This includes the following changes: - Still more metafile support in GdiPlus. - Indirect draws support in Direct 3D. - Services fixes on WoW64. - Better DPI scaling in the Shell Explorer. - Various bug fixes. On the way, generally disable PulseAudio support, not just for the Wine Staging case (where this originally only existed). [1] Talking about Wine Staging, mark that (via the STAGING option, and hence the wine-staging port as well) as BROKEN once again; that patchset still is not available yet, and we cannot wait forever. PR: 195765 [1] Reported by: dbn [1] Changes: head/emulators/wine-devel/Makefile head/emulators/wine-devel/distinfo head/emulators/wine-devel/pkg-plist
A commit references this bug: Author: gerald Date: Thu Jan 11 23:43:22 UTC 2018 New revision: 458802 URL: https://svnweb.freebsd.org/changeset/ports/458802 Log: Backport two configure-related changes from emulators/wine-devel. This is partly to sync wine and wine-devel as closely as possible before the pending new major release of Wine, partly to make builds more reproducible outside of a strict build environment (there should be no change for "pure" builds). r454242 | gerald | 2017-11-15 [G]enerally disable PulseAudio support, not just for the Wine Staging case (where this originally only existed). [1] r458393 | gerald | 2018-01-08 Configure --without-udev since FreeBSD does not feature udev support as such. (This should not be a practical change, but makes this explicit and also avoids a configure warning.) PR: 195765 [1] Reported by: dbn [1] Changes: head/emulators/wine/Makefile