1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-21 08:42:23 +00:00
Commit Graph

608 Commits

Author SHA1 Message Date
Gerald Pfeifer
7758a5695f emulators/wine: Pare down pkg-message 2021-10-22 05:49:32 +00:00
Gerald Pfeifer
1fce6b5d7d emulators/wine: Merge the VKD3D option into X11
Back port a26036d024 from the wine-devel
port (and integrate 8189a2a276):

  Vulkan and vkd3d have few additional dependencies on top of OpenGL
  (via Mesa) so fold them into the general X11 switch.

  This further reduces the number of options in this port.

PR:		258375
2021-10-21 06:00:17 +00:00
Gerald Pfeifer
c4123af461 emulators/wine: Make GECKO_RUN_DEPENDS more flexible
Back port 799f2a3769 from the wine-devel
port:

  Simplify GECKO_RUN_DEPENDS along the lines of what we did with
  MONO_RUN_DEPENDS in 996345a04d some
  months ago.

  That way updates of that other port won't require adjustments here
  any longer while the system becomes more resilient.
2021-10-18 05:30:46 +00:00
Gerald Pfeifer
e5b4334250 emulators/wine: Unconditionally use SDL
Back port commit 3f4627fc27 from the
wine-devel port:

SDL2 is indirectly pulled in via our (unconditional) FAudio dependency
anyway, so always use it, remove the SDL option, and simplify the port
accordingly.

PR:		258375
2021-10-17 16:28:05 +00:00
Gerald Pfeifer
05382993a1 emulators/wine: Enable OPENAL by default
This mirrors commit 7846849011 to
emulators/wine-devel.

PR:		258375
2021-10-03 06:59:51 +00:00
Gerald Pfeifer
67eda602ca emulators/wine: Merge the VULKAN option into VKD3D
This back ports 3d5484b928 and
5a1f2db457 from emulators/wine-devel:

When Wine gained support for the Vulkan API and D3D support via
Vulkan we added two options (both off by default): VULKAN and
VKD3D.

Simplify things, in particular also from a user perspective, by only
keeping the VKD3D option which now subsumes the former VULKAN option
(and hence Vulkan API support).

No change in defaults - yet.

On the way adjust CONFIGURE_ARGS to only feature on option per line,
which was mostly the case already anyway.

PR:		258375
2021-10-02 07:02:18 +00:00
Bernhard Froehlich
24e18a2a80
emulators/wine: Add CPE information
Approved by:	portmgr (blanket)
2021-09-08 20:53:39 +00:00
Gerald Pfeifer
3f3a026707 emulators/wine: XAudio2 no longer depends on OpenAL
Since upstream commit 3e390b1aafff47df63376a8ca4293c515d74f4ba on
2019-02-20 XAudio2 uses FAudio (which already is an unconditional
dependency) and no longer depends on OpenAL, so adjust the packing
list accordingly. [1]

We did not detect this via regular testing due to false negatives
in Mk/Scripts/check-stagedir.sh in the presence of %%OPTION%%s in
pkg-plist. [2]

PR:		257651 [1], 220950 [2]
Submitted by: 	Alex S <iwtcex@gmail.com> [1]
2021-08-10 07:43:27 +00:00
Gerald Pfeifer
dc73fd607f emulators/wine: Make the dependency on wine-mono generic
Instead of hard coding the actual version number use a generic
dependency on simply the port. This makes maintenance easier and
reduces the chance for mistakes.

(We have been using this in emulators/wine-devel for some four
months already since 996345a04d .)

PR:		257630
2021-08-07 10:43:01 +00:00
Gerald Pfeifer
1b5885c463 emulators/wine: Move the new scripts into files/ 2021-07-26 23:50:55 +00:00
Gerald Pfeifer
ad15b0e748 emulators/wine: Fix up pkg32.sh
In my original commit I missed the last line actually invoking pkg.
Fix this up and add a comment above.

PR:		257284
Reported by:	Alex S <iwtcex@gmail.com>
2021-07-26 09:56:08 +00:00
Alex S
1d2af6e089 emulators/wine: Invoke with LD_BIND_NOW and revampe WoW
Wine 6.0 and later need LD_BIND_NOW / LD_32_BIND_NOW on FreeBSD,
cf. https://bugs.winehq.org/show_bug.cgi?id=50257 and
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252307
so move the actual binaries to wine64.bin / wine.bin and invoke
them via a script that does those settings.

