Pregunta relacionada en Unix / Linux: ¿Cómo debo instalar el software desde la fuente para poder hacer que mi configuración sea manejable y reproducible? Sin embargo, he adaptado más esta pregunta al ecosistema de Mac OS X.
Trabajo con una gran cantidad de software científico en Mac OS X (actualmente 10.7, pero también 10.6). Para maximizar el rendimiento y obtener acceso a las últimas funciones, a menudo es preferible compilar el software desde la fuente.
Sin embargo, hacerlo es complicado y puede llevar a problemas de configuración. Como también me desarrollo en Linux, miré todas las sugerencias en Unix & La pregunta de Linux "Cómo compilar e instalar programas desde la fuente" y Unix & Pregunta de Linux ¿Dónde debería colocar el software que compilo de la fuente? para obtener una guía. Estas preguntas son un buen lugar para comenzar, pero no me queda claro cómo puedo administrar las dependencias y la configuración fácilmente. Por ejemplo, si compilo la rama de desarrollo de NumPy desde la fuente, ¿cómo debo detectar, administrar y resolver las dependencias para poder administrarlas? mi configuracion? Un administrador de paquetes como MacPorts, Homebrew o Fink es una opción, pero si voy por esa ruta para administrar mi configuración, ¿cómo compilo los paquetes para poder usar esos administradores de paquetes para administrar las dependencias? ¿Hay algo así como checkinstall para estos administradores de paquetes? Mi objetivo aquí es hacer que la instalación y la desinstalación del software sean relativamente sencillas sin tener que saturar mi configuración
También me gustaría hacer que mi configuración sea reproducible. Con eso, quiero decir que me gustaría configurar un flujo de trabajo para instalar el software en mi máquina para poder repetirlo exactamente en una instalación nueva del sistema operativo. ¿Hay una mejor práctica para eso? Cuando se trata de paquetes estándar en un administrador de paquetes de Linux, el método más simple para repetir una instalación de software es hacer un script que contenga el apt-get install <package>
apropiado (o equivalentes). Sin embargo, al instalar software desde la fuente, pude ver que este método se complicaba mucho. ¿Hay una mejor manera?
Además, para Mac OS X, muchas aplicaciones se instalan copiando un archivo *.app
en /Applications
, o haciendo doble clic en un archivo *.pkg
. ¿Puedo instalarlos desde una línea de comandos y hacer un script de la instalación de estos paquetes? Además, ¿hay una buena manera de desinstalar estos paquetes?