Hi HN, I started developing an experimental project with the goal of running macOS CLI binaries natively on Linux ARM machines. As of now, we have working prototypes for: - 7-Zip: Passes multi-threaded compression tests on an 8k-file tree. Currently ~5.2x slower than native Linux execution, but I already mapped out a clear optimization plan to cut this gap down. - curl: Over 200 commands and options successfully pass our automated Docker test script. - Xcode Tools Git: Basic version control commands (init, add, commit) are up and running, though 100% stability is not yet guaranteed. I would be highly grateful for your constructive criticism, architectural ideas, and feedback! Thank you!

Do you plan on supporting different target versions and implementing similar restrictions to those targets?

eg: older macOS had a writable /usr/ while newer does not without manual effort.

Also, do you plan on having similar cli tools available with similar features ported (maybe from the available Darwin sources?)

eg: can I run a /bin/bash script that expects a macOS environment? Will it get "Darwin" from "uname -o"

I assume you eventually plan to target binaries that don't already exist on Linux? Where do you think you'll start?

Well, of course, most of all I would like to achieve full-fledged support for Xcode Tools (including building iOS applications) and the macOS version of Homebrew. But, of course, there is still a lot of work ahead to get to this point. Thank you!

And it’s an endlessly moving target, look at how many apps break every major release (and use it to justify regular, expensive paid upgrades)

That's true. But if we can achieve support for the current stable version, it will be much easier to add new features later or rework the ones that were replaced (unless Apple changes everything on purpose :)

Historically, I’d say that the chances of this being successful are exceptionally low given how large the ABI surface is — and it will wildly change out from underneath you on a near yearly cadence.

Perhaps LLMs change that calculation. I really couldn’t say.