Also revamp the WoW handling/packging which combines 32-bit/i386
Wine into 64-bit/amd64 Wine.

Submitted by: 	Alex S <iwtcex@gmail.com>
PR:		257284, 252307
2021-07-26 09:10:27 +00:00
Gerald Pfeifer
dba96eb87f emulators/wine: Update to Wine 6.0.1
Move from the Wine 5.0 release serious to the Wine 6.0 series and
specifically Wine 6.0.1.

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

 - Core modules in PE format.
 - Vulkan backend for WineD3D.
 - DirectShow and Media Foundation support.
 - Text console redesign.

In terms of packaging changes are moderate this time:

 - As in case of 8c03aa8bb1 which has
   sat with wine-devel for eight months remove
   files/patch-dlls_kernel32_Makefile.in which is not needed any longer.

 - Our special dependency emulators/wine-gecko goes to version 2.47.2
   and emulators/wine-mono to version 5.1.1.

 - The GLU library is not used any longer.

Extensive release notes are at https://www.winehq.org/announce/6.0
and https://www.winehq.org/announce/6.0.1 .

PR:		257284
2021-07-26 08:49:53 +00:00
Gerald Pfeifer
659ba57bb6 emulators/wine: Update to Wine 5.0.5
This (only) fixes the regression I found and reported against
Wine 5.0.4, obsoleting our temporary patch files/patch-dlls_qcap_v4l.c.
2021-07-26 06:44:19 +00:00
Mathieu Arnold
305f148f48
Remove # $FreeBSD$ from Makefiles. 2021-04-06 16:31:07 +02:00
Gerald Pfeifer
ccd4657f7c The update to Wine 5.0.4 brought a potential build problem depending
on options chosen and packages installed (or not).

Temporarily add a patch files/patch-dlls_qcap_v4l.c to resolve problems
where v4l (multimedia/libv4l) is used when present, even if explicitly
disabled during ./configure.

PR:		254601
Submitted by:	Felix Palmen <felix@palmen-it.de>
2021-03-29 22:50:27 +00:00
Gerald Pfeifer
0ff2e5f593 Update to the Wine 5.0.4 maintenance release which fixes some 67 bugs. 2021-03-26 06:55:45 +00:00
Gerald Pfeifer
2e9201abb6 Remove conflicts with wine-staging-[0-9]* and i386-wine-staging-[0-9]*
which have not existed for years.
2021-03-07 08:19:47 +00:00
Baptiste Daroussin
de47ffe65c Remove dependency on libhal it is going to be removed from the ports tree 2021-02-08 09:48:18 +00:00
Gerald Pfeifer
5ba7b97da6 www.winehq.org now defaults to https; adjust all URLs. 2021-01-10 12:06:29 +00:00
Gerald Pfeifer
aa16c2fe66 Remove the GCC option. which has been the default all along, and simply
use GCC.

This avoids troubles for users disabling the option and then encountering
failures without knowing how to go about that. (And there is not much one
can even do given upstream focuses on GCC.)

PR:		242202
2021-01-05 14:26:13 +00:00
Gerald Pfeifer
948f427f7e Back port r556564 | gerald | 2020-11-29 from emulators/wine-devel:
Wine is now able to use mingw-w64 to build components. When mingw-w64
  is installed on FreeBSD, users might inadvertedly use that when we have
  not set up things properly yet (and it probably should be an option to
  choose, at least initially). For example, mingw-w64 produces .dll files
  instead of the current .dll.so files, breaking pkg-plist.

  So for now explicitly disable the use of mingw-w64. In a next step,
  once mingw-w64 is available, we probably should make this an option.

PR:		237213
Reported by:	Damjan Jovanovic <damjan.jov@gmail.com>
MFH:		2020Q4 (blanket: build issue)
2020-12-25 12:16:27 +00:00
Gerald Pfeifer
2c6717a777 Back port r551487 | gerald | 2020-10-05 from emulators/wine-devel:
Add an option SDL that uses SDL 2, a cross-platform multimedia development
  API which can be useful particularly when it comes to supporting games.
  This is off by default for now in alignment with the status quo.

