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

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 awvwgk/fpm
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.

Conda Paketverwaltung

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.

Arch Linux gebruikersrepository

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.

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