The solution is to bundle your own runtime, or install with homebrew if you’re a dev.
I really don’t see Apple removing the UNIX utilities and terminal.app any time soon. Of course if they do I’ll be in the market for a new OS.
The solution is to bundle your own runtime, or install with homebrew if you’re a dev.
I really don’t see Apple removing the UNIX utilities and terminal.app any time soon. Of course if they do I’ll be in the market for a new OS.
Apple needs a development environment for its own in-house OS developers to use. macOS needs to have the necessary facilities to support its own development, and also the development of iOS. So long as Apple uses macOS as its OS development platform, it is going to want to keep the UNIX components to satisfy the needs of its own OS developers.
It's still fine (my only major showstopper being that valgrind just straight up isn't a thing for recent versions of OS X, with the brew version not compiling on 10.15 or 10.14), but they definitely have enough resources to make it, you know, "just work". which hurts especially when Microsoft is going full "developers developers developers"
I don't know anybody in the macOS development team, so I don't know their work practices, but it totally wouldn't surprise me if they've all installed Homebrew and use it heavily.
I infer Apple's attitude as being "if you are technical enough to use Homebrew, you are technical enough to download and install it yourself". (Or MacPorts, or Fink.)
If they bundle it... then people might start turning up at the Genius bar to complain "brew install X gives me an error!"
> my only major showstopper being that valgrind just straight up isn't a thing for recent versions of OS X, with the brew version not compiling on 10.15 or 10.14
I feel the same pain... I just use Docker for Mac to run valgrind for Linux. For my personal use cases, that works fine (since I don't write much macOS-specific code)
Old, or BSD? Darwin never used GNU coreutils.
> no Darwin containerization (which would be handy for development without having to give 2GB to Docker Desktop to get a Linux userland up).
Do you want containers with a Darwin personality, or Linux? The latter would require either ABI emulation like FreeBSD/SmartOS/WSL1, or virtualization+glue like WSL2 on Windows. Doable, but messy and unlikely from Apple's perspective ("clean" systems, heavily Apple-centric view of the world).
Old and BSD.
> The latter would require either ABI emulation like FreeBSD/SmartOS/WSL1, or virtualization+glue like WSL2 on Windows.
Both have been “done” by third-parties. (As in: they exist; they’re not perfect.)
That is a bit interesting; the BSDs are still permissively licensed, so maybe Apple just doesn't see enough benefit to justify the effort of pulling in new features? (Or implementing features themselves, depending on how diverged the codebases are)
Not just coreutils, this extends to all third-party GPL tools.
> no Darwin containerization
Not for you, but I hear the simulators do some fun things with launchd namespaces ;)
> my only major showstopper being that valgrind just straight up isn't a thing for recent versions of OS X, with the brew version not compiling on 10.15 or 10.14
Valgrind doesn’t work because nobody has put in the time to make it work on new systems (keeping up with new macOS releases in a timely manner is extremely difficult unless an engineer is pushing for it, and AFAIK anyone who would has left the company or lost interest in doing this). Address sanitizer kind of does some of the same things, so you can try that.