Forward port 316c372c7d from the main
wine port:
In our situation, where we leverage 32-bit, i386 executables of Wine
in an amd64 world running 64-bit executables of Wine, the rpath of
$PREFIX/lib/gcc10 which Mk/bsd.gcc.mk sets for the former makes the
dynamic linker attempt to load a 64-bit version of libgcc_s.so which
happens to be at that location on amd64.
Removing this rpath setting at compilation time would be comparatively
more involved, so leverage LD_32_LIBMAP which we are already using in
wine-wow64.sh to point to the system version of libgcc_s.so.
This works since for C code both flavors of libgcc_s.so are fully
compatible and Wine's C++ dependencies Wine (like openal-soft and
various Mesa userspace graphics drivers) are actually compiled with
clang. In other words we are only reverting to the version of the
library they would normally load without rpath interference.
Bump PORTREVISION so new packages with the tweaked script will be
generated.
PR: 259926
Reported by: nc
Tested by: nc
This includes the following changes:
- WinSpool, GPhoto, and a few other modules converted to PE.
- Better support for inline functions in DbgHelp.
- Beginnings of a MSDASQL implementation.
- Various bug fixes.
files/patch-dlls-winebus-6.20 and files/patch-no-procfs have been
accepted upstream, so remove our local copies.
With that, and additional upstream changes, mounting /proc is no
longer required on FreeBSD, so we don't need to document it. [1]
PR: 258795 [1]
Approved by: maintainer (= author)
This includes the following changes:
- MSXml, XAudio, DInput and a few other modules converted to PE.
- A few system libraries are bundled with the source to support PE builds.
- HID joystick is now the only supported joystick backend in DirectInput.
- Better support for MSVCRT builds in Winelib.
- Various bug fixes.
Also, using our patches within this Port (for now):
- procfs no longer needs to be mounted on /proc, we use sysctl() instead.
- The Staging patchset will apply even if $PORTSDIR is a Git repository.
The latter requires lang/gawk as an additional EXTRACT_DEPENDS.
(The now bundled system libraries will trigger some follow-up changes,
but for now we're okay.)
Approved by: maintainer (= author)
After recent changes, given an uninitialized root dir pkg now fails
with:
pkg: Error opening the trusted directory /usr/share/keys/pkg/trusted
pkg: Error loading trusted certificates
This works around it for our WoW setup.
PR: 259404
Approved by: Damjan Jovanovic <damjan.jov@gmail.com>
This includes the following changes:
- Shell32 and WineBus libraries converted to PE.
- Unicode data updated to Unicode version 14.
- More work towards Dwarf 3/4 debug support.
- HID joystick enabled by default.
- Various bug fixes.
files/patch-amd64-vs-x86-64, which I submitted upstream, is obsolete
now and the issue has been addressed upstream even more thoroughly,
so drop our local patch.
In a02e3c6686 we translated amd64
to x86-64, which is the marketing name, alas we need to use x86_64,
the technical name used on the GNU universe (and by Wine). What a
difference underscore vs dash makes.
This includes the following changes:
- WineCfg program converted to PE.
- Better high-DPI support in builtin applications.
- More preparation work for the GDI syscall interface.
- Improved debugger support in Wow64 mode.
- Various bug fixes.
My patch files/patch-dlls-nsiproxy.sys has been accepted upstream,
so remove it on our end.
Work around FreeBSD calling x86-64 by the name of amd64 and the
Ports Collection using this in a variable ARCH, which interferes
with Wine's variable of the same name and messes things up badly.
I have hope to be able to upstream files/patch-amd64-vs-x86-64. [1]
PR: 257020 [1]
Inspired by: Ivan Rozhuk <rozhuk.im@gmail.com> [1]
Yet another recent breakage in dlls/nsiproxy.sys, this time only on
newer versions of FreeBSD, yet another patch submitted upstream (and
included locally temporarily).
This includes the following changes:
- Initial version of a HID-based joystick backend.
- Improved high-DPI theming support.
- More preparation work for the GDI syscall interface.
- Better CodeView support in WineDump.
- Various bug fixes.
It also addresses a couple of FreeBSD-specific build issues I had to
address due to system headers not including others actually required:
nsiproxy: Include sys/param.h.
nsiproxy: Include netinet/in_pcb.h.
nsiproxy: Include stddef.h.
ntdll: Always return a value in get_builtin_init_funcs.
nsiproxy: Include sys/types.h from udp.c.
nsiproxy: Add $(PROCSTAT_LIBS) to EXTRALIBS.
nsiproxy: Include netinet/in.h in udp.c.
nsiproxy: Include sys/queue.h from tcp.c.
My patch files/patch-dlls-nsiproxy.sys has been integrated upstream,
so remove it here.
In what looks like a change between FreeBSD 11 and FreeBSD 12 and later
we now need to explicitly include sys/queue.h to avoid
In file included from dlls/nsiproxy.sys/tcp.c:42:
/usr/include/netinet/tcp_var.h:516:2: error:
expected specifier-qualifier-list before 'TAILQ_ENTRY'
516 | TAILQ_ENTRY(tcptw) tw_2msl;
I submitted this upstream already where it got accepted, so this patch
files/patch-dlls-nsiproxy.sys is only a temporary stop gap.
This includes the following changes:
- WinSock (WS2_32) library converted to PE.
- Support for performance data in the registry.
- More 32->64-bit thunks for NTDLL calls.
- Improved floating point status handling in the C runtime.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
My patch files/patch-dlls-ntdll-unix-virtual.c has been accepted
upstream in the meantime, so remove it here.
When devel/libsysinfo is present, <sys/sysinfo.h> exists which
misleads Wine into enabling some code that invokes the sysinfo
function. That one isn't actually available, though, without
additional linking parameters (and we don't want to add another
dependency at this point anyway), so properly test for sysinfo()
before using it.
This is a patch of mine that was accepted upstream and should
come in via Wine 6.15.
PR: 257398
Forward port 1d2af6e089 and its
two follow-up fixes ad15b0e748 and
1b5885c463 from emulators/wine:
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. [1]
Also revamp the WoW handling/packging which combines 32-bit/i386
Wine into 64-bit/amd64 Wine. [1]
Submitted by: Alex S <iwtcex@gmail.com> [1]
PR: 257284 [1], 252307 [1], 255336, 257020
This includes the following changes:
- 32->64-bit thunks implemented in WOW64 dll.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
My patch files/patch-nsiproxy.sys has been accepted upstream, so
remove our local version.
This includes the following changes:
- Proper scrollbar theming.
- More work towards WinSock PE conversion.
- Preparation work for the GDI syscall interface.
- Some progress on the IPHLPAPI PE conversion.
- Various bug fixes.
My patch from files/patch-nsiproxy.sys has been included upstream,
alas new breakage has been introduced in dlls/nsiproxy.sys, so
"refresh" that with another patch.
The STAGING option now patches again; no longer mark it as broken.
This includes the following changes:
- Builtin "Blue" and "Classic Blue" themes.
- More work towards WinSock PE conversion.
- Beginnings of the NSI (Network Store Interface) implementation.
- Support for 32/64-bit registry views in reg.exe.
- Various bug fixes.
The Staging patch set is broken for this snapshot; mark the STAGING
option broken accordingly.
Add files/patch-nsiproxy.sys which addresses a build issue on
non-Linux platforms that I pushed upstream in the meantime.
freeze.
Wine Staging now uses the same version designation as Wine itself after
a report of mine, so revert special casing STAGING_DISTFILES; similarly
my two patches files/extrapatch-dlls-ntdll-unix-file.c and
files/extrapatch-staging-server-fd.c are now upstream, so remove them.
and hence re-enable it. [1]
Temporarily include a patch of mine to address a build breakage with
that patchset, files/extrapatch-staging-server-fd.c.
Update the description for the STAGING option and explicitly label it
as unsupported.
PR: 251606 [1]
based on an exchanged I've had with upstream.
Firstly, commits 55ba3648379d90642f174e74809b84130d6d1ddc and
e0138c4a6a7a87f1d25badd43e05490e706bc666 should obviate it need.
Secondly, and more importantly, winegcc passes that flag already
since
commit e59395208d527d1bffb2725efc85fb798aee7610
Author: Alexandre Julliard <julliard@winehq.org>
Date: Mon Mar 28 15:47:19 2016 +0900
makefiles: Reduce the maximum page size for modules that have a base address.
It avoid bumping into the next allocated base address on 64-bit.
- GDI32 library converted to PE.
- More fixes for windowless RichEdit.
- A number of timezone updates.
- Various bug fixes.
files/extrapatch-server-file.c that I added to work around upstream
breakage with the Wine Staging patchset is not necessary any longer,
nor is half of files/extrapatch-dlls-ntdll-unix-file.c.
on top of the Wine Staging patchset that address upstream regressions.
It also brings a fair number of STAGING-specific additions to the set of
Wine libraries.
This includes the following changes from Wine 5.18 which we had to skip
since it failed to build on FreeBSD:
- USER32 library converted to PE.
- Console no longer requires the curses library.
- Support for display modes with various orientations.
- A number of syntax fixes in the WIDL compiler.
- Vulkan shader compilation using the new vkd3d-shader library.
- Non-recursive makefiles.
Plus the following changes from version 5.19 itself:
- Wine Mono engine updated to 5.1.1, with WPF text formatting support.
- KERNEL32 library converted to PE.
- DSS cryptographic provider.
- Windowing support in the new console host.
- A number of exception handling fixes.
- Various bug fixes.
Our local patch files/patch-tools-makedep became obsolete by those
changes that first broke version 5.18 and now appear fixed in 5.19.
files/patch-dlls_kernel32_Makefile.in needs some adjustments due to
changed context, but retains the core tweak we've been carrying.
- Support for x86 AVX registers.
- Still more restructuration of the console support.
- Various bug fixes.
Revert an upstream patch (7571fa87df453e404d8b6ca58e2da95340156849)
that breaks the build with GCC 9 for now - files/patch-tools-makedep.
A number of files transitioned from the Staging patchset to the main
codebase, in addition the Staging patchset lost some and gained some.
- More restructuration of the console support.
- Initial version of the Webdings font.
- Beginnings of PE conversion of the MSVCRT libraries.
- Various bug fixes.
My patch files/extrapatch-dlls-ntdll-unix-registry.c is now upstream,
so remove it here.
emulators/i386-wine-devel and was reverted, now with a tweak to avoid
that breakage:
The Wine Staging patchset for Wine 5.13 is now available and fixed
(compared to the previous one).
It also addresses the build issue for Wine 5.13 that I fixed via
files/patch-dlls-ntdll-unix-registry.c, so we need to make that
patch only apply when the Wine Staging patchset is not used.
PR: 248118 [1]
Submitted by: vvd@unislabs.com
(compared to the previous one).
It also addresses the build issue for Wine 5.13 that I fixed via
files/patch-dlls-ntdll-unix-registry.c, so we need to make that
patch only apply when the Wine Staging patchset is not used.
PR: 248118
Submitted by: vvd@unislabs.com
- Re-mapping of INI files to the registry.
- System call thunks in NTDLL.
- Reimplementation of floating point numbers printing.
- Beginnings of a restructuration of the console support.
- Various bug fixes.
A build error got in upstream the day this snapshot was created;
temporarily address this via files/patch-dlls-ntdll-unix-registry.c
which I alreadly submitted upstream.
(The Wine Staging patchset isn't yet available. No change on that
front yet - it was marked BROKEN anyway.)
- More progress on the WineD3D Vulkan backend.
- Beginnings of a separate Unix library for NTDLL.
- Better support for anti-cheat kernel drivers.
- More glyph substitutions in DirectWrite.
- Support for DSS private keys.
- ARM64 exception handling fixes.
- Various bug fixes.
files/patch-libs-wine-mmap.c has been included upstream, so remove it.
The area that files/patch-dlls_kernel32_Makefile.in touches has changed
upstream; adjust the patch to those changes, maintaining the gist of our
patch all along.
dlls/ntdll has seen significant rework upstream, unfortunately breaking
on i386 with GCC 9 (though apparently not GCC 10); address that with the
new files/patch-dlls_ntdll that I submitted upstream also.
address an issue that creeped in upstream among the fixes for FreeBSD
that made it into Wine 5.9. [1]
Remove files/patch-tools-winegcc which temporarily reverted the upstream
change that triggered a flurry of breakage and improvements for FreeBSD.
Bump PORTREVISION since both changes are substantial.
- Major progress on the WineD3D Vulkan backend.
- Initial support for splitting dlls into PE and Unix parts.
- Support for generating PDB files when building PE dlls.
- Timestamp updates in the Kernel User Shared Data.
- Various bug fixes.
files/patch-dlls-dwrite-opentype.c was a backport from upstream past
the Wine 5.8 snapshot so is included here - remove it.
Keep files/patch-tools-winegcc, which reverts an upstream change in
Wine 5.8 for the time being while we assess the situation.
causes problems upon startup while, hopefully, a fix will be created
upstream. (This changes tools/winegcc/winegcc.c)
Backport 23543f20058d1655d3ad552474ce99c01bbd78ea from upstream which
landed after the Wine 5.8 snapshot (and should be included in the next)
and avoid crashes related to fonts.
With these two changes Wine should mostly work again.
- Still more Media Foundation work.
- Improvements to Active Directory LDAP support.
- A few more modules converted to PE.
- Improvements to gdb proxy mode.
- Various bug fixes.
My fix for a build problem on some versions of FreeBSD in
files/patch-dlls-dbghelp has been accepted upstream, so remove here.
The Wine Staging patch set is lagging once again; we'll add support
once it's available.
dlls/dbghelp/module.c after upstream changes in the last two weeks due
to a specific combination of macros related to ELF being (not) defined:
module.c: In function 'image_locate_build_id_target':
module.c:643:32: error: 'NT_GNU_BUILD_ID' undeclared (first use in this function)
643 | if (note[2] == NT_GNU_BUILD_ID)
| ^~~~~~~~~~~~~~~
Add a patch that I created and provided upstream where it was tentatively
ack-ed already.
Reported by: pkg-fallout
- Initial implementation of the HTTP service.
- RichEdit control optimizations.
- Various bug fixes.
lib/wine/wuauserv.exe.so (and Co) have moved from the Staging patchset,
off by default, to upstream.
A variation of files/patch-dlls_iphlpapi_ipstats.c has been merged
upstream after my submission, so drop this local patch.
commit 37fdbf9afa4985edb4e158bef3cbb7c0dbb688a0
Author: Gerald Pfeifer <gerald@pfeifer.com>
Date: Sun Aug 19 09:18:42 2018 +0800
wbemprox: Use WS_AF_INET instead of AF_INET in get_ipsubnet.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
files/patch-wbemprox-builtin.c actually is not necessary any longer.
Remove it to simplify things (and reduce local patches).
Update to Wine 4.11. This includes the following changes:
- Updated version of the Mono engine, including Windows.Forms.
- More DLLs are built as PE files by default.
- Faster implementation of Slim Reader/Writer locks on Linux.
- Initial support for enumerating display devices.
- Various bug fixes.
files/patch-dlls_kernel32_Makefile.in needs some adjustments due
to slightly changed context, alas no functional changes.
Approved by: dbn (blanket) [1]
- Support for builtin libraries in PE format even on Unix.
- More implementation of the Debug Engine DLL.
- Support for the Command Link standard control.
- Improved Edit control sizing in CJK locales.
- Various bug fixes.
Officially this also brought an updated version of the Mono engine,
which we got two days ago via revision 500271 already, though.
My local patch files/patch-libinotify is not required any longer [1]
(and would not apply to begin with) after the following upstream commit:
commit 07c2e8581a2745725cd7ce4282eedb9a8084a1e4
Author: Damjan Jovanovic <damjan.jov@gmail.com>
Date: Sat Apr 20 15:14:53 2019 +0200
configure: Link wineserver to libinotify if necessary.
Outside Linux, wineserver fails to link when sys/inotify.h
is present, as it tries to find inotify symbols in libc,
which doesn't have them. The inotify symbols are in libinotify.so.
Detect it properly, and link to it where available.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
PR: 202564 [1], 168617 [1]
This includes the following changes:
- Direct3D 11 enabled by default on AMD and Intel GPUs.
- Implementation of the task scheduler.
- Registry export support in the reg.exe tool.
- Progman DDE support.
- OLE data cache improvements.
- More event support in MSHTML.
- Relay debugging improvements.
- Various bug fixes.
I got files/patch-dlls_advapi32_perf.c merged upstream, so we can
now remove it here.
- Source selection dialog for scanners.
- Float audio formats with more than 2 channels in XAudio.
- Fixes for DLL injection support.
- Input methods improvements.
- Various bug fixes.
Mark the STAGING option, and hence the wine-staging port as well, as
BROKEN. Once again that patchset still is not available yet a week
after the Wine snapshot.
Temporarily add a patch against dlls/advapi32/perf.c that I got
accepted upstream in the meantime, so it should become obsolete
with the next minor version.
- Improved event support in MSHTML.
- Interpolation modes in Direct3D.
- Improved metafile support in GdiPlus.
- Initial version of Kerberos5 Authentication Package.
- OLE clipboard cache improvements.
- Various bug fixes.
Remove files/patch-partial-reservation. This should not be needed any
longer since on FreeBSD the main wine program is now loaded at a lower
address, making more room available between Wine and 0x80000000, so it
may be ok now if the area above 0x80000000 stays reserved like on other
platforms. [1]
Mark the STAGING option (and hence the wine-staging port as well) as
BROKEN; that patchset still is not available yet, and we cannot wait
forever.
Discussed with: tijl [1]