Compilando Prisma no Linux

Este post cobre uma necessidade imediata e futura referente à forma como vou disponibilizar Prisma para distros Linux.

Por que aprender a compilar em Linux?

Devido a imensa variedade de sabores Linux e arquiteturas, vou disponibilizar futuramente apenas os fontes comprimidos da linguagem Prisma para quem quiser usar em ambiente Unix like fazer a própria compilação, o que não tem segredo nenhum.

Prisma é baseada nos fontes Lua-5.2 (5.3 futuramente) e sendo assim tem uma alta portabilidade para ser compilada em Windows, Linux ou Mac (até mesmo para ser embutida em micro processadores, bastando fazer a adaptação).

Passo a passo:

 

Baixe os fontes Prisma mais atual na página de downloads clicando <aqui>

 

1 – Ferramentas necessárias:

1.1 — Compilador C e headers padrão:

Caso não tenha, é preciso instalar ferramentas da linguagem C, compilador e headers, pois Prisma é feita em C. Digite, no terminal, o seguinte comando:

Não se preocupe, caso não seja necessário, o próprio sistema saberá e aparecerá uma mensagem dizendo que os pacotes já estão instalados e atualizados, caso contrário a instalação irá cobrir o que falta.

1.2 – Libreadline – para compilar Prisma:

 

Essa lib é que faz aparecer o que foi digitado anteriormente no terminal.

O primeiro comando instala os binários da shared libraries, o segundo instala os pacotes de cabeçalhos da libreadline6 para compilar com Prisma.

Com isso já podemos compilar o interpretador e compilador Prisma.

Na pasta source_prisma, procure o arquivo shell script compila_so_prisma.sh e execute-o, Prisma será compilada automaticamente se os passos acima deram certo.

Obs.: é necessário definir o arquivo compila_so_prisma.sh como executar como programa. Para isso clique com botão direito do mouse em cima dele clique em propriedades e na janela aberta vá na aba Permissões, marque em permitir execução do arquivo como um programa.

Ou por linha de comando em distro Debian/Ubuntu ou derivados:

2 – Compilando as bibliotecas Prisma em C:

 

2.1 – Vamos começar com o appindicator:

Instale pelo terminal ou pesquise os seguintes nomes no gerenciador synaptic ou o correspondente à sua distro linux:

libappindicator1, libappindicator-dev (são essas versões usadas com Prisma);

Essa lib serve para colocar um ícone na barra de notificação Unity do Ubuntu, pois as funções normais do gtk não conseguem fazer isso. Somente use esta lib, portanto no Ubuntu com interface Unity, certo.

No terminal:

Após isso, entre na pasta source_prisma, e depois na pasta appindicator e execute o arquivo shell zz_compilar_e_instalar.sh (lembre-se de marcar como arquivo executável, igual eu expliquei logo acima);

Dentro da pasta appindicator tem um simples manual e testes.prisma.

Obs.: Sempre compile primeiro Prisma e depois as libs, ok!

2.2 — Compilando o IGBR (interface gráfica em pt_BR):

São necessários os cabeçalhos e binários do gtk2 e gtksourceview.

Para distros Debian/Ubuntu/Mint ou derivados faça os seguintes comandos:

(Para outras distros Linux use o gerenciador de pacotes correspondentes a sua distro, ou até mesmo, se souber, use os comandos de instalação próprios da sua distro)

Instalando o gtk:

(Não tenho certeza, mas talvez ao instalar o pacote -dev  os binários já são instalados juntos)

Instalando o gtksourceview (área de texto com colorização de fontes de linguagens de programação):

Agora só entrar na pasta igbr e executar o arquivo shell script compila.sh

Pode ser que os pacotes acima estejam totalmente ou parcialmente instalados em seu Linux. Mas tente executá-los mesmo assim.

Obs.: se sua distro não for baseada em Debian, os comandos sudo e apt-get install poderão ser diferentes, use o gerenciador de pacotes de instalação ou pesquise como instalar programas em terminal em sua distro Linux.

Obs.: o igdir compila normalmente, o igrede usa cabeçalhos e binários que já estão incluídos no gtk instalado acima.

 

2.3 — Compilando o igvlc

IGVLC — biblioteca para tocar som e vídeo junto com igbr. Infelizmente há um bug ainda não resolvido que não permite tocar vídeo no Linux, só no Windows. Mas é possível tocar sons com um pouco de cuidado para não bugar junto com o igbr. Por isso, vou mostrar como compilá-la.

Instale os seguintes pacotes:

Pronto, pode executar o compila.sh na pasta igvlc.

Dentro da pasta igvlc, há uma pasta com exemplos, teste.prisma e outros, execute e abra um arquivo de áudio, irá tocar perfeitamente, mas se tentar abrir um vídeo acontecerá o bug que ainda não descobri como consertar, engraçado que no Windows os vídeos rodam de boa.

2.4 — IGWebkit 

 

Biblioteca em teste ainda, apenas no Linux, no Windows não consegui compilar esta maravilha. Serve para criar navegador web ou para Aplicativos network.

Instale pelo terminal ou pesquise no gerenciador de pacotes:

Execute o compila.sh dentro da pasta igwebkit.

2.5 — MySQL client

 

É um binding do conector C (cabeçalhos e binários) para fazer a conexão e manusear o banco de dados MySQL em um servidor APACHE.

Instale o pacote de desenvolvimento no terminal ou use o gerenciador de pacotes:

Pronto, entre na pasta mysql-lib e execute o arquivo compila.sh

Procure o tutorial aqui no site.

2.6 — pcgi e psqlite3 

Compilam normalmente, basta entrar na pasta e executar o compila.sh.

2.7 — A lib Terminal usa o pacote libreadline6 já instalado acima

Basta entrar na pasta e executar o compila.sh.

 

3 — Notas finais

Como você pôde ter percebido, junto com os shell scripts há também os arquivos compila.bat que compila em Windows, para tanto é necessário ter o ambiente minGW, GTK e outros no disco C:\. Isso fica para outro tutorial, ok! O que não é tão importante, pois já distribuo os binários prontos e compatíveis com o Windows (XP, 7 e 10);

OBS.: Para instalar basta digitar a senha após cada compilação, por isso, compile Prisma primeiro e instale, depois as libs.

Qualquer dúvida, crítica ou correção, escreva nos comentários, ou no fórum oficial:

http://linguagemprisma.br4.biz/prisma_forum/index.php

 

Até a próxima.

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *