<div dir="ltr"><div dir="ltr"><br></div>On Fri, Jul 10, 2020 at 10:41 AM Ryan Schmidt <<a href="mailto:ryandesign@macports.org">ryandesign@macports.org</a>> wrote:<br>><br>> [...]<br><div>><br>> Ports should ideally segregate Mac-specific instructions and patches into </div><div>> a "platform darwin" block, but many many ports don't do that and almost nobody </div><div>> tries to use MacPorts in any way on other platforms, though there has been a </div><div>> little interest from a couple people recently in using it in a very minimal way on </div><div>> Linux.<br>><br>> Even though our ports collection is intended for use on macOS, MacPorts base </div><div>> should compile and run on other operating systems. We used to generate the </div><div>> PortIndex files on a Linux server and we also had a buildbot task that verified that </div><div>> every MacPorts base commit built successfully on Linux. But near the end of 2016 </div><div>> we moved to new servers and phased out those Linux parts so it's possible that </div><div>> some Linux incompatibilities have crept into base since then.<br>></div><div>> [...]</div><div>><br>> It's certainly feasible to make your own private ports collection for your own purposes. </div><div>> I for example have a collection of ports that manage the configuration of all the ports </div><div>> used to drive the buildbot system. There are a few common things I do in each port </div><div>> so I make a new portgroup that I include in each of my ports that does those things.<br>><br>> So it might be doable to define a new cross-compile-for-Windows portgroup that you </div><div>> could include into each of your custom ports, and the portgroup could take care of </div><div>> setting the compiler variables and flags properly, for example.<br>><br>> The software you want to build will probably also have dependencies on programs </div><div>> that get run at build time, and those would need to be compiled normally for macOS </div><div>> so that they can run on your Mac.<br>><br>> You might be able to set up your custom portgroup to install all your Windows software </div><div>> to a different location, like /opt/windows (maybe setting up a new variable like $wprefix </div><div>> with that value so that you can use it in your portfiles) while leaving $prefix to be the </div><div>> compiled-for-Mac prefix for build dependencies.<br>><br>> Or perhaps Wine figures into your build process, in case you need to run </div><div>> compiled-for-Windows programs on your Mac as part of the build.</div><div><br></div><div>Thanks a lot for such detailed information, Ryan. It's going to be very helpful. Yes, I'm going to do a private ports collection for just the packages I need to cross-compile to Windows. I believe it can be a bit difficult at the beginning, while I figure out how to do the plumbing, but it will pay off in the long run, and it's exactly the approach I need.</div><div><br></div><div>By the way, I'm sorry for the delay in my reply: your message got into the spam filter and I hadn't seen it :-(</div><div><br></div><div>Kind regards and thanks a lot,</div><div><br></div><div>César</div><div><br></div><div><br></div></div>