Submitted by:	Alex S <iwtcex@gmail.com>
PR:		249869
2020-12-01 21:38:06 +00:00
Gerald Pfeifer
7cdd015596 Update to the Wine 5.0.3 maintenance release which fixes some 44 bugs
and adds where.exe and whoami.exe.
2020-11-13 20:16:52 +00:00
Gerald Pfeifer
728657aaf1 Backport revision r550190 from emulators/wine-devel:
No longer hack tools/wineapploader.in to account for wine64 vs wine.

  Since upstream commit
https://source.winehq.org/git/wine.git/commitdiff/57f9c33c08782399d6729bc58b
68d73812560638
  this hasn't been necessary any longer and it did actually break things
  afterwards by replacing wine64 with wine6464.

PR:		249868
Submitted by:	Alex S <iwtcex@gmail.com>
2020-10-01 19:53:49 +00:00
Gerald Pfeifer
17c98f0d7a Update to the Wine 5.0.2 maintenance release which fixes some 46 bugs. 2020-08-08 12:29:03 +00:00
Gerald Pfeifer
fad449e143 Backport r540756 | gerald | 2020-06-29 from emulators/wine-devel:
Explicitly configure --without-usb. There does not appear to be a way
  for the configure test to pass on FreeBSD right now (even with extra
  ports available), so this simply makes this explicit and avoids a
  warning from configure.

MFH:		2020Q3 (blanket: missing dependency)
2020-07-16 11:18:52 +00:00
Gerald Pfeifer
0359fd8962 Update to the Wine 5.0.1 maintenance release.
This adds some timezones and fixes some 37 bugs.

Plus it facilitates compilation with GCC 10. [1]

PR:		246700 [1]
2020-06-03 17:17:26 +00:00
Gerald Pfeifer
30eeca9b06 Backport r534205 | gerald | 2020-05-06 from emulators/wine-devel:
Push USES=pkgconfig to the global level instead just contingent on the
  VKD3D option.

  This makes a real difference for the GNUTLS option (on by default) and
  others.  Accordingly bump PORTREVISION.

Reported by:	Benny Goemans <benny.goemans@belgacom.net>
MFH:		2020Q2 (blanket: missing dependency)
2020-05-19 07:09:15 +00:00
Gerald Pfeifer
0bf3a776b1 Explicitly configure --without-inotify so that the presence of the
devel/libinotify port does not pull in an implicit dependency that
is not tracked properly.

Reported by:	Andy Mender <andymenderunix@gmail.com>
PR:		245172
MFH:		2020Q2 (blanket: missing dependency)
2020-05-16 15:35:20 +00:00
Gerald Pfeifer
fcfb7001fa Backport r530401 | gerald | 2020-04-02 from our wine-devel companion:
Explicitly configure --without-unwind so that the presence of the
  devel/libunwind port does not pull in an implicit dependency that
  is not tracked properly.

Reported by:	Andy Mender <andymenderunix@gmail.com>
PR:		245172
2020-04-24 21:28:22 +00:00
Lorenzo Salvadore
fd56f3db80 emulators/wine: Change tested variable for master port detection
Forward r529132 from emulators/wine-devel.

Approved by:	gerald (maintainer, mentor)
Differential Revision:	https://reviews.freebsd.org/D24262
2020-04-03 21:40:00 +00:00
Lorenzo Salvadore
9bdd8e871b emulators/i386-wine: Use standard ports infrastructure for ARCH
This commit is the analogous for i386-wine of r528249 that concerns
emulators/i386-wine-devel.

Until now i386-wine defined its own ARCH variable and manually included
Makefile.i386 for i386 systems and Makefile.inc for amd64 systems. This
commit makes use of the standard ARCH variable and renames Makefile.inc to
Makefile.amd64 so that the proper Makefile.${ARCH} is automatically
included.
This requires conditional inclusion bsd.ports.pre.mk and bsd.ports.post.mk
by emulators/wine [1], master port for i386-wine: those files must be
included only if they have not already been included by i386-wine.

Approved by:	gerald (mentor, maintainer [1])
2020-03-13 21:11:06 +00:00
Gerald Pfeifer
d57dd6618f Update from Wine 4.0.3 and the Wine 4.0 release series to Wine 5.0.
This represents a year of development effort with over 7,400 individual
changes.  This port and the wine-devel port have been in sync as closely
as possible, and this update is mostly copying over from the -devel port
minus support for the Wine Staging patchset (and STAGING option).

Highlights of this new release include built-in modules in PE format,
multi-monitor support, Vulkan 1.1 support, and an XAudio2 reimplementation.

This also comes with updates of the emulators/wine-gecko and
emulators/wine-mono ports to match their -devel counterparts:
version 2.47.1 for wine-gecko and version 4.9.4 for wine-mono.

And we "lose" four local patches that got integrated or became obsolete
upstream.

The following is a more detailed list extracted from the extensive
release notes:

== Graphics

- Multiple display adapters and monitors are properly supported, including
  dynamic configuration changes.
- The Vulkan driver supports up to version 1.1.126 of the Vulkan spec.
- The WindowsCodecs library is able to convert more bitmap formats,
  including palette-indexed formats.

== Direct3D

- Fullscreen Direct3D applications inhibit the screensaver.
- DXGI swapchain presents inform the application when the corresponding
  window is minimized. This typically allows applications to reduce CPU
  usage while minimized, and is in some cases required to allow the
  application window to be restored again.
- Switching between fullscreen and windowed modes using the standard
  Alt+Enter combination is implemented for DXGI applications.
- The following features are implemented for Direct3D 12 applications:
  - Switching between fullscreen and windowed.
  - Changing display modes.
  - Scaled presents.
  - Swap intervals.
  These features were previously already implemented for earlier
  versions of the Direct3D API.
- The handling of various edge cases is improved. Among others:
  - Out of range reference values for the alpha and stencil tests.
  - Sampling 2D resources with 3D samplers and vice versa.
  - Drawing with mapped textures and buffers.
  - Usage of invalid DirectDraw clipper objects.
  - Creating Direct3D devices on invalid Windows, like the desktop window.
  - Viewports with a minimum Z larger than or equal to the maximum Z.
  - Resources bound through both shader-resource views and render-target
    or depth-stencil views at the same time.
  - Blits between formats with and without alpha components.
  Since well-behaved applications don't rely on these edge cases, they
  typically only affect one or two applications each. There are
  nevertheless quite a number of them.
- Dirty texture regions are tracked more accurately for Direct3D 8 and 9
  texture uploads.
- Uploads of S3TC-compressed 3D textures require less address space.
  Since 3D textures can be potentially large, and address space
  exhaustion is a concern for 32-bit applications, S3TC-compressed 3D
  textures are uploaded per-slice, instead of in a single upload.
- The ID3D11Multithread interface is implemented.
- Various lighting calculation fixes and improvements for older DirectDraw
  applications have been made.
- Limited support for blits across swapchains is implemented.
- More shader reflection APIs are implemented.
- The wined3d CPU blitter can handle compressed source resources.
  Support for compressed destination resources was already implemented
  in a previous release.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
  - "shader_backend" (REG_SZ)
    The shader backend to use. Possible values are "glsl" (default)
    for GLSL, "arb" for ARB vertex/fragment programs and "none" to
    disable shader support.
  - "strict_shader_math" (REG_DWORD)
    Enable (0x1) or disable (0x0, default) stricter translation of
    Direct3D shaders, potentially at a performance cost. This
    currently only makes a difference with the default GLSL shader
    backend in combination with the proprietary NVIDIA drivers.
- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
  - "UseGLSL"
    This has been superseded by the "shader_backend" setting above.

== D3DX

- Support for compressing textures using S3TC-compression.
- Various operations, like e.g. texture fills, on unmappable surfaces
  are implemented more correctly. Previously their implementation
  relied on the underlying Direct3D implementation not enforcing
  mapping restrictions.
- Various improvements and fixes have been made to the effect framework.

== Kernel

- Most of the functions that used to be in Kernel32 are moved to
  KernelBase, to follow the architecture of recent Windows versions.
- Libraries of the wrong 32/64-bitness are ignored when found in the
  search path, to enable loading the correct one if it's found further
  in the path.
- Kernel objects are better emulated for device drivers that expect to
  manipulate objects from the kernel side.
- The kernel-level synchronization objects like spin locks, fast
  mutexes, remove locks, and resource variables are implemented.
- The system battery state is properly reported to applications.

== User interface

- Minimized windows are displayed using their title bar instead of the
  old Windows 3.1-style icons.
- The new button styles Split Buttons and Command Links are implemented.
- The Edit control sets margins correctly also for CJK fonts.

