Un poco harto de Iceweasel que es la versión de Firefox para Debian, la cual va todavía por la versión 10, y que los chicos de Mozilla no sacan una versión del navegador para los 64 bits me puse a leer la documentación para compilarlo por mi mismo.
El proceso es bastante sencillo. En pocos paso tendremos la versión en desarrollo.
Pre requisitos
Primero debemos instalar algunos paquetes que nos haran falta para compilar el código
Ubuntu
# apt-get install mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libiw-dev libxt-dev mesa-common-dev
Debian
# aptitude install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev libidl-dev mesa-common-dev autoconf2.13 yasm libgtk2.0-dev libdbus-1-dev libdbus-glib-1-dev
openSUSE/SUSE Linux Enterprise
# zypper install \ make cvs mercurial zip gcc-c++ gtk2-devel xorg-x11-libXt-devel libidl-devel \ freetype2-devel fontconfig-devel pkg-config dbus-1-glib-devel mesa-devel \ libcurl-devel libnotify-devel alsa-devel autoconf213 libiw-devel yasm
Arch Linux
# pacman -Syu base-devel zip unzip freetype2 fontconfig pkg-config gtk2 dbus-glib iw libidl2 python2 mercurial alsa-lib curl libnotify libxt mesa autoconf2.13 yasm wireless_tools
Descargar el código
Vamos a sincronizar contra un repositorio de Mercurial, así que podemos crear un directorio en nuestro $HOME, cuando sincronicemos se creará el directorio mozilla-central.
Para sincronizar, entramos al directorio y escribimos:
$ hg clone https://hg.mozilla.org/mozilla-central
Dependiendo de nuestra conexión tardará más o menos.
Compilando
A la hora de compilar tenemos la oportunidad de configurar a nuestro gusto el software mediante el uso del fichero .mozconfig situado en /path/to/mozilla-central. Sin embargo es muy importante saber qué se está haciendo. Si no queremos enredarnos en este asunto, la compilación con los valores por defecto produce un software idéntico al que libera Mozilla con cada lanzamiento.
Para compilarlo, los desarrolladores incluyen un script que facilita la tarea. Entramos al directorio y lo ejecutamos.
$ cd /path/to/mozilla-central $ ./mach build
La compilación tardará más o menos según la máquina en la que se ejecute.
Ejecución
Una vez haya acabado tendremos un fichero binario situado en:
/path/to/mozilla-central/obj-.../dist/bin/firefox
Los puntos suspensivos se completaran según la arquitectura, por ejemplo en mi caso es:
obj-x86_64-unknown-linux-gnu
Actualizando
A partir de ahora, cada vez que queramos obtener la última versión del navegador tendremos que actualizar el repositorio haciendo esto:
hg pull -u
y volveremos a ejecutar el comando march como hemos indicado arriba.
Referencia
Mozilla Developer Network – Simple Firefox build