Commit Graph

693 Commits

Author SHA1 Message Date
Rene Ladan 0d4ebdd15c Mk/bsd.port.mk: mark 14.3 unsupported
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
2026-07-01 22:34:23 +02:00
Gerald Pfeifer 942473af4d emulators/wine: Add --old option to pkg32.sh for FreeBSD 15
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>
2026-03-08 08:32:56 +00:00
Gerald Pfeifer 475bfe63a3 emulators/wine: Set 32-bit lib path for WoW
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>
2026-02-15 15:37:31 +00:00
Gerald Pfeifer 8205a98493 emulators/wine: Fix up i386-only patch 2026-02-08 00:41:50 +00:00
Gerald Pfeifer 4a093acbda emulators/wine: Update to Wine 11.0
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.
2026-02-07 00:37:01 +00:00
Gerald Pfeifer 0535ec4919 emulators/wine: Streamline things a bit
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.
2025-12-29 20:36:16 +00:00
Gerald Pfeifer af4c612fc3 emulators/wine: Enable Wayland by default 2025-11-14 20:33:17 +00:00
Alexander Vereeken f2573f8049 emulators/wine: Add ffmpeg support with winemdo
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
2025-11-12 22:57:19 +00:00
Gerald Pfeifer 996b93ceb4 emulators/wine: Sort option helpers (and some others)
This sorts option helpers and a few other entries and brings this port
into closer alignment with emulators/wine-devel again after commit
e86886e38b.
2025-10-21 21:54:19 +00:00
Gerald Pfeifer 904382ada0 emulators/wine: Set USE_LDCONFIG unconditionally
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.
2025-10-18 16:39:33 +00:00
Gerald Pfeifer 74b67bc299 emulators/wine: Adjust PORTSCOUT for Wine 10.0 2025-09-07 22:46:38 +00:00
Gerald Pfeifer 037e128a23 emulators/wine: Explicitly configure --without-ffmpeg
This does not affect clean builds (as with Poudriere) and makes
others more consistent and reproducible.
2025-07-09 20:13:53 +00:00
Gerald Pfeifer 497de78408 emulators/wine: Add error handling to WoW 32-bit setup
Abstract ABI_FILE and check for its existence before using it.

On the way change formatting to consume less vertical space.

PR:		278525
2025-07-04 07:45:33 +00:00
Gerald Pfeifer 6da5d9f4e5 emulators/wine: Restore 32-bit builds
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
2025-05-29 10:21:51 +00:00
Gerald Pfeifer f48100735d emulators/wine: Copy, don't move, input for wine.1 man pages
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
2025-05-21 14:20:19 +00:00
Gerald Pfeifer eac9976c93 emulators/wine: Ensure we have wine.1 man pages in all builds
This takes some backports from upstream (which wine-devel has) and
manual installation. Luckily upstream has fully resolved this for
11.0.

PR:		204227
2025-05-18 14:52:31 +00:00
Gerald Pfeifer 0559e889b9 emulators/wine: Include wine.1 man pages in all builds
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]
2025-05-17 19:03:59 +00:00
Alexander Vereeken 69edd1afc0 emulators/wine: Drop --without-odbc configure option
This option has been removed as ODBC gets dynamically loaded now.

https://github.com/wine-mirror/wine/commit/345cd06366e900692266a2571b93f45019f96773

PR:	286384
2025-05-02 12:51:27 +00:00
Gerald Pfeifer 33b0732eb1 emulators/wine: Drop the WINEMAKER option
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.)
2025-04-28 07:37:16 +00:00
Gerald Pfeifer 8ad1a9300a emulators/wine: Add Wayland support
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
2025-04-11 15:36:28 +00:00
Gerald Pfeifer f1a878b718 emulators/wine: Update to Wine 10.0
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.
2025-02-07 20:26:54 +00:00
Gerald Pfeifer 282d4b065b emulators/wine: Fix PORTSCOUT (for Wine 9.0) 2025-01-07 00:56:30 +00:00
Dima Panov 52a92724d0 emulators/wine: mark as PIE_UNSAFE (+)
Reported by:	bulk -t

Approved by:	portmgr (blanket)

Sponsored by:	Future Crew, LLC
2024-12-13 11:22:23 +03:00
Dima Panov 037476fe37 emulators/wine: fix packaging, add missed gstreamer component to plist
Approved by:    portmgr blanket (trivial packaging fix)

