GoboLinux DescargasDocumentaciónComunidadRecetasPaquetesCapturas de Pantalla


Compile: el sistema de compilación de GoboLinux

Compile descarga los ficheros con el código fuente, los desempaqueta, los compila y los instala, con un simple comando, usando unos simples guiones de compilación llamados "recetas" (recipes). Compile fue incluido en GoboLinux 011, pero ya soporta un considerable (siempre en aumento) número de recetas y es capaz de compilar toda clase de software, incluyendo Glibc, GCC, KDE y el kernel de Linux.

Algunas de las características distitivas de Compile son:

  • Usa el sitio de descarga propio de cada proyecto para descargar fuentes: el repositorio de GoboLinux (o alguno de sus mirrors) es usado únicamente para la descarga de recetas. Las recetas pueden ser descargadas explícitamente usando el comando GetRecipe, o sobre la marcha por Compile, cuando se realiza una compilación.
  • guiones de compilación minimalistas y declarativos: el típico software que requiere "configure; make; make install" puede ser descrito en dos líneas, con gran facilidad de mantenimiento.
  • soporte para dependencias estilo GoboLinux: cuando se buscan dependencias para una compilación, Compile busca directamente en /Programs. No importa como fuese instalado el paquete -- un paquete binario usando InstallPackage, compilado desde los fuentes usando Compile o incluso compilado a mano por el usuario -- este puede ser usado por Compile cuando se busquen dependencias.
  • agnóstico en lo relativo a rutas: también funciona en una instalación de GoboLinux Rootless, por ejemplo dentro del directorio $HOME de otra distribución.

Enlaces

Usando Compile

Como usuario, todo lo que necesitas es decirle a Compile que compile tu software:
Compile allegro
El buscará una receta disponible (realizando una búsqueda que no distingue entre mayúsculas y minúsculas) y realizará el trabajo por ti. Como contribuyente en potencia, encontrarás que es muy sencillo crear recetas. De hecho, la facilidad de mantenimiento fue la principal preocupación (dado que aún somos una distribución joven y disponemos de recursos limitados). Un ejemplo real. Así es como un fichero de receta para un programa típico basado en autoconf se ve. Dos líneas, nada más:
     
url=$ftpGnu/gtypist/gtypist-2.7.tar.bz2     
recipe_type=configure   
Un ejemplo un más complicado: Zip usa sólo makefiles. Compile lo soporta bién.
     
url=ftp.uu.net/pub/archiving/zip/src/zip23.tar.gz     
recipe_type=makefile  
dir=zip-2.3     
makefile=unix/Makefile     
build_target=generic_gcc     
install_variables=(     
   "prefix=$target"     
)     
La documentación del API se encuentra en el wiki.

Obteniendo Compile

Compile viene por defecto en GoboLinux desde la versión 011, pero también funciona en versiones anteriores, siempre que tengas una paquete de Scripts reciente, así como en el modoRootless. Ambos se encuentran en la página de packages.

Contribuyendo con recetas

Para enviar tus recetas, empaquétalas con el comando GenRecipeStore y envíalas a la lista de correo gobolinux-recipes mailing list. ¡Tus contribuciones son muy apreciadas por la comunidad de GoboLinux! (Asegúrate que pones tu nombre en tu fichero Compile.conf de manera que MakeRecipe te pondrá en los créditos de la receta como autor)