Mudanças entre as edições de "EMpathy"

De Pontão Nós Digitais
Linha 7: Linha 7:
 
== Compilacao Ubuntu 11.04  ==
 
== Compilacao Ubuntu 11.04  ==
  
=== &nbsp;Bibliotecas necessárias&nbsp;<br> ===
+
=== &nbsp;Bibliotecas necessárias&nbsp;<br> ===
  
 
gnome-common &gt;= 2.3.0<br>gettext<br>libglib2.0-dev<br>gtk-doc-tools<br>libxml2-dev<br>libtelepathy-glib-dev<br>libmissioncontrol-client-dev<br>libtelepathy-farsight-dev<br>libx11-dev<br>libgtk2.0-dev<br>libcanberra-gtk-dev<br>libgstreamer-plugins-base0.10-dev<br>libebook1.2-dev<br>libnotify-dev<br>libunique-dev<br>libgnome-keyring-dev<br>  
 
gnome-common &gt;= 2.3.0<br>gettext<br>libglib2.0-dev<br>gtk-doc-tools<br>libxml2-dev<br>libtelepathy-glib-dev<br>libmissioncontrol-client-dev<br>libtelepathy-farsight-dev<br>libx11-dev<br>libgtk2.0-dev<br>libcanberra-gtk-dev<br>libgstreamer-plugins-base0.10-dev<br>libebook1.2-dev<br>libnotify-dev<br>libunique-dev<br>libgnome-keyring-dev<br>  
Linha 92: Linha 92:
 
O código está dividido em pastas:  
 
O código está dividido em pastas:  
  
*/src : Se encontram os principais arquivos de código.<br>
+
*/src&nbsp;: Se encontram os principais arquivos de código.<br>  
*/libempathy-gtk : Se encontram os códigos responsáveis pela UI.
+
*/libempathy-gtk&nbsp;: Se encontram os códigos responsáveis pela UI.  
*/libempathy : Se encontram os códigos mais "baixo nível". O código que "faz a coisa funcionar" propiamente dito.
+
*/libempathy&nbsp;: Se encontram os códigos mais "baixo nível". O código que "faz a coisa funcionar" propiamente dito.
  
===== Arquivos/Func'ões Importantes (na caça ao [https://bugzilla.gnome.org/show_bug.cgi?id=645522 bug]) =====
+
===== Arquivos/Func'ões Importantes (na caça ao [https://bugzilla.gnome.org/show_bug.cgi?id=645522 bug]) =====
  
====== empathy.c / main() ======
+
====== empathy.c / main() ======
  
local: /src/empathy.c (linha: 704)
+
local: /src/empathy.c (linha: 704)  
  
====== empathy-contact-selector.c ======
+
====== empathy-contact-selector.c ======
  
local: /libempathy-gtk/empathy-contact-selector.c
+
local: /libempathy-gtk/empathy-contact-selector.c  
 
