Compilando Chromium (ou Google Chrome) no Linux

Tags: , , — September 11, 2008 @ 4:13 pm

Com o lançamento beta do navegador web Google Chrome, obviamente eu também fiquei animado e ansioso para testar o novo “brinquedinho”.

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 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.

Nota: 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 “all tests pass”. ”

Se você deseja instalar um navegador baseado no Chromium funcional, procure por um dos vários tutoriais de instalação do Google Chrome no Wine.

Primeiramente, você precisará instalar as seguintes dependencias:

  • Subversion >= 1.4
  • pkg-config >= 0.20
  • Python >= 2.4
  • Perl >= 5.x
  • gcc/g++ >= 4.2
  • bison >= 2.3
  • flex >= 2.5.34
  • gperf >= 3.0.3
  • libnss3-dev >= 3.12

No Debian e distribuições derivadas dele (como o Ubuntu) basta instalar tudo com o apt-get / aptitude:

# aptitude install subversion \
    pkg-config \
    python \
    perl \
    g++ \
    bison \
    flex \
    gperf \
    libnss3-dev

Após instalar as dependências, escolha um diretório para colocar os fontes e compilar. Vou considerar que o diretório escolhido seja $HOME/chromium. Primeiramente crie o diretório e mude para ele:

$ mkdir $HOME/chromium
$ cd $HOME/chromium

Então obtenha o depot tools usando o comando svn:

$ svn co http://src.chromium.org/svn/trunk/depot_tools/linux depot_tools

Como alternativa, você pode baixar o depot tools em tar.gz.

Depois disso mude seus locales para “C” (necessário devido a um bug temporário nos scripts gclient, que interpretam a saída do subversion), e execute ./depot_tools/gclient config:

$ export LANG=C
$ export LANGUAGE=C
$ export LC_ALL=C
$ ./depot_tools/gclient config http://src.chromium.org/svn/trunk/src

O checkout dos arquivos via svn deve demorar algum tempo, dependendo de sua conexão. Caso esteja muito lento você pode também obtar por obter um snapshopt do SVN Checkout.

Após obter os fontes, para compilar execute:

$ cd $HOME/chromium/src/chrome
$ ../third_party/scons/scons.py Hammer

Como o projeto ainda está engatinhando, e os desenvolvedores estão “brincando” com o código, é bem comum que alguma coisa falhe nesta parte. Infelizmente será necessário um mínimo de conhecimento em C/C++ ou outras linguagens utilizadas para seguir adiante. Eu por exemplo, me deparei com alguns erros nos arquivos src/webkit/glue/webframe_impl.h e src/skia/effects/SkCullPoints.cpp, facilmente corrigidos removendo uma declaração typedef e adicionando alguns parênteses a uma condição, respectivamente. Estou postando meus DIFFs para caso alguém tenha o mesmo problema:

webframe_implh.diff
skcullpointscpp.diff

Após a compilação, executáveis criados durante o processo estarão disponíveis em $HOME/chromium/src/chrome/Hammer.

Como mencionado anteriormente, Ainda não existe uma versão funcional de navegador baseado no Chromium para Linux. A única coisa que você pode fazer no momento é executar alguns unittests:

$ cd $HOME/chromium/src/chrome
$ Hammer/base_unittests
$ Hammer/net_unittests

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 página de desenvolvimento para Linux, com alguns detalhes do desenvolvimento, e uma série de bugs aguardando ajuda.

Desta vez não tem screenshot…
Bem, já que insistem… aí vai um screenshot de um unittest:

chrome_baseunittest.jpg

Fonte: http://dev.chromium.org/developers/how-tos/build-instructions-linux

Latitude e Longitude no Google Maps

Tags: , — July 2, 2008 @ 11:18 am

Um pequeno problema para desenvolvedores web tentados a utilizar a api do Google Maps é obter a latitude e longitude de uma localidade, necessária para marcar um ponto exato no mapa. Mas onde conseguir estes valores, visto que o Google Maps não os exibe?

Pesquisando um pouco sobre isto, encontrei duas ótimas soluções para encontrar a latitude e longitude a partir do Google Maps, possibilitando encontrar um local qualquer a partir da pesquisa em http://maps.google.com, e então simplesmente obter as coordenadas com um Javascript.

Se utiliza Firefox e possui a extensão GreaseMonkey instalada, basta instalar o script Show Coordinates in Google Maps. Este script adiciona as coordenadas ao canto superior direito do mapa acessado atualmente:

gmaps-coordinates.jpg

Caso você não utilize Firefox, ou não tenha intenção de instalar a extensãoGreaseMonkey, basta copiar o script abaixo, e colá-lo na barra de endereço de seu navegador ao acessar uma página do Google Maps:

javascript:void(prompt(”,gApplication.getMap().getCenter()));

Assim vc verá uma caixa de mensagem com as coordenadas do local:

latitude-longitude.png

Você também pode adicioná-lo aos seus favoritos, assim, sempre que clicá-lo a irá receber as coordenadas.

Fonte: http://lifehacker.com/software/google-maps/how-to-find-latitude-and-longitude-267361.php

Quem gostou do novo favicon do Google?

Tags: — June 3, 2008 @ 11:10 am

Neste última semana notei que o favicon dos sites do Google mudou de um ‘G’ para um ‘g’:

google.com

Nada contra a mudança… Na verdade achei até este icon melhor que o antigo (apesar de também ser, simplesmente uma letra), mas acho que, como a grande maioria dos usuários do Google (eu, por exemplo) devem estar bem acostumados ao antigo ‘G’, a aceitação não deve ser tão boa.

Não me parece que estou visitando uma página do Google quando vejo este novo favicon em minhas abas… :(

Google Docs Offline

Tags: , , — April 1, 2008 @ 5:05 pm

A grande maioria dos usuários dos serviços Google já deve conhecer o GoogleDocs. Trata-se de uma coleção de aplicativos web para edição de textos, planilhas e apresentações, compatível com formatos os Open Document e MS Office, sendo muito úteis para editar e armazenar documentos online, de qualquer computador conectado a internet.

Acontece que para certos usuários, torna-se mais eficaz ter seus documentos armazenados localmente, para o caso de haver necessidade de visualização/edição quando não conectado a internet.

Pensando nisso, o Google está desenvolvendo o GoogleGears. O GoogleGears é uma extensão para o Firefox, disponível para Windows, Mac OS X e GNU/Linux, que permite edição e sincronização de documentos com o GoogleDocs. Ele basicamente, permite a utilização de toda a interface do GoogleDocs (AJAX based) mesmo quando não conectado a internet, e também a sincronização (download/upload) dos documentos quando estiver finalmente conectado.

Veja o vídeo de demonstração (em inglês):


Além das vantagens de sincronização online / offline, agora o Google Docs torna-se uma alternativa offline para o OpenOffice.org ou MS Office, bastando ao usuário ter o Firefox instalado com a extensão.

Fonte: solutio360

Next Page >>>