Publicizing MacPorts

Artem Loenko artyom.loenko at mac.com
Sat May 22 11:21:48 UTC 2021


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20210522/bd1d5316/attachment-0001.htm>


More information about the macports-dev mailing list