Building WINE with WOW64 through Poudriere, becoming desperate

Hey everybody
Before anyone accuses me of a grave sin, I'd already checked out other forum discussions and r/FreeBSD reddit posts, none of them really seem to fit the bill, though I could be missing something.

I'm managing a FreeBSD repository for my wife and myself with Poudriere, and there's nothing I would love more than to have WINE with their new WOW64 thing, so I can rock my magnificent 15.0-RELEASE installation and be able to run some Windows binaries without a multilib setup (which I also understand is even depreceated in FreeBSD 15.0 and onward).

The problem is that no matter what sort of flirtation I attempt with my make.conf, I can't seem to build anything other than an exclusively 64 bit setup. It sort of seems that WOW64 has somehow been activated, in that wine seems to be able to launch 32bit binaries, but they all immediately fail and crash on account of missing libraries in .wine/drive_c/windows/syswow64 (which is completely empty, by the way, while its system32 counterpart is populated well, and I've tried symlinking one to the other - didn't work).

Experimenting with some AI slop, I got Goo-gle to generate the following for my make.conf:
.if ${.CURDIR:M*/emulators/wine-devel}
# 1. KILL GCC FOR GOOD
# Dis stop dat 'gcc14' garbage you see in image c1cb25d7
WITHOUT_GCC= yes
CC= /usr/local/bin/clang19
CXX= /usr/local/bin/clang++19

# 2. FORCE BOTH ARCHITECTURES
# We tell Wine exactly where de cross-compiler is for de 32-bit side
CONFIGURE_ENV+= CROSSCC="/usr/local/bin/clang19 -target i386-pc-windows"
# We also gotta tell it about de 64-bit side specifically so it don't guess
CONFIGURE_ENV+= CROSSCC64="/usr/local/bin/clang19 -target x86_64-pc-windows"

# 3. FIX DE PATH
# Sometimes de jail don't find llvm- tools, we point it directly
CONFIGURE_ENV+= CROSS_PROG_PREFIX="/usr/local/bin/llvm-"

# 4. DE HOLY TRINITY OF FLAGS
CONFIGURE_ARGS+= --enable-archs=i386,x86_64 --with-mingw --disable-tests
.endif
Which, of course, has not really done anything for me. The x64 Windows binaries I've tested worked well, by the way.

Now, for the question. Is this possible in any way at all using Poudriere? Or is my only option to manually downloads source codes for WINE, MINGW and GCC and spend 2 days concocting it by myself.
My ideal is to automate everything with my dear beloved Poudriere, and I'm unironically prepared to pay anyone who could help me get this working (or if you prefer, donate to the FreeBSD and WINE project a sum of your choosing, idk, I'm desperate is the point).
 
The new wow64 mode is not enabled in wine/wine-devel ports.
I realise, what I'm trying to do is to break the predefined norm and enable it anyways, that's what this thread's about.
The question is, is there any way to easily circumvent this limit using only Poudriere and make.conf variations, or is there no other way besides doing everything from scratch.
 
never got wine working. It wants lib32 not lib64
Well, here's the thing. Nowadays (I think since WINE 9.0) they've implemented this thing called WOW64, where you can build the whole WINE package on pure 64 bit systems, and use one variable (wine/wine64) and one set of libraries (your regular system's 64 bit libraries), with no need for multilib. The only requirement to building it is something to do with MinGW. On all my Gentoo machines I have WINE with this thing enabled and it's incredible, does everything from running office suites to gaming.

But now I've left Gentoo for FreeBSD and I'm slowly migrating all my machines. Obviously there's no MinGW port on FreeBSD, so I wanted to ask if anybody's already using WOW64 WINE on FreeBSD, and if there's any way to automate building that sort of thing with Poudriere (or is my only option to do it all by myself).
 
However, this should work, right?

Well, I prefer to use vanilla Wine (or Wine Staging, if it were available) to Valve's Proton, and I try to keep my box clean of Linux binaries mostly.

Is there anyone here who's actually had a setup similar to what I'm looking for?
 
Back
Top