Recompilando um programa a la Debian

Sou “obrigado” a usar o Evolution como cliente de email, pois na empresa onde trabalho eles usam o Microsoft Exchange como servidor de email. Como eu utilizo o Evolution para enviar patches para clientes e para submete-los ao projeto original sempre tenho que mudar o tipo de formatacao para Preformat.

Como e’ chato ter que ficar mudando o formato para vez que for postar um patch resolvi procurar nas preferencias como deixar o Preformat como padrao, mas nao encontrei. Entao lembrei que talvez no gconf-editor eu poderia encontrar algo, mas infelizmente nao encontrei nada la’. Entao resolvi apelar para a recompilacao do Evolution.

Primeiro instalei todas as dependencias do Evolution:
$ sudo apt-get build-dep evolution

Depois baixei o codigo fonte:
$ apt-get source evolution

Entao compile:
$ cd evolution-2.22.3.1
# dpkg-buildpackage -uc -b

Ao final da compilacao serao criados os arquivos .deb no diretoria pai:
$ cd ..
$ ls *.deb
evolution-common_2.22.3.1-0ubuntu1_all.deb
evolution-dbg_2.22.3.1-0ubuntu1_i386.deb
evolution-dev_2.22.3.1-0ubuntu1_i386.deb
evolution-plugins-experimental_2.22.3.1-0ubuntu1_i386.deb
evolution-plugins_2.22.3.1-0ubuntu1_i386.deb
evolution_2.22.3.1-0ubuntu1_i386.deb

A compilacao ocorreu com sucesso, o problema foi que descobri que a funcao do editor na fica no Evolution e sim num componente chamado GNOME_GtkHTML_Editor, nova compilacao, ai vou eu…

Criando um HelloWorld em FLTK2

Embora eu seja um novato em materia de bibliotecas graficas, ha’ muito tempo eu tenho uma grande admiracao pela FLTK. Ela e’ uma biblioteca pequena, flexivel e muito rapida.

Entao resolvi botar a mao na massa e comecar a brincar um pouco com ela. Para que mais pessoas possam fazer o mesmo resolvi postar um passo-a-passo aqui.

Primero baixe o codigo fonte da FLTK2 mais recente:
http://www.fltk.org/software.php?VERSION=1.3.x-r6176&FILE=fltk/snapshots/fltk-2.0.x-r6176.tar.bz2

Descompacte como de costume:
tar jxvf fltk-2.0.x-r6176.tar.bz2

Compile da forma usual:
cd fltk-2.0.x-r6176/
./configure
make
make install

Crie um arquivo com o nome hello.cxx com o conteudo:

#include <fltk/Window.h>
#include <fltk/Widget.h>
#include <fltk/run.h>

using namespace fltk;

int main(int argc, char **argv){
        Window *window = new Window(400, 200);
        window->begin();
        Widget *box = new Widget(10,10,360,160,"Hello World!");
        box->box(UP_BOX);
        box->labelfont(HELVETICA_BOLD_ITALIC);
        box->labelsize(36);
        box->labeltype(SHADOW_LABEL);
        window->end();
	window->show(argc,argv);
	return run();
}

Compile:

g++ -I/usr/local/include -c hello.cxx
g++ hello.o -o hello -L/usr/local/lib -lfltk2 -lXext -lXinerama -lXft -lXi -lX11 -lm

Execute:

./hello

Voce devera’ ver a seguinte tela:

Hello World

Hello World