Kodumaro :: Smackage

Publicado em 26 de Outubro, 2018
As sombras da programação.

Há uns meses descobri um projeto muito bacana para gerenciamento de pacotes Standard ML, chamado Smackage.

Instalação

Em seu .bash_profile configure o diretório do projeto:

export SMACKAGE_HOME="$HOME/.smackage"

Agora baixe e instale o projeto:

sh$ git clone git://github.com/standardml/smackage.git
sh$ make mlton
sh$ bin/smackage
sh$ DESTDIR=$SMACKAGE_HOME make install

Agora adicione $SMACKAGE_HOME/bin a seu PATH e atualize o sistema, de volta ao diretório do projeto:

sh$ ./bin/smackage refresh
sh$ ./bin/smackage make smackage mlton
sh$ ./bin/smackage make smackage install

Configurando MLton

Para fazer o MLton (compilador Standard ML) reconhecer o Smackage, crie o arquivo ~/.mlb-path-map com o seguinte conteúdo:

SMACKAGE /home/user/.smackage/lib

Onde /home/user é seu homedir.

Crie um alias para o executável:

alias mlton='/usr/bin/mlton -mlb-path-map /home/user/.mlb-path-map'

Substituindo /home/user por seu homedir, como acima.

Instalando um pacote

Criei um pacote de teste unitário para MLton chamado UnitTestML.

Para instalá-lo, você deve primeiro adicionar a fonte ao Smackage:

sh$ smackage source UnitTestML git https://[email protected]/cacilhas/unittestml.git

Agora você deve atualizar a base do Smackage:

sh$ smackage refresh

E já pode instalar o pacote:

sh$ smackage get UnitTestML

E é isso! Para usá-lo em sua aplicação, adicione a seu arquivo test.mlb:

$(SMACKAGE)/UnitTestML/v1/unittest.mlb

No próximo artigo irei falar como fiz para criar o projeto UnitTestML e como utilizá-lo em seu projeto.

Funcional | ML