Firefox building
Compiliamo Firefox 35.0a1 Gtk3 implementando il supporto H.264, vedremo poi come applicare la patch Gtk3/Flash e abilitare le Media Source Extensions.
Procuriamoci i sorgenti:
Mozilla Nightly non fa parte del ramo release quindi non esistono tarball ufficiali con il codice sorgente, affidarsi a git per clonare i vari rami, può risultare poco pratico.
Per comodità possiamo procurarci i sorgenti da github direttamente a questo indirizzo.
Scompattiamo la cartella gecko-dev-master sulla Scrivania.
Localizzazione:
Scarichiamo i file di localizzazione italiani per Nightly:
$ cd ~/Scrivania $ mkdir l10n $ cd l10n $ hg clone http://hg.mozilla.org/l10n-central/it
Nota: per il clone è necessario il pacchetto mercurial-git.
Installiamo le dipendenze necessarie:
# apt-get install build-essential zip libasound2-dev libcurl4-gnutls-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 libgtk2.0-dev gcc yasm libdbus-1-dev libdbus-glib-1-dev libgstreamer-plugins-base0.10-dev libgstreamer-plugins-base0.10-dev libgtk-3-dev libpulse-dev libgstreamer-plugins-base1.0-dev
Prepariamo il mozconfig (branding ufficiale).
Nella cartella gecko-dev-master creiamo un file vuoto e nominiamolo mozconfig
Mettiamo nel file appena creato i seguenti parametri:
ac_add_options --enable-application=browser ac_add_options --enable-default-toolkit=cairo-gtk3 ac_add_options --enable-gstreamer=1.0 ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --enable-official-branding mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release mk_add_options MOZ_MAKE_FLAGS="-j4" export MOZ_DEBUG_SYMBOLS=1 export MOZILLA_OFFICIAL=1 mk_add_options MOZ_CO_LOCALES="it" ac_add_options --enable-ui-locale=it ac_add_options --with-l10n-base=/home/nomeutente/Scrivania/l10n
nomeutente è il nome dell’account relativo alla vostra home.
Avrete notato i seguenti parametri:
ac_add_options --enable-gstreamer=1.0 #Supporto ad H.264
ac_add_options --enable-default-toolkit=cairo-gtk3 #Abilita Gtk3
La versione cosi compilata non può essere ridistribuita.
Branding Nightly:
Se anziché le icone/loghi classici di Firefox volessimo il branding Nightly rimuoviamo adesso la voce ac_add_options –enable-official-branding.
Esportiamo mozconfig tra le variabili di ambiente:
# export MOZCONFIG=/home/nomeutente/Scrivania/gecko-dev-master/mozconfig
Una lista completa delle opzioni di compilazione è disponibile a questo indirizzo.
AGGIORNAMENTO: a partire da Firefox 36 non è necessario applicare la seguente patch
Patch per i contenuti Flash:
Firefox Gtk3 non supporta il plugin Flash a causa di incompatibilità di libxul Gtk3 con i plugin Gtk2, finalmente è uscita una patch affidabile che troviamo in questa pagina.
Per applicare la patch scarichiamola cliccando col tasto destro del mouse su questo link e poi Salva destinazione con nome.
Suggerimento: controllate su bugzilla la disponibilità di versioni aggiornate della patch.
Piazziamo il file gtk3flash nella cartella gecko-dev-master e applichiamo la patch con i comandi:
$ cd ~/Scrivania/gecko-dev-master $ patch < gtk3flash
Compilazione:
$ cd ~/Scrivania/gecko-dev-master $ make -f client.mk build MOZ_CURRENT_PROJECT=browser
Il processo impiegherà circa un ora e mezza e il tempo dipenderà comunque dal sistema in uso.
Per evitare l'errore che affligge anche questa versione:
Error: /home/nomeutente/Scrivania/gecko-dev-master/objdir-ff-release/browser/installer/package-manifest:31: Missing file(s): bin/dictionaries/
Prima del #make install piazzate una cartella denominata dictionaries in gecko-dev-master/objdir-ff-release/browser/dist/bin e metteteci il dizionario scaricato da qui (click tasto destro>Salva destinazione con nome):
https://addons.mozilla.org/En-us/firefox/addon/dizionario-italiano/
Nota: purtroppo al momento l'ultima versione del dizionario italiano non supporta Firefox 35 l'unico sistema che ho trovato per renderlo compatibile è decomprimere e sostituire questa cartella in [cartella del profilo]/extensions/[email protected].
Firefox 35.0a1 verrà installato in /usr/local/lib. Eseguite un backup completo del profilo chiudete Firefox e rimuovete adesso le eventuali versioni precedentemente installate.
Installazione:
$ cd ~/Scrivania/gecko-dev-master/objdir-ff-release/browser $ su # make install
Abilitare le Media Source Extensions:
A partire da Firefox 33 YouTube ha di fatto forzato la riproduzione dei Video con HTML5 (escludendo Flash Player), le Media Source Extensions permettono di abilitare framerate fino a 720p/1080p. Il vantaggio è la possibilità di passare rapidamente e in modo dinamico tra diverse risoluzioni e qualità di flussi video e audio per fornire una riproduzione senza interruzioni quando larghezza di banda dell'utente sale o scende.
Per abilitarle digitiamo nella barra degli indirizzi di Firefox about:config e portiamo a true (è sufficiente dare doppio clic su di esso) il parametro media.mediasource.enabled.
Per il supporto a MSE & H.264 cliccare col tasto destro del mouse sulla stessa schermata, selezionare poi Nuovo>Booleano, nome del parametro media.mediasource.ignore_codecs e valore true.
Potremo verificare il supporto H.264 e Media Source Extensions da questi link:
https://www.youtube.com/html5?hl=it&gl=IT
http://www.quirksmode.org/html5/tests/video.html
http://html5test.com/
Ringrazio Frederic Bezies per il prezioso aiuto.
Screenshots:
Leave a Reply