Pregunta relacionada sobre Unix/Linux: ¿Cómo debo instalar el software desde el código fuente para que mi configuración sea manejable y reproducible? Sin embargo, he adaptado esta pregunta más hacia el ecosistema Mac OS X.
Trabajo con mucho software científico en Mac OS X (actualmente 10.7, pero también 10.6). Para maximizar el rendimiento y acceder a las últimas funciones, a menudo es preferible compilar el software desde el código fuente.
Sin embargo, hacerlo es engorroso y puede dar lugar a problemas de configuración. Como yo también desarrollo en Linux, miré todas las sugerencias en la sección Unix & Linux pregunta "Cómo compilar e instalar programas desde el código fuente" y el Pregunta sobre Unix y Linux ¿Dónde debo colocar el software que compilo a partir del código fuente? para obtener orientación. Estas preguntas son un buen punto de partida, pero no me queda claro cómo puedo gestionar las dependencias y la configuración fácilmente. Por ejemplo, si construyo la rama de desarrollo de NumPy desde el código fuente, ¿cómo debo detectar, gestionar y resolver las dependencias para poder gestionar mi configuración? Un gestor de paquetes como MacPorts, Homebrew o Fink es una opción, pero si sigo ese camino para gestionar mi configuración, ¿cómo compilo los paquetes para poder usar esos gestores de paquetes para gestionar las dependencias? ¿Hay algo como checkinstall para estos gestores de paquetes? Mi objetivo aquí es hacer que la instalación y desinstalación de software sea relativamente fácil sin saturar mi configuración.
También me gustaría que mi configuración fuera reproducible. Con esto quiero decir que me gustaría establecer un flujo de trabajo para instalar software en mi máquina de modo que pudiera repetirlo exactamente en una nueva instalación del sistema operativo. ¿Existe alguna práctica recomendada para ello? Cuando se trata de paquetes estándar en un gestor de paquetes Linux, el método más simple para repetir una instalación de software es hacer un script que contenga el apropiado apt-get install <package>
(o equivalentes). Sin embargo, cuando se instala software desde el código fuente, veo que este método se complica mucho. ¿Hay alguna forma mejor?
Además, en Mac OS X, muchas aplicaciones se instalan copiando un archivo *.app
archivo a /Applications
o haciendo doble clic en *.pkg
archivo. ¿Puedo instalar estos desde una línea de comandos y script la instalación de estos paquetes? Además, ¿hay una buena manera de desinstalar estos paquetes?