Personnellement, j'utilise le système de ports FreeBSD.
Il faut apporter environ quatre modifications à deux fichiers, dont bsd.ports.mk, puis utiliser bsdmake. L'une des modifications consiste à remplacer un appel direct à "make" par la macro-substitution .
Les autres consistent toutes à remplacer les commandes "echo" par "awk" ou "printf".
Alternativement, vous pouvez utiliser MacPorts.
Je préfère ces approches à Homebrew ; la raison principale en est que les cibles d'installation des paquets peuvent être spécifiées sur la ligne de commande, plutôt que d'essayer de tout coller dans /usr/local ; cela permet d'éviter le problème commun de conflit sur les versions des paquets, et aussi de confondre GNU configure en ayant des fichiers d'en-tête et des bibliothèques tous visibles dans l'espace de noms du système de fichiers à l'échelle du système.
Les programmes Mac veulent vraiment avoir des choses comme les bibliothèques partagées dans un bundle App, de sorte que vous pouvez simplement glisser et déposer le dossier app afin de faire l'installation - ce qui est plus un problème pour les programmes GUI, il faut l'admettre.
Idéalement, quelqu'un ramperait à travers les fichiers .mk, et s'occuperait de le tirer dans les distributions de bundle Mac OS, mais ce serait beaucoup de travail - étant donné qu'il y a actuellement environ 26 000 ports - ce qui signifie que ce ne serait probablement pas le travail d'une seule personne pour Mac-ifier les choses correctement.
Puisque j'utilise principalement if pour des choses comme les outils CASE - cscope, cflow, etc. - ce n'est surtout pas un si gros problème que si j'essayais, par exemple, de faire fonctionner tous les programmes Gnome ou KDE.