> Is MacPorts Universal?
MacPorts works on Apple Silicon as well as Intel- and PowerPC-based Macs, but, by default, the ports you install will be compiled only for the architecture you're currently running on. This means that if you migrate from, say, a PowerPC Mac to an Intel one and use Migration Assistant to copy your data to the new machine, you should reinstall all your ports on the new machine to rebuild them for Intel.
What they mean is that the downloaded binary will have been compiled for only the architecture you're running on. Take a look at all the binaries on http://packages.macports.org. MacPorts downloads from here.
If MacPorts is compiling from source, you're either using a non-default varient, on a very old version of OS X (MacPorts supports Tiger, but doesn't build binaries), or have some other unusual configuration option set.
That can't be true. For any mildly complex application I install it asks for "xcode-select --install". I'm using an intel Mac on 10.14.6, so it is pretty standard. I just reinstalled the software under a year ago and redownloaded macports from the website and installed it. It seems to require a local compiler to be installed for most applications, such as gcc or llvm. For instance, why wouldn't installing ffmpeg just download the ffmpeg binary instead of the all the compiler dependencies?
Oh, that may be because ffmpeg uses libraries with incompatible licenses. I should have mentioned, ports with nonredistributable binaries are also built from source, and MacPorts tends to interpret licenses conservatively.
Does the list change if you specify the +gpl2 varient?
I'm just doing the "standard install". Macports does source code for standard installs. End of discussion.
Heavenly Lord, he just keeps coming back with more rules lawyering. The macport for git goes through patching, configuring, building routine that is common in source code installs. Give me peace of mind, strength, and patience in dealing with internet trolls.
I am sorry, but you are wrong. MacPorts will not go through configure/build/install for all ports, only those for which no binary archive can be made available. As others have already explained, this happens when license restrictions do not allow redistribution of a binary.
With your example of ffmpeg, you can check yourself that ffmpeg-4.3.2_0+gpl2.darwin_18.x86_64.tbz2 exists as a binary archive and will be used on a standard install on macOS 10.14. MacPorts will definitely not build ffmpeg from source by default.
I recommend you test again with something simpler than ffmpeg, for example bzip2 or less.
Yeah, I’m a maintainer, MacPorts will download a binary if it can. ffmpeg is a weird case thanks to the non-free variants, but even it has some binary installs.
Also, for instance, OpenJDK is a port that is offered and we do not compile that in any way on any system because that way lies madness.
The other reason that macports will build from source is when there isn’t a binary like early on in Big Sur.
...no, it does that when the standard install would not be possible to legally redistribute. :) It's true that MacPorts generally prioritizes providing more features (in ffmpeg's case, access to more encoders and decoders) over providing a prebuilt binary.
I suggested the +gpl2 varient because I noticed it was present for all the ffmpeg binaries on MacPorts's build server. This is probably why. http://packages.macports.org/ffmpeg/
Now, if adding +gpl2 still causes MacPorts to pull in cmake, that's interesting, and I would like to bring that up on MacPorts's mailing list in case there's a bug. But I suspect adding +gpl2 will make it go away.
https://trac.macports.org/wiki/FAQ
> Is MacPorts Universal? MacPorts works on Apple Silicon as well as Intel- and PowerPC-based Macs, but, by default, the ports you install will be compiled only for the architecture you're currently running on. This means that if you migrate from, say, a PowerPC Mac to an Intel one and use Migration Assistant to copy your data to the new machine, you should reinstall all your ports on the new machine to rebuild them for Intel.