Estendendo fpm com complementos
Conteúdo
Estendendo fpm com complementos¶
O Gerenciador de Pacotes Fortran possui um sistema de plugins que permite estender sua funcionalidade. Este tutorial mostrará como instalar um plugin com fpm e usá-lo.
Ferramenta de busca de pacotes¶
O projeto fpm-search é um plugin que consulta o registro de pacotes. Dado que ele também é um pacote fpm podemos facilmente instalá-lo em nosso sistema usando
git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release
Isso instalará o binário do fpm-search
no ~/.local/bin
(ou em %APPDATA%\local\bin
no Windows).
Nota
Se assegure de que o binário instalado está no PATH
, Ex: rode
which fpm-search
~/.local/bin/fpm-search
Se nenhum binário foi encontrado, adicione o diretório ao seu PATH usando
Configurações padrão para o shell bash podem ser encontradas no ficheiro .bashrc
em sua pasta pessoal, para adicionar ao PATH
siga as instruções abaixo.
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc
Tenha certeza de usar o comando source em seu .bashrc
após alterá-lo, caso contrário as mudanças não afetarão o shell atual.
Confirgurações padrões podem ser encontradas no ficheiro .zshrc
em sua pasta pessoal, para adicionar ao PATH
use
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh
Tenha certeza de reiniciar o zsh após mudar o .zshrc
, caso contrário a mudança não afetará o shell atual.
A variável de ambiente PATH
pode ser modificada usando o programa pathman a partir da linha de comando
pathman /au %APPDATA%\local\bin
Agora, com uma instalação funcional, podemos chamar nosso novo plugin a partir do fpm.
❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...
Note que usamos fpm search
em vez de fpm-search
no comando. Agora, para encontrarmos um pacote que cria interfaces por linhas de comando podemos escrever
❯ fpm search commandline
M_CLI : Unix-style commandline parsing using a prototype command and NAMELIST (STD:f2008)
M_CLI2 : Unix-style commandline parsing using a prototype command
Para utilizar um dos pacotes no nosso manifesto podemos gerar a dependência necessária rodando
❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }
Adicionar esta linha ao manifesto do pacote permite depender do respectivo projeto.
Sumário
Neste tutorial você aprendeu como
instalar um complemento no fpm
usar o complemento fpm-search para consultar o registro
gerar uma dependência a partir do resultado de uma consulta