Instalação do fpm

Este guia cobre a instalação do Gerenciador de Pacotes Fortran (fpm) em várias plataformas.

Baixar executáveis

Binários para macOS, Linux e Windows (todos para a arquitetura x86-64) estão disponíveis para download em cada lançamento do fpm, bem como a versão mais recente (bleeding edge) que está a par com o último commit do ramo main.

Vá para fpm releases para ver todas as versões disponíveis. Os arquivos a serem baixados se encontram ao final de cada seção de release sob Assets; Clique no link apropriado baseado no seu SO. Por exemplo, para baixar o binário para o macoOS, clique no link que possui macos no nome. Após baixado, você precisará torná-lo executável. No Linux e macOS, você pode fazer isso digitando

chmod +x fpm-0.5.0-linux-x86_64

De forma opcional, coloque o binário em um diretório que é globalmente acessível (Ex. na variável de ambiente PATH). Você também pode renomear o binário para apenas fpm para ser mais fácil de usar.

Para Windows, tanto um arquivo binário independente quanto um instalador para o fpm estão disponíveis.

Nota

Links que possuem a extensão .sha256 fornece as hashes criptográficas que você pode usar para verificar se o download do seu binário foi um sucesso. Para verificar a integridade do seu download você pode realizar o checksum que pode ser computado localmente e comparado com o disponível no release

❯ openssl sha256 -r fpm-0.5.0-linux-x86_64
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 *fpm-0.5.0-linux-x86_64
❯ cat fpm-0.5.0-linux-x86_64.sha256
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8  fpm-0.5.0-linux-x86_64

se o checksum não confere, o download pode ter sido incompleto e o binário pode não funcionar. Nesse caso, tente baixar o binário novamente e confira se o checksum bate.

Gerenciador de pacotes MSYS2

O projeto MSYS2 provê um gerenciador de pacotes e torna várias ferramentas comuns ao Unix disponíveis no Windows.

Nota

Para instalar baixe o arquivo instalador msys2-x86_64-AAAAMMDD.exe a partir do site do MSYS2 e execute-o. MSYS2 criará vários atalhos em sua Área de Trabalho, como o MSYS terminal, MinGW64 terminal e o UCRT64 terminal (mais informações sobre terminais do MSYS2 estão disponíveis aqui).

O Gerenciador de Pacotes Fortran possui suporte aos terminais UCRT64, MinGW64 e MinGW32.

Abra um novo terminal e atualize sua instalação usando

pacman -Syu

Você pode precisar atualizar o MSYS2 e o pacman primeiro, reinicie o terminal e rode os comandos novamente para atualizar os pacotes instalados.

Se você está usando o terminal MinGW64 você pode instalar os programas necessários usando

pacman -S git mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-fpm

Dica

Tanto o git quanto o gfortran não são dependências obrigatórias para rodar o fpm. Ambos podem ser fornecidos externamente.

Gerenciador de pacotes Homebrew

O Gerenciador de Pacotes Fortran (fpm) está disponível para o gerenciador de pacotes homebrew no MacOS via um tap adicional. Para instalar o fpm pelo comando brew, inclua o novo tap e instale-o usando

brew tap awvwgk/fpm
brew install fpm

Distribuição de binários estão disponíveis para MacOS 11 (Catalina) e 12 (Big Sur) para arquiteturas x86_64. Para outras plataformas fpm pode ser compilado localmente direto do código-fonte de forma automática.

Fpm deverá estar disponível e funcionando após este processo.

Gerenciador de pacotes Conda

O fpm está disponível no conda-forge, para adicionar o conda-forge aos seus canais use:

conda config --add channels conda-forge

Fpm pode ser instalado com:

conda create -n fpm fpm
conda activate fpm

Alternativamente, se você deseja que o fpm estejaa sempre disponível instale diretamente no seu ambiente de trabalho atual usando

conda install fpm

Nota

O gerenciador de pacotes conda pode ser instalado a partir do miniforge ou partindo do miniconda.

Spack package manager

Fpm is available with spack in its develop version. To install fpm from spack use

spack install fpm

You can add +openmp to enable parallelization of the target compilation in fpm. To use fpm in your environment load it with

spack load fpm

For more details check the package information here.

Repositório comunitário do Arch Linux (AUR)

O repositório da comunidade do Arch Linux (AUR) contém dois pacotes para o Gerenciador de Pacotes Fortran (fpm). O pacote fortran-fpm-bin instala um binário estático Linux/x86_64 da página de lançamento, já o pacote fortran-fpm vai compilar o fpm inicial direto do código-fonte.

Selecione um dos arquivos PKGBUILD e baixe-o usando

git clone https://aur.archlinux.org/fortran-fpm.git
cd fortran-fpm

Naturalmente, primeiro você deve inspecionar o PKGBUILD antes compilá-lo. Após verificar que o arquivo PKGBUILD parece seguro, compile o pacote com

makepkg -si

Uma vez que a compilação tenha terminado, o pacman vai perguntar sobre a instalação do pacote fpm.

Compilando o código-fonte

Para compilar o fpm a partir de seu código-fonte baixe sua versão mais recente, seja clonando o repositório do GitHub com

git clone https://github.com/fortran-lang/fpm
cd fpm

ou através do download de um arquivo comprimido contendo o código-fonte mais recente

wget https://github.com/fortran-lang/fpm/archive/refs/heads/main.zip
unzip main.zip
cd fpm-main

O script de instalação disponível permite compilar o fpm inicial usando apenas um compilador Fortran, o git e acesso a rede. Rode o script para iniciar o processo de compilação

./install.sh

Fpm será instalado em ~/.local/bin/fpm.

Nota

A construção de um binário inicial partindo da versão de código-fonte único pode demorar alguns segundos, o que pode fazer com que o script pareça congelado.

Dica

O local da instalação pode ser ajustado passando a opção --prefix=/caminho/para/instalar.

Se você não conseguir rodar o script de instalação, você pode realizar o procedimento manualmente, com os seguintes passos:

  1. Baixe a versão de código-fonte único do fpm

    wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
    
  2. Compile um executável inicial a partir da versão de código-fonte único

    mkdir -p build/bootstrap
    gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
    
  3. Use o executável inicial para compilar a versão completa do fpm

    ./build/bootstrap/fpm install