g-Octave

Já a algum tempo venho desenvolvendo uma eclass para auxiliar na instalação de pacotes do Octave-Forge no Gentoo. Para quem não conhece, o Octave-Forge é um repositório de pacotes desenvolvidos pelos usuários, para o GNU Octave.

A eclass funciona bem e é bastante simples, se comparada à antiga eclass, utilizada pelo pessoal do overlay sci do Gentoo, pois, nas ultimas versões, o Octave-Forge tem fornecido Makefiles e scripts de administração feitos pensando no empacotamento para distribuições Linux. :)

Após testes, enviei a eclass para o desenvolvedor Markus Dittrich, criador da antiga eclass.

O Markus me disse que os desenvolvedores responsáveis pelos pacotes do GNU Octave haviam decidido por não adicionar os pacotes do Octave-Forge à árvore do Portage, pois os ebuilds destes pacotes não fazem praticamente nada além de chamar a eclass, que acaba sendo responsável por toda a instalação.

Ele me sugeriu fazer um único ebuild que baixasse os pacotes desejados pelo usuário e instalasse, porém isso seria extremamente complicado. Então surgiu a ideia, baseada nos softwares ja existentes (g-cpan: para o os módulos Perl do CPAN; g-ctan: para os pacotes TexLive), de desenvolver um software que criasse estes ebuilds automaticamente, os colocasse em um overlay e os instalasse, utilizando os package managers do Gentoo.

Assim nasceu o g-Octave, desenvolvido em Python e, inicialmente, suportando apenas o Portage.

Atualmente já possuo uma versão minimamente estável e utilizável, a 0.1_rc2, que está disponível no meu overlay novo.

Há alguns dias criei um bug no bugzilla do Gentoo, para a adição do g-Octave no Portage ou em algum overlay oficial, pois preciso de usuários testando, para encontrar possíveis falhas e então chegar em uma versão estável de fato.

http://bugs.gentoo.org/299039

Informações sobre a versão 0.1_rc2 podem ser obtidas aqui.

O repositório Mercurial, os tarballs e a doc da versão em desenvolvimento podem ser encontrados em:

http://bitbucket.org/rafaelmartins/g-octave/

Num próximo post irei falar sobre as dificuldades no desenvolvimento e sobre os planos futuros para esta ferramenta.

Quem puder, teste e reporte os bugs :)

Até a próxima!

blog comments powered by Disqus