La idea es la siguiente: Tener un Mac dedicado para construir los puertos. Este Mac tiene instalado HomeBrew, o MacPorts, o Fink. Compilar un port en este Mac, y producir un paquete binario que pueda ser distribuido a otros Macs (de la misma arquitectura). El binario distribuido debe funcionar en el Mac de destino sin que HomeBrew, o MacPorts, o Fink estén presentes.
Para aclarar: cuando digo "producir un paquete binario" No me importa el tipo de eso. "paquete" . No es necesario que sea un PKG . Estoy contento con un tgz o zip siempre y cuando contenga todo lo necesario para que la herramienta funcione correctamente (incluyendo el archivo de configuración, sample, man, libs, etc) y nada más. Las fuentes y las cabeceras no son necesarias para ejecutar la herramienta, por lo que deberían excluirse del paquete si es posible.
Yo no intentaría ensamblar manualmente todos los archivos necesarios para un paquete de este tipo. Así que me pregunto si hay una receta en cualquiera de HomeBrew/MacPorts/Fink para hacer algo así.
Tomemos como ejemplo el Midnight Commander. El objetivo es construirlo en un ordenador, y luego distribuirlo y utilizarlo en muchos Macs de destino. Sin embargo, esos Macs de destino no tendrían HomeBrew/MacPorts/Fink, ni Xcode o gcc. Son sólo Macs normales con MacOS instalado, nada más. Pero me gustaría ejecutar mi versión de Midnight Commander en todos ellos. Una semana más tarde puede que quiera añadir MariaDB, o cualquier otra herramienta que pueda ser construida desde el código fuente usando HomeBrew/MacPorts/Fink. De nuevo, lo construiría en un Mac, pero tengo la intención de ejecutarlo en muchos otros.
Los Macs de destino son ordenadores gestionados. Sus usuarios son sólo eso, usuarios. Las herramientas necesarias se construirían desde el código fuente en el Mac dedicado, y se proporcionarían como binario para los Macs de destino. Sí, podría instalar MacPorts o HomeBrew en esos Macs también y compilar lo que se necesita, en el lugar. Pero espero que esto se pueda evitar. Si no recuerdo mal, MacPorts ofrece algo como "make package" o "make pkg". Que es lo que me dio la idea de investigar más esta posibilidad.
Cualquier indicación o sugerencia es bienvenida.
Suplemento: La siguiente documentación me ha resultado muy útil. Si puedes indicarme lecturas similares, por favor hazlo. Especialmente si eso cubre una función similar en HomeBrew o Fink. MacPorts howto - CreateInstallers
Instrucciones en github
La atención NO se centra en cómo crear un paquete. El enfoque es en QUÉ archivos van en el paquete.