<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SamuraiDio &#187; chrome</title>
	<atom:link href="http://blog.diovani.com/tag/chrome/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Sat, 18 Dec 2010 21:19:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Compilando Chromium (ou Google Chrome) no Linux</title>
		<link>http://blog.diovani.com/2008/09/11/compilando-chromium-ou-google-chrome-no-linux/</link>
		<comments>http://blog.diovani.com/2008/09/11/compilando-chromium-ou-google-chrome-no-linux/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 19:13:53 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/09/11/compilando-chromium-ou-google-chrome-no-linux/</guid>
		<description><![CDATA[Com o lançamento beta do navegador web Google Chrome, obviamente eu também fiquei animado e ansioso para testar o novo &#8220;brinquedinho&#8221;.
Vou mostrar aqui como compilar o Chromium, o projeto no qual é baseado o Google Chrome, no Debian GNU/Linux e rodar os unit tests que vêm com ele. Note que não existe ainda um navegador [...]]]></description>
			<content:encoded><![CDATA[<p>Com o lançamento beta do <a href="http://www.google.com/chrome">navegador web Google Chrome</a>, obviamente eu também fiquei animado e ansioso para testar o novo &#8220;brinquedinho&#8221;.</p>
<p>Vou mostrar aqui como compilar o <a href="http://dev.chromium.org/Home">Chromium, o projeto no qual é baseado o Google Chrome</a>, no Debian GNU/Linux e rodar os <em>unit tests</em> que vêm com ele. Note que não existe ainda um navegador Chromium para Linux, tudo o que temos são alguns comandos de terminal usados para testar alguns móduilos, ou seja, este tutorial será exclusivamente destinado a desenvolvedores (principalmente C/C++) e pessoas curiosas.</p>
<blockquote><p><em>&#8220;<strong>Nota: </strong>Ainda não existe uma versão funcional de navegador baseado no Chromium para Linux. Porém, vários sub-módulos podem ser compilados no Linux, mas tudo o que se obtém é um comando executável que retorna &#8220;all tests pass&#8221;</em>. &#8221;</p>
<p>Se você deseja instalar um navegador baseado no Chromium funcional, procure por um dos vários tutoriais de <a href="http://www.google.com/search?q=instalando+google+chrome+no+wine">instalação do Google Chrome no Wine</a>.</p></blockquote>
<p>Primeiramente, você precisará instalar as seguintes dependencias:</p>
<ul>
<li> Subversion &gt;= 1.4</li>
<li>pkg-config &gt;= 0.20</li>
<li> Python &gt;= 2.4</li>
<li> Perl &gt;= 5.x</li>
<li> gcc/g++ &gt;= 4.2</li>
<li> bison &gt;= 2.3</li>
<li> flex &gt;= 2.5.34</li>
<li> gperf &gt;= 3.0.3</li>
<li> libnss3-dev &gt;= 3.12</li>
</ul>
<p>No Debian e distribuições derivadas dele (como o Ubuntu) basta instalar tudo com o apt-get / aptitude:</p>
<pre># aptitude install subversion \
    pkg-config \
    python \
    perl \
    g++ \
    bison \
    flex \
    gperf \
    libnss3-dev</pre>
<p>Após instalar as dependências, escolha um diretório para colocar os fontes e compilar. Vou considerar que o diretório escolhido seja <strong><em>$HOME/chromium</em></strong>. Primeiramente crie o diretório e mude para ele:</p>
<pre>$ mkdir $HOME/chromium
$ cd $HOME/chromium</pre>
<p>Então obtenha o <em>depot tools</em> usando o comando <em>svn</em>:</p>
<pre>$ svn co http://src.chromium.org/svn/trunk/depot_tools/linux depot_tools</pre>
<p>Como alternativa, você pode <a href="http://build.chromium.org/buildbot/archives/depot_tools_linux.tar.gz">baixar o <em>depot tools</em> em tar.gz</a>.</p>
<p>Depois disso mude seus locales para &#8220;<em>C</em>&#8221; (necessário devido a um bug temporário nos scripts <em>gclient</em>, que interpretam a saída do subversion), e execute <em>./depot_tools/gclient config</em>:</p>
<pre>$ export LANG=C
$ export LANGUAGE=C
$ export LC_ALL=C
$ ./depot_tools/gclient config http://src.chromium.org/svn/trunk/src</pre>
<p>O <em>checkout</em> dos arquivos via <em>svn</em> deve demorar algum tempo, dependendo de sua conexão. Caso esteja muito lento você pode também obtar por obter um <a href="http://build.chromium.org/buildbot/archives/chromium.tgz">snapshopt do SVN Checkout</a>.</p>
<p>Após obter os fontes, para compilar execute:</p>
<pre>$ cd $HOME/chromium/src/chrome
$ ../third_party/scons/scons.py Hammer</pre>
<p>Como o projeto ainda está engatinhando, e os desenvolvedores estão <em>&#8220;brincando&#8221;</em> com o código, é bem comum que alguma coisa falhe nesta parte. Infelizmente será necessário um mínimo de conhecimento em <em>C/C++</em> ou outras linguagens utilizadas para seguir adiante. Eu por exemplo, me deparei com alguns erros nos arquivos <em>src/webkit/glue/webframe_impl.h</em> e <em>src/skia/effects/SkCullPoints.cpp</em>, facilmente corrigidos removendo uma declaração <em>typedef</em> e adicionando alguns parênteses a uma condição, respectivamente. Estou postando meus <em>DIFFs</em> para caso alguém tenha o mesmo problema:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/09/webframe_implh.diff" title="webframe_implh.diff">webframe_implh.diff</a><br />
<a href="http://blog.diovani.com/wp-content/uploads/2008/09/skcullpointscpp.diff" title="skcullpointscpp.diff">skcullpointscpp.diff</a></p>
<p>Após a compilação, executáveis criados durante o processo estarão disponíveis em <em>$HOME/chromium/src/chrome/Hammer</em>.</p>
<p>Como mencionado anteriormente, <strong><em>Ainda não existe uma versão funcional de navegador baseado no Chromium para Linux</em></strong>. A única coisa que você pode fazer no momento é executar alguns <em>unittests</em>:</p>
<pre>$ cd $HOME/chromium/src/chrome
$ Hammer/base_unittests
$ Hammer/net_unittests</pre>
<p>Para quem tiver interesse em colaborar com os esforços para termos um navegador baseado no Chromium para linux, não deixem de acessar a <a href="http://dev.chromium.org/developers/how-tos/linux-development">página de desenvolvimento para Linux</a>, com alguns detalhes do desenvolvimento, e uma série de bugs aguardando ajuda.</p>
<p>Desta vez não tem screenshot&#8230;<br />
Bem, já que insistem&#8230; aí vai um screenshot de um <em>unittest</em>:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/09/chrome_baseunittest.jpg" title="chrome_baseunittest.jpg"><img src="http://blog.diovani.com/wp-content/uploads/2008/09/chrome_baseunittest.thumbnail.jpg" alt="chrome_baseunittest.jpg" /></a></p>
<p><em>Fonte: </em><a href="http://dev.chromium.org/developers/how-tos/build-instructions-linux">http://dev.chromium.org/developers/how-tos/build-instructions-linux</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/09/11/compilando-chromium-ou-google-chrome-no-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