== Desktop integration

- Symbolic links to the corresponding Unix directories are created for
  the 'Downloads' and 'Templates' folders.

== Input devices

- Plug & Play device drivers can be installed and loaded on startup.
- Game controllers are better supported, including proper support for
  hat switch, wheel, gas and brake controls.

== .NET

- The Mono engine is updated to version 4.9.4, including parts of the
  Windows Presentation Foundation (WPF) framework.
- The Gecko and Mono add-ons support shared installation, where the
  files are used directly from a global location under /usr/share/wine
  instead of being copied into every new prefix.

== Internet and networking

- The Gecko engine is refreshed to support recent toolchains.
- A number of new HTML APIs are implemented.
- MSHTML supports some SVG elements.
- Error object and exception propagation are supported in VBScript.
- A number of VBScript builtin functions are implemented.
- JScript EcmaScript compliant mode supports more features.
- JScript and VBScript script objects expose type info interfaces.
- The HTTP proxy configuration can be retrieved through DHCP.
- Passport HTTP redirects are supported.
- The HTTP service and corresponding client-side library (HTTPAPI) are
  partially implemented.

== Cryptography

- ECC (elliptic-curve) keys are supported when using GnuTLS.
- Importing keys and certificates from PFX blobs is implemented.
- The PBKDF2 key derivation algorithm is supported.

== Text and fonts

- OpenType positioning features are supported in DirectWrite, and
  enabled for Latin script by default, including kerning.
- Font data access is made safer by validating the various data tables
  before using them.
- DirectWrite interfaces are updated to a recent SDK, implementing
  some of the latest API additions.

== Audio / Video

- The XAudio2 libraries are reimplemented to use the external FAudio
  library, for better compatibility.
- The Media Foundation libraries are fleshed out, including:
  - Support for builtin and user async work queues.
  - Ability to submit periodic callbacks, waiting, scheduled, and
    regular work items, with support for item priority.
  - Support for media event queues.
  - Various core API to handle media type objects, stream and
    presentation descriptors, object attributes, byte stream objects,
    samples and buffers.
  - Initial Source Resolver implementation.
  - Initial implementation of Source Reader API.
  - Implementation for Sample Grabber object.
  - Core support for building topology objects.
  - Builtin presentation clock implementation, started implementing
    Media Session functionality.
- The video capture filter has been ported to use v4l2 instead of the
  deprecated v4l1 API, allowing the use of some cameras which do not
  support v4l1.
- Support for YUV to RGB translation and reading from v4l2 devices
  using mmap() has been removed; we now depend on libv4l2 for both of
  these things.
- The builtin AVI, MPEG-I, and WAVE decoders have been removed; we now
  depend on GStreamer or the Mac QuickTime Toolkit to decode such
  media files.
- Some more VMR7 configuration APIs are implemented.
- The sound drivers support per-channel volume adjustments.

== Internationalization

- Unicode character tables are based on version 12.1.0 of the standard.
- Unicode normalization is implemented.
- The geographic region id is automatically set in the registry based
  on the current locale. It can be modified if necessary under
  HKEY_CURRENT_USER\Control Panel\International\Geo.
- The Sinhalese and Asturian locales are supported.
- Codepage 28601 (Latin/Thai) is supported.

== RPC/COM

- The typelib marshaller supports complex structs and arrays.
- There is an initial implementation of the Windows Script runtime library.
- There is an initial implementation of the Microsoft ActiveX Data
  Objects (ADO) library.

== Installers

- Microsoft Installer (MSI) Patch Files are supported.
- The WUSA tool (Windows Update Standalone Installer) supports
  installing .MSU update files.

== PE modules

- The actual PE binaries are copied into the Wine prefix instead of
  the fake DLL files. This makes the prefix look more like a real
  Windows installation, at the cost of some extra disk space.
- Modules that have been converted to PE can use standard wide-char C
  functions, as well as wide-char character constants like L"abc".
  This makes the code easier to read.
- Not all modules have been converted to PE yet; this is an ongoing
  process that will continue during the Wine 5.x development series.

== Development tools / Winelib

- The Visual Studio remote debugger can be used to debug applications
  running under Wine.
- The Debug Engine library (DBGENG) is partially implemented.
- The Resource Compiler and IDL Compiler support a '--sysroot' option
  to allow locating header files in cross-compile environments.
