return 1;
Estudando python EFL – parte 1
Bom, nos últimos tempos tenho estudado o Maemo, que utiliza o GTK como base dos widgets e de expansão da plataforma, mas vendo aplicações como canola que usa EFL, acredito que para uma aplicação mais interativa e eye-candy realmente vale a pena considerar o EFL como tecnologia para o desenvolvimento de aplicações para maemo, imaginei que a instalação do ambiente fosse algo mais trivial (e é depois que aprendi), com a ajuda do Gustavo Barbiery consegui finalizar a configuração do ambiente. E agora estou escrevendo um how-to para complementar o aprendizado.
A idéia é escrever um conjunto de posts para compartilhar os conhecimentos adquiridos, ajudando os mais novos (assim como eu) entrar no desenvolvimento de aplicações para maemo ou desktop utilizando esta tecnologia. Pretendo nos posts ter 2 seções uma com resumo e outra explicando com mais detalhes para os que não possuem muita experiência com linux possam entender e aprender.
Para constar, estou usando o Ubuntu 8.10.
Resumido:
- Instalar os pacotes build-essential libpng12-dev libjpeg62-dev python-setuptools librsvg2-dev python2.5-dev subversion autoconf automake autotools-dev m4 libtool cvs git-core libdbus-1-dev
- Fazer o checkout do código do trunk do svn do enlightenment dos seguintes pacotes: eina eet evas ecore embryo edje etk edje_editor.
- Compilar os códigos na seguinte ordem: eina eet evas ecore embryo edje etk edje_editor.
- Fazer checkout dos bindings do efl para python do SVN: cython python-efl-utils python-evas python-ecore python-edje python-etk.
- Instalar os pacotes na seguinte ordem: python-efl-utils python-evas.
- Após instalar o python-evas, você precisa instalar os headers para compilar o python-ecore, então: python setup.py install_headers
- Continuar a instalação dos pacotes dos bindings: python-ecore, python-edje e python-etk
Detalhado:
Instalar os pacotes essenciais para compilar os códigos, usando apt-get ou aptitude:
$ apt-get install build-essential libpng12-dev libjpeg62-dev python-setuptools librsvg2-dev python2.5-dev subversion autoconf automake autotools-dev m4 libtool cvs git-core libdbus-1-dev
Após instalar esses pacotes é preciso fazer o checkout do repositório do enlightenment, você pode criar uma pasta no seu home e entre no diretório:
$ mkdir $HOME/e_src
$ cd $HOME/e_src
entrar na pasta e fazer o checkout dos códigos eina eet evas ecore embryo edje etk edje_editor:
$ svn co https://svn.enlightenment.org/svn/e/trunk/eina eina
$ svn co https://svn.enlightenment.org/svn/e/trunk/eet eet
$ svn co https://svn.enlightenment.org/svn/e/trunk/evas evas
$ svn co https://svn.enlightenment.org/svn/e/trunk/ecore ecore
$ svn co https://svn.enlightenment.org/svn/e/trunk/embryo embryo
$ svn co https://svn.enlightenment.org/svn/e/trunk/edje edje
$ svn co https://svn.enlightenment.org/svn/e/trunk/etk etk
$ svn co https://svn.enlightenment.org/svn/e/trunk/edje_editor edje_editor
$ svn co https://svn.enlightenment.org/svn/e/trunk/e_dbus e_dbus
após ter feito o checkout do código, você precisar exportar os códigos para não mexer no código que veio pelo svn assim você pode aproveitar sempre as alterações do código, para atualizar sua cópia do svn basta:
$ svn up
crie uma pasta onde conterá o código exportado para compilação e entre na diretório:
$ mkdir $HOME/e_src_exported
$ cd $HOME/e_src_exported
exportando:
$ svn export $HOME/e_src/eina eina
$ svn export $HOME/e_src/eet eet
$ svn export $HOME/e_src/evas evas
$ svn export $HOME/e_src/ecore ecore
$ svn export $HOME/e_src/embryo embryo
$ svn export $HOME/e_src/edje edje
$ svn export $HOME/e_src/e_dbus e_dbus
após exportar, precisamos compilar, começaremos pelo eina e estes comandos devem ser repetidos para cada diretório:
$ cd eina
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois o eet:
$ cd eet
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois evas:
$ cd evas
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois ecore:
$ cd ecore
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois o embryo:
$ cd embryo
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois e por último o edje:
$ cd edje
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois o etk:
$ cd etk
$ sh autogen.sh
$ make
$ sudo make install
$ sudo ldconfig
$ cd ..
depois o edje_editor:
$ cd edje_editor
$ sh autogen.sh
$ make
$ sudo make install
$ cd ..
depois o e_dbus:
$ cd e_dbus
$ sh autogen.sh
$ make
$ sudo make install
$ cd ..
Antes de instalar os bindings é preciso instalar algumas dependências:
$ wget -c http://www.cython.org/Cython-0.10.3.tar.gz
$ git clone git://git.profusion.mobi/users/ulisses/python-dispatcher.git
E após, instale o Cython:
$ tar -zxvf Cython-0.10.3.tar.gz
$ cd Cython-0.10.3
$ sudo python setup.py install
$ cd ..
e o Python-Dispather:
$ cd python-dispatcher
$ sudo python setup.py install
$ cd ..
Após ter compilado e instalado os componentes essenciais do EFL, você precisa compilar e instalar os bindings para python, baixando os pacotes dentro do mesmo diretório pra onde exportou o código do svn:
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-evas
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-ecore
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-edje
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-etk
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-e_dbus
Exportando:
$ cd $HOME/e_src_exported
$ svn export $HOME/e_src/python-evas python-evas
$ svn export $HOME/e_src/python-ecore python-ecore
$ svn export $HOME/e_src/python-edje python-edje
$ svn export $HOME/e_src/python-etk python-etk
depois o python-evas:
$ cd python-evas
$ sudo python setup.py install
$ sudo python setup.py install_headers
$ cd ..
depois o python-ecore:
$ cd python-ecore
$ sudo python setup.py install
$ cd ..
depois o python-edje:
$ cd python-edje
$ sudo python setup.py install
$ cd ..
depois o python-etk:
$ cd python-etk
$ sudo python setup.py install
$ cd ..
depois o python-e_dbus:
$ cd python-e_dbus
$ sudo python setup.py install
$ cd ..
Pronto! você possui uma instalação funcional.
Para testar, você pode o exemplo que o Gustavo Barbiery fez, você precisa fazer o checkout:
$ mkdir $HOME/efl_demo
$ cd $HOME/efl_demo
$ svn co https://svn.enlightenment.org/svn/e/trunk/BINDINGS/python/python-edje/examples/evas-demo/01-app_launcher 01-app_launcher
$ cd 01-app_launcher
$ edje_cc 01-app_launcher.edc
$ python 01-app_launcher.py
Se tudo funcionar, pronto você realmente tem uma instalação funcional do python efl.
Fontes:
http://wiki.enlightenment.org/
Basicamente, não tem muita referência de instalação do efl e esse é um dos motivos de eu estar escrevendo o post.
Qualquer coisa comenta ai!
Update 24/01/09: Adicionado compilação do e_dbus e python-e_dbus.
Update 01/09/08: Considerando uma instalação inicial inclui mais alguns pacotes para instalar antes de iniciar a compilação: autoconf automake autotools-dev m4 libtool
Update 14/10/08: Houve mudanças nos repositórios do EFL, e agora é preciso compilar também o pacote EINA. Incluído Eina e correções na hora de instalar os bindings
Update 22/12/08: Esse modo de instalação que fiz funcionava bem com a versão antiga do efl, antes do eina. Atualizei para a versão do SVN e inclui a instalação de mais 2 pacotes do EFL, 1 binding e um utilitário(python-dispatcher) e a remoção do python-efl-utils. E tudo feito no ubuntu 8.10.
| Print article | This entry was posted by Daniel Elias on August 23, 2008 at 10:45 pm, and is filed under Computação, Dicas & How To, Tech, efl, maemo, python. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |



about 1 year ago
Olá amigo, muito bom o post, como vc falou é difícil ver algo na net falando do efl, instalação etc e tal… vou fazer a instalação ja! Agora lembre-se, “parte 1″, não faça como eu…nunca faço parte 2, 3, 4 hahahaha. Um abraço, ótima iniciativa.
Reply
about 1 year ago
Valeu Mateus! pois é estou tentando me policiar para que isso não aconteça.
Depois conte se sua instalação funcionou corretamente. Qualquer dúvida e/ou sugestão será bem vinda.
Regards,
Daniel Elias.
Reply
about 1 year ago
olá muito bom pós. É justo o que precisava. Funciona para FEDORA?? por que quando faço o sh autogen.sh na pasta eet (despues fazê-lo na eina) diz-me Não package \\\’eina-0\\\’ found
garcias e perdon por meu protuges é que ademas de ser novato o linux sou de uruguay
Reply
Daniel Elias Reply:
January 10th, 2009 at 1:16 pm
@damian, você instalou o eina corretamente ?!
caso tenha instalado execute no terminal
$ sudo ldconfig
para atualizar.
Reply
about 1 year ago
Ei man eu assiti uma paletra tua de pyton dia 25 na UNINORTE. Pow cara muito massa gostei dessa parada eu me amarro em programação, não sou um fodão mas gosto de aprender e achei super bacana akela parada de enlightmenmt, quero aprender mais, pow ,as chegando direto ao ponto é o seguinte lógico que tu sabe que vai ter em junto o Forun Internacional de Software Livre la em Porto Alegre, pow eu queria perguntar se tu não sabe se da para gente organizar uma caravana saindo aqui de manaus e tu falar ai com os teus contatos e depois eu espalho aqui pela Uninorte ja imprimi até um folder para deixar la no mural eu vi o valor das passagens pela linha aérea AZUL e tava por R$ 517,00 ida e volta so que tem a hospedagem ainda, so que eu vi tipo assim o forun comessa dia 24 a 27 eu via as passagens para ida dia 22 segunda de junho e volta dia 28 no domingo, ví alguns hotéis por la o mais barato que eu vi foi um de R$ 26,00 a diária. Pow man vê ai e me manda alguma coisa assim que tu vêr esse recado vou ficar aguardando flw.
Reply
about 1 year ago
Cara tu poderia me dizer algumas ferramentas que eu posso usar para desenvolvimento de software no ubuntu assim tipow akela imagem que tu mostrou do python efl enlightmennt por que eu iria usar python com gkt mas eu li que gkt é grafico de baixo nível, pow e eu passei 2 dias baixando os pacotes tentar usar o python efl mas quase no ficar na hora de instalar o primeiro pacote do pthyton-evas deu um erro assim ” you need Cyton –www.cyton.org”
eu ja tow quase desistindo, e eu não quero voltar para o mundo sombrio do MS Windows.
HELLLLPPPPP!!!!!!!
Reply