Installeren van fpm

Deze handleiding beschrijft de installatie van de Fortran-packagemanager (fpm) op de diverse platforms.

Download de programma’s

Voor macOS, Linux en Windows (alles op x86-64) zijn executables beschikbaar voor elke afzonderlijke versie van fpm, evenals de nieuwste (bleeding edge) versie, gebaseerd op de laatste commits in de hoofdtak.

Ga naar fpm Releases om alle beschikbare releases te bekijken. De bestanden die te downloaden zijn staan onder Assets in elke release-sectie. Klik op de link voor het gewenste operating systeem. Bijvoorbeeld, om een fpm-executable voor macOS te downloaden, klik op de link genaamd macos. Na het downloaden moet het programma uitvoerbaar gemaakt worden. Op Linux en macOS doe je dat als volgt:

chmod +x fpm-0.5.0-linux-x86_64

Als alternatief kun je de executable in een directory zetten die in het pad is opgenomen (d.w.z. in de PATH environmentvariabele). Je kunt ook de executable hernoemen tot fpm, als dat makkelijker is.

Voor Windows zijn zowel een zelfstandige executable als een Windows-Installer voor fpm beschikbaar.

Notitie

Links, die eindigen op .sha256, geven de cryptographische hashes aan, om te verifiëren, of het downloaden van de executables is gelukt. Om de integriteit ervan te verifiëren kun je lokaal de checksum ervan berekenen en met de checksum uit de release vergelijken.

❯ 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

Wanneer de checksums niet met elkaar overeenstemmen is de download hoogstwaarschijnlijk onvolledig. Probeer het dan opnieuw en vergelijk de checksum opnieuw.

Packagemanager van MSYS2

MSYS2 mingw package

The MSYS2 project provides a package manager and makes many common Unix tools available for Windows.

Notitie

Om fpm te installeren, kan het installatieprogramma msys2-x86_64-YYYYMMDD.exe van de website van MSYS2 gebruikt worden. MSYS2 maakt enkele nieuwe links aan op de desktop, zoals de MSYS terminal, MinGW64 terminal en UCRT64 terminal (voor meer informatie hierover zie hier).

Voor alledrie terminals, UCRT64, MinGW64 en MinGW32 wordt fpm ondersteund.

Open een nieuwe terminal en werk de installation bij met:

pacman -Syu

Het kan nodig zijn om eerst MSYS2 en pacman bij te werken. Start dan een nieuwe terminal en voer de opdracht hierboven uit, om de geïnstalleerde packages bij te werken.

Als je de MinGW64 terminal gebruikt, kun je de vereiste software installeren met

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

Tip

Voor het draaien van fpm zijn git of gfortran niet noodzakelijk. Maar als deze software geïnstalleerd is, dan wordt het automatisch gebruikt.

Homebrew packagemanagement

De Fortran-packagemanager (fpm) is voor de homebrew packagemanager op MacOS beschikaar via een andere tap. Om fpm via brew te installeren, voeg de nieuwe tap toe en installeer het met:

brew tap fortran-lang/homebrew-fortran
brew install fpm

Binaire distributies zijn voor MacOS 11 (Catalina) en 12 (Big Sur) met x86_64-architecturen beschikbaar. Voor andere platforms wordt fpm automatisch uit de broncode gebouwd.

Na deze stappen moet fpm volledig functioneren.

Macports

MacPorts package

The Fortran Package Manager (fpm) is available via macports and can be installed with

sudo port install fpm

Na deze stappen moet fpm volledig functioneren.

Conda Paketverwaltung

Conda (channel only)

Fpm is beschikbaar via [conda-forge]. Om conda-forge te gebruiken moet je het toevoegen aan je kanalen:

conda config --add channels conda-forge

Fpm kan met de volgende opdrachten geïnstalleerd worden:

conda create -n fpm fpm
conda activate fpm

Als alternatief kan fpm ook direct in de huidige omgeving geïnstalleerd worden met

conda install fpm

Notitie

De conda-packagemanager kan vanaf miniforge of vanaf miniconda geïnstalleerd worden.

Spack package manager

Spack package

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.

Arch Linux gebruikersrepository

AUR version AUR version

De Arch Linux gebruikersrepository (AUR) bevat twee pakketten voor de Fortran-packagemanager (fpm). fortran-fpm-bin is voor de statisch gelinkte Linux/x86_64-Bin executable van de release-site, terwijl het fortran-fpm pakket fpm uit de broncode bouwt.

Kies een van de PKGBUILDs en haal het op met:

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

Als altijd, inspecteer eerst de PKGBUILD voor je het bouwt. Als alles in orde is, bouw dan het pakket met:

makepkg -si

Als het pakket met succes gebouwd is, kan het met pacman geïnstalleerd worden.

OpenBSD ports

OpenBSD port

A port for OpenBSD is available in the default port tree. To install fpm install the devel/fpm port with

cd /usr/ports/devel/fpm
make install clean

WinGet

winget package

The installer provided from the fpm release can be used via WinGet to install fpm:

winget install FortranLang.fpm

Bouwen vanaf de broncode

Om fpm vanaf de broncode te bouwen, haal eerst het meest recente fpm-bronbestand op door het clonen van de repositories op GitHub met:

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

of door het ophalen van een tarball met de laatste broncode.

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

Het installatiescript staat je toe fpm via een Fortran-compiler, Git en netwerktoegang te bouwen. Start het script voor het bouwen van de bootstrap:

./install.sh

Fpm wordt in ~/.local/bin/fpm geïnstalleerd.

Notitie

Het bouwen van de bootstrap-executable vanaf het enkele bronbestand vergt een paar seconden, waardoor het script lijkt te bevriezen.

Tip

De locatie voor de installatie kan met de optie --prefix=/pad/voor/installatie aangepast worden.

Als je het script niet kunt uitvoeren, kan het bootstrap-proces handmatig doorlopen worden, met de volgende drie stappen:

  1. Download het enkele bronbestand voor fpm

    wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
    
  2. Bouw een bootstrap-executable met dit enkele bronbestand

    mkdir -p build/bootstrap
    gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
    
  3. Gebruik de bootstrap-executable om fpm met volledige functionaliteit te bouwen

    ./build/bootstrap/fpm install