- Winegcc supports the options '--target', '--wine-objdir',
  '--winebuild' and '-fuse-ld' that make it easier to use as a
  cross-compiler, or with custom toolchains.
- The wine/unicode.h header is no longer available to applications,
  since the functions will ultimately be removed and replaced by the
  standard C runtime wide character functions.

== Build infrastructure

- The 'fastcall' calling convention is supported in spec files. It
  uses the correct name mangling for Windows builds.
- A '-import' entry point flag is supported in spec files, to mark
  functions that need a hotpatch code prefix to be generated for their
  import thunks.
- Winebuild supports a '--builtin' option to add a special signature
  to PE binaries to mark them as Wine builtins.

== Builtin applications

- The CHCP tool is implemented. It allows setting the console codepage.
- The MSIDB tool is implemented. It allows manipulating MSI databases.

== Performance improvements

- The various time functions use higher performance system clocks if
  available, to reduce the overhead in the rendering loop of many games.
- File lookups take advantage of the ext4 filesystem case folding
  support if it's enabled on the directory being searched.
- No-data style listboxes (LBS_NODATA) have better performance for
  large numbers of items.
- Slim Reader/Writer locks, keyed events, and condition variables use
  futexes on Linux to avoid wineserver round trips.

== New external dependencies

- The FAudio library is used to implement XAudio2.
- The Inotify library is used for file change notifications on BSD
  platforms.
- The Video4Linux version 2 library is used instead of version 1.
2020-01-31 08:23:04 +00:00
Gerald Pfeifer
1f0e393f76 Update to the Wine 4.0.3 maintenance release with various bug fixes and
updates to the National Language Support files.
2019-11-30 06:53:17 +00:00
Niclas Zeising
ef5d45aaa6 Sprinkle more USES=xorg 2019-11-07 20:19:59 +00:00
Gerald Pfeifer
323e0b45e5 Explain why this patch currently only is part of emulators/wine and not
emulators/wine-devel (any longer) and should disappear from the former
with the next major version upgrade.
2019-09-12 11:32:46 +00:00
Gerald Pfeifer
e28022879d Update to the Wine 4.0.2 maintenance release.
This brings some 68 bug fixes.
2019-08-27 05:51:00 +00:00
Gerald Pfeifer
1ef65ced61 Backport r506725 | gerald | 2019-07-16 from wine-devel:
Fix packaging list (pkg-plist) when the MPG123 option is set.

PR:		239202
Submitted by:	arrowd, avos
MFH:		2019Q3 (packing list with non-default option)
2019-08-15 06:53:31 +00:00
Mathieu Arnold
79698c8457 Convert to UCL & cleanup pkg-message (categories e-g) 2019-08-13 16:03:11 +00:00
Gerald Pfeifer
ca7b4ef52d Add a note how to work around Wine issuing an error message of
i386_set_ldt: Invalid argument
    Did you reconfigure your kernel with "options USER_LDT"?

PR:		224264
Submitted by:	rozhuk.im@gmail.com
Reviewed by:	arrowd
MFH:		2019Q3 (documentation to address crash)
2019-08-10 17:48:18 +00:00
Gerald Pfeifer
ea8c8ec7da Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.

PR:		238330
2019-07-26 20:46:53 +00:00
Gerald Pfeifer
aa02dc064f Add a comment explaining that files/patch-libinotify is not necessary for
Wine 4.7 and later (and Wine 5.0) any longer and shall be removed then.
2019-07-03 00:08:47 +00:00
Gerald Pfeifer
3c7020b6f4 Update to the Wine 4.0.1 maintenance release.
This brings various bug fixes and Sinhala and Tamil translation updates.
2019-05-17 11:47:05 +00:00
Gerald Pfeifer
71c29c3e16 Update from the Wine 3.0 release series to Wine 4.0.
This represents a year of development effort with over 6,000 individual
changes. Due to regular syncing between the wine-devel port and this
one changes mostly relate to pkg-plist; the biggest difference between
the two is wine-devel featuring a STAGING option to support the Wine
Staging patchset.

Highlights of this new release include Direct3D 12 and Vulkan support,
as well as support for game controllers.

It also goes along with a corresponding minor update of
emulators/wine-mono. [1]

The following is a more detailed list extracted from the full(er) release
notes:

== Direct3D