+
descrição: Responsável pela seleção de contatos da lista. (Uma forma de reproduzir o bug é clicando em qualquer contato quando a "view offline contacts" estiver ativo.
+
  
 +
descrição: Responsável pela seleção de contatos da lista. (Uma forma de reproduzir o bug é '''selecionando qualquer contato''' quando a "view offline contacts" estiver ativo.)
  
 +
<br>
  
 
======  ======
 
======  ======

Edição das 09h52min de 25 de julho de 2011

O Empathy e' um aplicativo de chat com diversos protocolos e suporte a audio e video. No Unity do Ubuntu 11.04, este aplicativo faz parte do desktop, podendo ser acessado atravez do icone indicador ou applet no canto superior direito do sistema (icone no formato de uma nuvem de chat).

Empathy Home Page

Ver tambem a pagina wiki VideoConferência

Compilacao Ubuntu 11.04

 Bibliotecas necessárias 

gnome-common >= 2.3.0
gettext
libglib2.0-dev
gtk-doc-tools
libxml2-dev
libtelepathy-glib-dev
libmissioncontrol-client-dev
libtelepathy-farsight-dev
libx11-dev
libgtk2.0-dev
libcanberra-gtk-dev
libgstreamer-plugins-base0.10-dev
libebook1.2-dev
libnotify-dev
libunique-dev
libgnome-keyring-dev

Métodos para obtenção das dependencias

primeiro de tudo:

$ sudo aptitude build-dep empathy

Esse comando instalará várias dependencias, mas nem sempre todas.

então tente para as que faltam:

@ sudo aptitude install <nome da dep>
ou
$ sudo apt-get install <nome da dep>

Eu particularmente prefiro o aptitude ao apt-get

caso ainda faltem dependencias, só pegando na internet e instalando manualmente =/


Videos de Compilação

Video 1 - Primeira tentativa

Video 2 - Instalando Dependências

Video 3 - EMpathy Compilado

Dependencias Adicionais Necessarias via Git

Vala / valac teve que ser instalado do git:

 git clone git://git.gnome.org/vala

Folks teve que ser instalado do git:

 git clone git://git.gnome.org/folks

Libnotify

 git clone git://git.gnome.org/libnotify

Telepathy / telepathy-glib / telepathy-logger

 git clone git://anongit.freedesktop.org/telepathy/telepathy-glib
git clone git://anongit.freedesktop.org/telepathy/telepathy-logger


Gnome-keyring / gcr-3 / p11-kit-1

 git clone git://anongit.freedesktop.org/p11-glue/p11-kit
git clone git://git.gnome.org/gnome-keyring

Erros de Compilacao

Existe um bug no Ubuntu 11.04 natty. Quando rodamos make, o seguinte erro aparece:

 /bin/grep: /lib/x86_64-linux-gnu/libgcrypt.la: No such file or directory
/bin/sed: can't read /lib/x86_64-linux-gnu/libgcrypt.la: No such file or directory
libtool: link: `/lib/x86_64-linux-gnu/libgcrypt.la' is not a valid libtool archive

Para resolver, veja na pagina do bug do Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libgcrypt11/+bug/751142

O que eu terminei fazendo (Usuário:V1z) foi um link simbolico, ja que o pacote libgcrypt ta bugado:

 cd /lib/x86_64-linux-gnu
ln -s /usr/lib/x86_64-linux-gnu/libgcrypt.la

Estudos

O que é Vala

Vala é uma nova linguagem de programacão que tem como objetivo trazer características de uma linguagem de programacão moderna para os desenvolvedores GNOME sem usar uma ABI diferente comparado as aplicacões e bibliotecas escritas em C.

Valac, o compilador Vala, é um compilador "self-hosting" que traduz código Vala para código C e cabecalhos. Valac usa o sistema de tipo do GObject para criar classes e insterfaces declaradas no código-fonte Vala.

A linguagem Vala é parecida com C#, apenas com alguns ajustes para se encaixar melhor no C/GObject.

Valac produz código C e arquivos de cabecalho a partir de código Vala como se você tivesse escrito sua biblioteca ou aplicacão diretamente em C.

Uma boa IDE para desenvolver em Vala é o Mono-Develop

Source-Code

O código está dividido em pastas:

  • /src : Se encontram os principais arquivos de código.
  • /libempathy-gtk : Se encontram os códigos responsáveis pela UI.
  • /libempathy : Se encontram os códigos mais "baixo nível". O código que "faz a coisa funcionar" propiamente dito.
Arquivos/Func'ões Importantes (na caça ao bug)
empathy.c / main()

local: /src/empathy.c (linha: 704)

empathy-contact-selector.c

local: /libempathy-gtk/empathy-contact-selector.c

descrição: Responsável pela seleção de contatos da lista. (Uma forma de reproduzir o bug é selecionando qualquer contato quando a "view offline contacts" estiver ativo.)