<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 4 Jun 2020, at 5:50 am, Jason Liu <<a href="mailto:jasonliu@umich.edu" class="">jasonliu@umich.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Looking through the link that Chris provided, it looks like the MacPorts legacy support package might indeed be the perfect place to add my AppKit compatibility layer file. One tiny question that I have is: In the readme, where it says "GNU make is a hard build dependency", does that sentence mean that the MacPorts legacy support package itself needs GNU make, or does it mean that any portfile that uses the legacysupport PortGroup needs to add GNU make as a build dependency?</div></div></div></blockquote><div><br class=""></div>Just the former. ports using it can use other build systems. it works well with most build systems, but not all. which do you have in mind ?</div><div><br class=""></div><div>Chris</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">Jason</div><div class=""><br class=""></div><div class=""><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class="">-- </div><div class="">Jason Liu<br class=""></div></div></div></div><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 3, 2020 at 5:34 PM Jason Liu <<a href="mailto:jasonliu@umich.edu" class="">jasonliu@umich.edu</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div class="">Great, I'll have a look at the stuff in that area. Thanks, Chris.</div><div class=""><br class=""></div><div class="">Jason<br class=""></div><div class=""><br class=""></div><div class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">-- </div><div class="">Jason Liu<br class=""></div></div></div></div><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 3, 2020 at 2:38 PM Christopher Jones <<a href="mailto:jonesc@hep.phy.cam.ac.uk" target="_blank" class="">jonesc@hep.phy.cam.ac.uk</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Hi,<div class=""><br class=""></div><div class="">Sounds like this *could* be a candidate for something to add to our legacy support package. see</div><div class=""><br class=""></div><div class=""><a href="https://github.com/macports/macports-legacy-support" target="_blank" class="">https://github.com/macports/macports-legacy-support</a></div><div class=""><br class=""></div><div class="">A port for this exists in MacPorts, and is applied as required to ports that need the support layer using the legacysupport PortGroup.</div><div class=""><br class=""></div><div class="">I think if we are to have a compatibility layer, as you describe below, putting it in the same place as the above is the way to go, so please take a look and submit MRs adding what you think is needed to it.</div><div class=""><br class=""></div><div class="">Chris</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 3 Jun 2020, at 7:01 pm, Jason Liu <<a href="mailto:jasonliu@umich.edu" target="_blank" class="">jasonliu@umich.edu</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">In my course of packaging some new ports, I've run across a couple instances of applications which are claimed by their devs to only be compatible with "macOS 10.12 and above". However, I've discovered that in reality, the only reason they're no longer compatible with older versions of macOS is because the names of a lot of constants changed in AppKit starting in 10.12. All of these constants appear to be related to either the drawing of GUI Cocoa windows or UI events (e.g. mouse down, mouse dragged, etc.).</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">So far, I've encountered two pieces of software where this is happening: Blender and MaterialX.<br class=""><div class=""><br class=""></div><div class="">A solution I found which some projects (e.g. Qemu) have implemented basically replaces the new AppKit constants with the old AppKit ones using <font face="monospace" class=""><b class="">#define</b></font> directives if the OS version is below 10.12. I've created a separate header file that gathers together a list of the constants I've been able to find, which is modeled on information from this message:</div><div class=""><br class=""></div><div class=""><a href="https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04330.html" target="_blank" class="">https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04330.html</a><br class=""></div><div class=""><br class=""></div><div class="">I'm doing my portfile development on a machine running 10.11, and have verified that my patch seems to allow me to build these applications without any noticeable issues (no runtime crashes, segfaults, etc.).</div><div class=""><br class=""></div><div class="">So my question to everyone is: Should I just add my header file to the <font face="monospace" class="">files/</font> folder for whichever ports need it? Or is this something that might benefit from me creating a project in GitHub? I'm guessing that there could be other software packages which might benefit from such a compatibility layer.</div><div class=""><div class=""><br clear="all" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">-- </div><div class="">Jason Liu</div></div></div></div></div></div></div></div></div></div>
</div></blockquote></div><br class=""></div></div></blockquote></div>
</blockquote></div>
</div></blockquote></div><br class=""></body></html>