- Initial support for Direct3D 12. Direct3D 12 support requires the vkd3d
  library, and a Vulkan-capable graphics card - this port now features new
  options, off by default, VKD3D and VULKAN which also pull in additional
  dependencies.
- The Multi-Threaded Command Stream feature is enabled by default.
- OpenGL core contexts are always used by default when available. In
  the previous release, these were already used by default for Direct3D 10
  and 11 applications on AMD and Intel graphics cards. That has been extended
  to all graphics cards, and all versions of Direct3D before 12.
- Among others, the following notable Direct3D 10 and 11 features are
  implemented:
  - Multi-sample textures and views, as well as multi-sample resolves.
  - Per-sample fragment shading.
  - Support for 1D textures.
  - Draws without render target views or depth/stencil views.
  - Multiple viewports and scissor rectangles per draw.
  - Depth clipping control.
  - Depth bias clamping.
  - Stream output without geometry shaders.
  - Several more capability queries.
  - Several more resource formats.
- Several Direct3D 11 interfaces have been updated to version 11.2,
  and several DXGI interfaces have been update to version 1.6. This
  allows applications requiring those newer interfaces to start
  working.
- The Direct3D graphics card database recognizes more graphics cards.

== Graphics

- A complete Vulkan driver is implemented, using the host Vulkan
  libraries under X11.
- Icons in PNG format are supported, enabling loading high-resolution
  256x256 icons.
- The standard icons include a 256x256 version to take advantage of
  the PNG support.
- Many Direct2D interfaces have been updated to version 1.2.
- Polygon drawing in the DIB engine is much faster for large polygons.
- A0, A1 and A2 paper sizes are supported for generic printers.
- Arrows are supported in GdiPlus.

== Kernel

- Support for running DOS binaries under Wine is removed. When execution
  of a DOS binary is requested, an external DOSBox instance is launched.
  This doesn't apply to Win16 binaries, which are still supported internally.
- All the CPU control and debug registers can be accessed by kernel
  drivers, including on 64-bit.
- Events, semaphores, mutexes and timers are implemented in kernel
  mode for device drivers.
- The WaitOnAddress synchronization primitives are supported.
- Reported processor information correctly distinguishes logical and
  physical CPU cores to support hyper-threading.
- The various debugger APIs support manipulating a 32-bit Wow64
  process from a 64-bit process context.
- Application settings, compatibility information and execution levels
  are recognized in application manifests.
- The various file I/O completion modes are implemented.

== User interface

- The infrastructure for setting DPI awareness and scaling of non
  DPI-aware applications is implemented. However, actual scaling of
  window contents is only supported on Android at this point.
  Scaling is disabled by default and can be enabled by setting the
  "DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop.
- Window class redirection is supported, enabling support of Common
  Controls version 6 features for standard USER controls like buttons.
- The standard USER controls Button, Listbox, Combobox, Edit and
  Static support version 6 features, including theming.
- The standard Task Dialog is implemented, including support for
  icons, hyperlinks, progress bars, and various other UI elements.
- Cue banners are supported in version 6 of the Edit control.

== Desktop integration

- Exporting MIME-type file associations to the native desktop can be
  disabled with a checkbox under the Desktop Integration tab in
  winecfg.  It can be configured programmatically by setting the
  "Enable" value under HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations.
- The File Dialog can display file properties like size, times and attributes.
- The File Dialog optionally shows the Places toolbar on the left-hand side.
- The shell folder Public is used instead of AllUsersProfile to follow
  the behavior of recent Windows versions.
- The shell File Browser supports keyboard shortcuts to rename (F2 key)
  and delete (Delete key) shell folders.
- Many standard icons are added to the Shell library.
- Shell Autocompletion is supported.
- In desktop mode the taskbar won't be displayed on top of fullscreen
  windows.
- Additional names are provided for standard cursors to better match
  existing X11 cursor themes.

== Internet and networking

- JScript has an EcmaScript compliant mode, which supports a number of
  features not available in legacy mode.
- JavaScript property accessors are supported.
- HTML style object is rewritten to support standard-compliant mode.
- HTML documents respect X-UA-Compatible HTTP header, allowing web
  pages to request specific compatibility mode.
- MSHTML supports non-HTML elements, allowing limited SVG support.
- A number of new HTML APIs are supported.
- The proxy server can be configured through the Internet Control
  Panel applet.