Sponsored by:   Future Crew, LLC
2024-11-20 13:28:43 +03:00
Gerald Pfeifer aae763e70c emulators/wine: Update explanation for local patch
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.)
2024-09-09 05:28:28 +00:00
Gerald Pfeifer 4beb321681 emulators/wine: Fix the PE build
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]
2024-09-08 04:53:04 +00:00
Gerald Pfeifer b48acbd6c2 emulators/wine: Remove noop CROSSFLAGS
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.
2024-09-08 04:46:06 +00:00
Gerald Pfeifer 182263cd72 emulators/wine: Also package include/wine/windows/ddk on 32-bit
PR:		280448, 220950
Reported by:	Alexander Vereeken <Alexander88207@protonmail.com>
2024-08-09 06:16:03 +00:00
Gerald Pfeifer e7814d589d emulators/wine: %%WINEARCH%%-windows/mmcndmgr.dll isn't 32-bit only
PR:		280448, 220950
2024-08-05 19:22:54 +00:00
Gerald Pfeifer 33856e566b emulators/wine: Avoid "NtRaiseException Unhandled exception"
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
2024-08-03 10:06:38 +00:00
Gerald Pfeifer b65e6c38fd emulators/wine: Firmly depend on LLVM 15
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]
2024-07-03 12:09:54 +00:00
Gerald Pfeifer 633d97fca5 emulators/wine: Add a trouble shooting note to pkg-message
PR:		279015
2024-07-02 09:03:14 +00:00
Gerald Pfeifer 8b13f6cf51 emulators/wine: Drop GNU_CONFIGURE_MANPREFIX
Its setting is now the global default.
2024-05-17 06:17:26 +00:00
Gerald Pfeifer 07042622f3 emulators/wine: Clean environment for gmake
Backport c9fcc6ef30 from emulators/wine-devel.

PR:		277913
2024-05-12 10:43:15 +00:00
Gerald Pfeifer 3bde6b5aee emulators/wine: Unbreak WoW64 again
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
2024-05-10 07:55:45 +00:00
Alexander Vereeken 78a29f61b9 emulators/wine: Refine WoW64 32-bit ABI determination
PR:		278525
Reported by:	Eduardo C. <idude0407@gmail.com>
Reviewed by:	Alex S <iwtcex@gmail.com>
2024-05-07 05:50:48 +00:00
Gerald Pfeifer 4c1cbffc60 emulators/wine: Update to Wine 9.0
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.
2024-04-07 20:39:48 +00:00
Rene Ladan 7b83f7fdc2 emulators/wine*: do not test for removed llvm10 2024-04-03 17:59:11 +02:00
Nuno Teixeira ad6449aa70 emulators/wine: Move man pages to share/man
Approved by:	portmgr (blanket)
2024-03-07 11:51:23 +00:00
Gerald Pfeifer ef11261971 emulators/wine: Simplify the logic in wine.sh
PR:		275677
Discussed with:	Alex S <iwtcex@gmail.com>
2024-01-31 12:27:21 +00:00
Alexander Vereeken 0f2052c378 emulators/wine: Unbreak WoW64
This is an excerpt of 1f07ec6014 by Alex S <iwtcex@gmail.com> for
emulators/wine-proton.

PR:		275677
2023-12-17 22:59:27 +00:00
Gerald Pfeifer 60fb999049 emulators/wine: Remove BROKEN marker for i386
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
2023-10-29 21:31:51 +00:00
Gerald Pfeifer 8241302dda emulators/wine: Improve configuration for ALSA and OSS
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
2023-10-24 22:16:18 +00:00
Gerald Pfeifer dc3c11a883 emulators/wine: Default to LLVM 15 (instead of 10 or 11)
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.
2023-09-07 11:55:19 +00:00
Gerald Pfeifer bc9917dc51 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
2023-09-04 21:18:18 +00:00
Alexander Vereeken 215305d603 emulators/wine: Cover alsa-lib in LD_32_LIBMAP
Ensure the ALSA run-time portions are found under WoW64.

PR:		268164
2023-08-27 21:19:15 +00:00
Gerald Pfeifer 06e0feb25f emulators/wine: Switch the default from OSS to ALSA
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
2023-08-27 21:16:32 +00:00
Alexander Vereeken 3a2594ed6f emulators/wine: Fix ALSA run-time dependency
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
2023-08-18 21:57:12 +00:00
Alexander Vereeken a26844393b emulators/wine: Add dependency on alsa-plugins
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
2023-08-16 11:17:32 +00:00
Dima Panov 98ea9470f4 emulators/wine: fix packaging with ALSA enabled
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
2023-07-25 13:04:30 +03:00