Hello there,
I agree with all the points about publicity (blog posts, Twitter, etc.). But I
want to share the opinion on MacPorts from a (power?) user who is aware of the
tool and “deep in my heart” believe that MacPorts is a better option than, for
example, Homebrew.
INSTALLATION
The current process is described well[1], but it is almost impossible to
automate it. For a tool that supposes to be a CLI to manage everything, this is
a disadvantage for me. Yes, I can install MacPorts from the command-line with
something like this in my Makefile:
```
macports: ## Install/Upgrade MacPorts
ifeq (, $(shell which port))
$(eval TEMP_PKG := $(shell mktemp -t macports).pkg)
curl --silent --output $(TEMP_PKG) --remote-name
https://distfiles.macports.org/MacPorts/MacPorts-2.6.4_1-11-BigSur.pkg
<https://distfiles.macports.org/MacPorts/MacPorts-2.6.4_1-11-BigSur.pkg>
sudo installer -pkg $(TEMP_PKG) -target /
rm -Rf $(TEMP_PKG)
```
But then I have to maintain the URL, update it if I do not want to migrate, etc.
You can compare it with the Homebrew approach[2]:
```
/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
<https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)”
```
It may sound like a minor issue. But simplicity and efficiency are important, I
believe. From my point of view, it is easy to improve it:
1. Have a symlink to the latest available version (e.g.
https://distfiles.macports.org/latest-macos-11.pkg
<https://distfiles.macports.org/latest-macos-11.pkg>)
2. Have a script that will detect the macOS version on the machine (`sw_vers
-productVersion` or something) and download the proper package
3. Run the installer with `installer -pkg …`
GUI APPLICATIONS
This is a controversial topic. As you know, you can install and manage GUI
macOS applications with so-called Homebrew `casks`[4]. From the user
perspective, there are no differences between CLI and GUI applications, and I
just want to manage applications I use with ONE package manager. In the case of
MacPorts, I cannot install even open-source applications (like Firefox,
NetNewsWire, etc.).
Yes, I understand that someone has to maintain such ports. But if we are
talking about publicity, new users and experience, it is vital to have at least
the most popular software on the list.
BUNDLES
Homebrew supports bundles[3] where you can list all the software you use and
install it with a simple `brew bundle` command. It is a convenient way to track
a list of software you use, migrate between machines or set up remote hardware
on CI/CD. With MacPorts, I found only one way to do so – Makefile or a shell
script where I list all the packages I need. Not a big deal, you can say, and
it is true. But one of the reasons to use Homebrew over MacPorts.
CONCLUSIONS
Why I like MacPorts but use Homebrew? Because it is a convenient way to manage
your packages seamlessly (starting from the installation process and to the
point of how you maintain the list of software you use).
And again, from my point of view, publicity could (and should) help, but the
user experience is an important aspect as well. For now, even the statement
from the main page – Install and upgrade open-source software on macOS – is not
entirely true, unfortunately.
P.S. Do not get me wrong. You do a great job maintaining the tool for many
years; thank you for this! And there are cases when I prefer MacPorts over
other solutions. Please, consider this message as my attempt to help and
contribute to the discussion.
[1] https://www.macports.org/install.php <https://www.macports.org/install.php>
[2] https://brew.sh/ <https://brew.sh/>
[3] https://github.com/Homebrew/homebrew-bundle
<https://github.com/Homebrew/homebrew-bundle>
[4] https://github.com/Homebrew/homebrew-cask
<https://github.com/Homebrew/homebrew-cask>
Regards,
Artem