- Stream I/O is implemented in WebServices.
- The Web Services on Devices API (WSDAPI) is implemented, including
  sending and receiving the various message types.
- More system information is reported through WBEM, including CPU,
  BIOS, video controller, and network adapter properties.

== Cryptography

- Asymmetric encryption keys, as well as RSA and ECDSA signature
  verification are supported.
- The GCM and ECB encryption chaining modes are supported.
- Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA
  encryption.
- A Kerberos security provider is implemented, supporting Kerberos
  authentication.
- A selection dialog for public key certificates is implemented.
- If available, GnuTLS is used on macOS in preference to the
  CommonCrypto framework.

== Text and fonts

- Character tables are based on version 11.0.0 of the Unicode Standard.
- The new subpixel font rendering of FreeType >= 2.8.1 is supported.
- When a font face is missing, FontConfig is queried to provide
  possible substitutions.
- The font selected in the console emulator properly scales with the
  display DPI.
- Memory font resources are supported in DirectWrite.
- The builtin Wingdings font contains clock images.

== Audio

- The Windows Media Player interfaces are implemented and support
  media playback.
- An MP3 decoder is provided as DirectX Media Object.

== Built-in applications

- The Ping program provides actual pinging functionality using
  IcmpSendEcho.
- The SchTasks task scheduler program can create and delete tasks.
- The RegEdit registry editor has an improved hex editor for binary
  values.
- FOR loops are properly handled in the Command Interpreter.
- The XCopy program supports the /k (keep attributes) option.

== Internationalization

- The Japanese 106 keyboard is properly supported.
- Translation of timezone names is supported.
- There is a partial translation to the Sinhala language.
- More locales are supported in the Resource Compiler (wrc) and
  Message Compiler (wmc).

== .NET

- 32-bit CIL-only .NET binaries are supported on 64-bit.
- The Mono engine is updated to version 4.7.5 with some upstream Mono
  fixes. Hence this also update the emulators/wine-mono port.

== Installers

- MSI custom actions run in a separate process, enabling proper
  support for mixed 32/64-bit installers.
- Deferred installation actions are supported in MSI.

== Miscellaneous

- The Task Scheduler service and APIs are implemented.
- The Windows Management Instrumentation service is implemented.
- The OPC Services (Open Packaging Conventions, used for Microsoft
  Office XML files) library is implemented.

Approved by:	dbn (blanket) [1]
2019-02-22 11:13:07 +00:00
Gerald Pfeifer
14e68a593b Add gl to X11_USES since a naked USE_GL=, without also setting USES, as
we've had has been deprecated for a while.
2019-02-05 14:48:16 +00:00
Gerald Pfeifer
2727ea98e7 Restore a simpler and more elegant version of r490816 which was reverted
in r490825. (r490827 addresses the breakage of INDEX which happened in
some scenarios that led to that revert.)

Add a new option, GCC, that controls the use of GCC instead of the
system compiler (usually clang these days) as we have been doing since
r334935 in 2013-11-26.  And make that the default, both since there've
been user reports about Wine not working properly with the toolchain
in FreeBSD 12 and since there may be other challenges given that
upstrea and in other distributions GCC is being used all along.

PR:		231010
Reviewed by:	mat
Tested by:	sbruno
2019-01-25 14:04:40 +00:00
Gerald Pfeifer
f880485242 Remove a hack (defining __builtin_ms_va_list and friends) for versions
of clang before 3.8 and hence versions of FreeBSD no longer maintained.
2019-01-21 07:47:58 +00:00
Antoine Brodin
ab322ffcbb Revert r490816, it breaks INDEX
With hat:	portmgr
2019-01-21 07:45:00 +00:00
Gerald Pfeifer
32d3305924 Add a new option, GCC, that controls the use of GCC instead of the
system compiler (usually clang these days) as we have been doing since
r334935 in 2013-11-26.  And make that the default, both since there've
been user reports about Wine not working properly with the toolchain
in FreeBSD 12 and there may be other challenges given that upstream
and in other distributions GCC is being used all along. [1]

Also backport part of r488645 | gerald | 2018-12-29 01:53:56 from
emulators/wine-devel:

  Create a proper USES block in Makefile, moving the existing USES
  statement there.

PR:		231010 [1]
2019-01-21 01:12:27 +00:00