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

Reply via email to