all: drop supoprt for FreeBSD 14.3
While here clean up some leftovers from FreeBSD 13
Reviewed by: adamw, jbeich, kirill_varnakov.com, saheed, sunpoet
Approved by: portmgr (implicit)
Differential Revision: https://reviews.freebsd.org/D57282
WoW on FreeBSD is a hack, alas the best option we've got right now.
With FreeBSD 15 dropping 32-bit packages, allow for those from
FreeBSD 14 to be used.
PR: 293073, 291328
Suggested by: Alexander Vereeken <Alexander88207@protonmail.com>
This avoids failures like
wine: could not load ntdll.so: Shared object "libhwloc.so.15" not found,
required by "ntdll.so"
PR: 293179
Submitted by: Zane C. Bowers-Hadley <vvelox@vvelox.net>
Reviewed by: Alexander Vereeken <Alexander88207@protonmail.com>
Move from the Wine 10.0 release series to Wine 11.0 after another year
of upstream development with over 6300 individual changes and 600 fixes.
The new WoW64 architecture is complete (we don't leverage it yet, though).
Other changes include:
- The OSMesa dependency is removed, and OpenGL bitmap rendering is
implemented with the hardware accelerated OpenGL runtime.
- Many more conversions between various pixel formats are supported
in WindowsCodecs.
- Exclusive fullscreen mode is supported, and D3D fullscreen mode is
improved, especially improving older DDraw games.
- Clipboard support and input methods are implemented in the Wayland
driver.
- Various improvements to D3DX 9, 10, and 11, input devices and
multimedia.
The LLVM Compiler-RT runtime library version 8.0.1 is bundled, and used
when building modules in MSVC mode. Vkd3d (1.18), Faudio (25.12),
FluidSynth (2.4.2), LCMS2 (2.17), LibMPG123 (1.33.0), LibPng (1.6.51),
LibTiff (4.7.1), LibXml2 (2.12.10), and LibXslt (1.1.43) have been
updated to new upstream versions.
And devel/hwloc2 is a new dependency (specifically on FreeBSD) to get
CPU and cache topologies.
Extensive release notes are at https://www.winehq.org/announce/11.0 .
In terms of packaging, add a comment on the order of OPTIONS_DEFINE,
drop the backports and hacks we added to install all man pages including
dropping files/patch-man.
Adjust files/patch-dlls_ntdll_unix_loader.c; drop files/patch-configure.
Set CONFIGURE_ARGS, BINARY_ALIAS, and EXTRA_PATCHES using plain
assignment (=) instead of := since we do not have child ports any
longer.
On the way tweak white spaces around OPTIONS to be consistent with
the wine-devel port.
This (mostly) backports commit 22ee425d9a from emulators/wine-devel.
It fixes issues where cutscene will just hang indefinitely when using
gstreamer.
Once build with ffmpeg, it can be activated by setting the DWORD value
DisableGstByteStreamHandler = 1
in the HKCU\Software\Wine\MediaFoundation registry key.
The default is to use gstreamer, so if the user does not change the
registry key, this should not change much.
PR: 290842
Since removing emulators/i386-wine with commit 056135a38e in 2021
we don't need to account for USE_LDCONFIG32 any longer and can
set USE_LDCONFIG unconditionally.
We need the same source tree for 32-bit as for 64-bit builds for
files/patch-man not to break things.
Also revert f48100735d which was harmless, alas not helpful.
PR: 204227
This did not show up in my testing of eac9976c93 nor the original
reporter, alas there were now two pkg-fallout@ notifications which
hints at a potential timing issue, so leave the man pages also at
their old locations in the source tree, i.e., copy instead of move.
PR: 204227
Originally [1] these were only available for 32-bit builds, which
changed since.
This is a backport of 0d45588eb7 from emulators/wine-devel.
PR: 204227 [1]
winemaker is more of an esotheric tool for developers porting software,
not users. Droping the option, which was never on by default, simplifies
the port. My upstream commit 42b6f19678 adds a note on FreeBSD.
(This backports commit d9f4097394 from emulators/wine-devel.)
This backports commits cb6e55988b6fc6 and 2922123124 from
emulators/wine-devel, just sorts in additions a bit more logically.
Wayland support is not on by default (yet).
PR: 282825
Move from the Wine 9.0 release series to Wine 10.0 after another year
of upstream development and over 6000 individual changes.
Main highlights include high-DPI scaling support and the new ARM64EC
architecture (which we don't enabled yet).
Other changes include:
- A new Desktop Control Panel applet "desk.cpl" to inspect and
modify the display configuration.
- Display settings are restored to the default if a process crashes
without restoring them properly.
- D3DX 9 supports many more bump-map and palettized formats, saving
palettized surfaces to DDS files, mipmap generation when loading
volume texture files, and reading 48-bit and 64-bit PNG files.
- Touchscreen input and events are supported with the X11 backend.
- Locale data is generated from the Unicode CLDR database version 46.
The kaa-UZ, lld-IT, ltg-LV, and mhn-IT locales are supported.
- Improvements to JavaScript, MSHTML, and builtin applications.
- And many more
The Capstone library 5.0.3 is now bundled. Vkd3d (1.14),
Faudio (24.10), FluidSynth (2.4.0), LDAP (2.5.18), LCMS2 (2.16),
LibJpeg (9f), LibMPG123 (1.32.9), LibPng (1.6.44), LibTiff (4.7.0),
LibXml2 (2.12.8), LibXslt (1.1.42) and Zlib (1.3.1) have been updated.
Extensive release notes are at https://www.winehq.org/announce/10.0 .
files/patch-configure and files/patch-dlls_ntdll_unix_loader.c needed
some refresh; files/patch-include_wine_asm.h was addressed upstream
and can be dropped.
Finally, we now build with the new option --without-odbc.
files/patch-include_wine_asm.h has now gone upstream in a somewhat
more expansive form. Note to drop our version when upgrading. (The
upstream patch does not directly apply to Wine 9.0.)
This requires our devel/llvm17 or later ports which bring full header
files. [1]
It has major impact on how this port is built and the packaging list,
so bump PORTREVISION.
PR: 280448, 274542 [1], 279677 [1]
A bogus, but harmless since a noop, setting of CROSSFLAGS snuck in
with revision bc9917dc51 when updating from Wine 7.0.2 to 8.0.2.
The directory it points do does not exist, so simply remove that
setting.
This backports
commit ba5653b298
Author: Gerald Pfeifer <gerald@FreeBSD.org>
Date: Mon Jul 29 21:47:34 2024 +0000
from emulators/wine-devel.
Users have been reporting a number of cases of the following error:
002c:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0x6ffffff8b2b7
0024:err:seh:NtRaiseException Unhandled exception code c0000005 flags 0 addr 0
PR: 279927, 280000
Our devel/llvm18 and devel/llvm17 ports (with commits c56fde6514 and
b21e6b4de1, respectively) now provide C99 include files.[1] This is
a positive and fixes a long standing issue. It significantly changes
what Wine builds, though. For emulators/wine-devel we moved to the new
world order already; for emulators/wine remain a bit more conservative
and stay with status quo ante by firmly using LLVM 15.
For most users this won't make any difference since so far we have
been using LLVM_DEFAULT which currently stands at ... 15.
On the way use the new USES=llvm facility instead of doing things
more manually.
PR: 279677, 274542 [1]
Restore files/patch-dlls_ntdll_unix_loader.c which we "lost" with the
update to Wine 9.0 by means of an updated version based on a version
for emulators/wine-devel by Alex S <iwtcex@gmail.com> in PR 278525.
PR: 278427
Move from Wine 8.0.2 and the Wine 8.0 release series to Wine 9.0 which
represents another year of upstream development and over 7000 individual
changes.
Touted highlights include the new WoW64 architecture and an experimental
Wayland driver - neither of which upstream nor us have enabled yet.
Other areas of major changes include:
- The PostScript driver is reimplemented to work from Windows-format
spool files and avoid any direct calls from the Unix side.
- The Vulkan driver supports up to version 1.3.272 of the Vulkan spec.
- A number of GdiPlus functions are optimized for better graphics
performance and quite some work on Direct3D.
- The Windows Media Video (WMV) decoder DirectX Media Object (DMO),
DirectShow Audio Capture filter, and DirectShow MPEG‑1 Video Decoder
filter are implemented.
- DirectInput action maps are implemented, improving compatibility
with many old games that use this to map controller inputs to
in-game actions.
- URL/URI protocol associations are exported as URL handlers to the
FreeBSD desktop.
- Monitor information like name and model id are retrieved from the
physical monitor's Extended Display Identification Data (EDID).
- Internationalization work, new timezone database (2023c), 15.1.0
of the Unicode Standard.
- The default Windows version for new prefixes is set to Windows 10.
- Address space layout randomization (ASLR) is supported for modern
PE binaries, to avoid issues with address space conflicts.
FluidSynth (2.3.3), Musl (1.2.3), and Zydis (4.0.0) are now bundled
and several bundled libraries have been updated: Vkd3d (1.10),
Faudio (23.12), LDAP (2.5.16), LCMS2 (2.15), LibMPG123 (1.32.2),
LibPng (1.6.40), LibTiff (4.6.0), LibXml2 (2.11.5), LibXslt (1.1.38),
Zlib (1.3).
Extensive release notes are at https://www.winehq.org/announce/9.0 .
We now explicitly build --without-pcap, --without-pcsclite, and
--without-wayland and enable gstreamer support only when ALSA or
OSS are enabled.
And we include files/extra-patch-tools-winebuild-res32 to work
around intermittent build problems on i386 and have to drop
files/patch-dlls_ntdll_unix_loader.c which no longer applies.
emulators/wine8 is available for anyone needing that previous version.
It appears the original reason to mark version 8.0.2 as BROKEN on
i386 when we upgraded from version 7.0.2 was a false positive. The
respective code got into upstream after the branch point.
PR: 274566
Use ALSA_CONFIGURE_WITH and OSS_CONFIGURE_WITH instead of the
ALSA_CONFIGURE_ON and OSS_CONFIGURE_ON forms.
This properly handles the case where neither the ALSA nor OSS option
are set. It's more resilient to future changes. And shorter.
(This back ports 944eff5cfa from the wine-devel port.)
PR: 273987
If the user has set the default version of LLVM to 10 or 11, use
LLVM 15 instead (rather than LLVM 12 as before). LLVM 15 is the
current default in ports, so one less version to install in case.
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
ALSA has been the default on Linux for ages and is what the
majority of upstream Wine developers use. More importantly,
though, it appears newer versions of Wine aren't actually
quite working with OSS. So, switch the default over to ALSA.
Bump PORTREVISION.
PR: 268164
The form libfoo.so:category/port only works for LIB_DEPENDS; for
RUN_DEPENDS we need to depend on the port as such. This fixes up
commit a26844393b.
Bump PORTREVSION.
PR: 273137
When using the ALSA option (which is not the default) audio did not
worke - no audio device appeared for playing and recording and the
following message appeared:
ALSA lib dlmisc.c:285:(snd_dlobj_cache_get0) Cannot open shared
library /usr/local/lib/alsa-lib/libasound_module_pcm_oss.so
Providing alsa-plugins at run time addresses this.
Bump PORTREVSION accordingly.
PR: 273137
When ALSA option is selected, Wine build corresponded drivers
but they are missing in plist and thus missed in package
Bump PORTREVISION to force rebuild package to include missed drivers
Reported by: poudriere bulk -t
Approved by: portmgr blanket
Sponsored by: Serenity Cybersecurity, LLC