Automic VaultAutomic Vault

brew

Install fpm with Homebrew, MacPorts, Nix, scoop, winget

Package manager and build system for Fortran. Version 0.13.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install fpm

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install fpm

MacPorts ports tree · devel/fpm/Portfile · source: api.github.com

Windows

Scoopverified · 92%
scoop install extras/fpm

Scoop official bucket manifest trees · bucket/fpm.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id FortranLang.fpm -e

Windows Package Manager source index · FortranLang.fpm · source: cdn.winget.microsoft.com

overview

Package summary

Package manager and build system for Fortran

Commands and aliases

  • fpm

history

Project history and usage

Fortran Package Manager, usually called fpm, is the Fortran-lang community's package manager and build system for modern Fortran projects. Its official README says the tool aims to improve Fortran programmer experience by making projects easier to build, test, run, and distribute as dependencies.

Project history

fpm was developed inside the Fortran-lang organization as a Cargo-inspired tool for Fortran. The official README explicitly says its user interface is modeled after Rust's Cargo and that its long-term vision is to nurture a modern Fortran applications and libraries ecosystem.

The release history shows a rapid alpha sequence in 2020 and 2021, followed by continuing feature releases through the 2020s. The documentation now includes a manifest reference, registry workflows, dependency forms, metapackages, compile_commands.json output, and API documentation.

Adoption history

Official install documentation and the README describe binary downloads for Windows, macOS, and Linux, availability through conda-forge, and a Homebrew tap. The README also points users to the fpm registry for existing packages, showing the project moving beyond a build wrapper into a package ecosystem.

How it is used

A new package starts with fpm new, which creates a project containing fpm.toml and source directories. Common commands include fpm build, fpm run, fpm test, and fpm install, while the manifest file declares package metadata, targets, dependencies, build options, and registry dependencies.

Why package nerds care

fpm matters to package nerds because it gives Fortran a first-party, language-community package and build workflow in the style of Cargo. It standardizes the fpm.toml manifest, dependency declarations, project layouts, test/example targets, registry use, and cross-platform binary distribution for a language that historically relied on ad hoc Makefiles and compiler-specific build recipes.

Timeline

  • 2020: Early v0.1 alpha releases appeared on GitHub.
  • 2021: v0.5.0 was published and a rolling current release tag was introduced.
  • 2022: v0.6.0 and v0.7.0 continued the alpha-era package manager and build-system work.
  • 2023: v0.8.x and v0.9.0 releases expanded the tool before the later 0.10 series.
  • 2025: v0.12.0 was published; current docs describe registry dependencies and manifest features including shared/static library target types.
  • 2026: v0.13.0 was published.

Related projects

  • The README relates fpm to Rust Cargo as a UI model, to the fpm-registry as the package source, to fortran-lang/homebrew-fortran for Homebrew installation, and explicitly distinguishes it from Jordan Sissel's unrelated fpm packaging tool.

security posture

Risk level: orange

generalized runtime or code generation signal. infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • generalized runtime or code generation signal
  • infrastructure mutation or orchestration signal

Signals

  • text:build system
  • text:package manager

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
fpm.toml

executables

Installed executables

CommandKindExposureNote
fpmcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.13.0
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/fortran-lang/fpm

install metadata

Package metadata

Package keybrew:fpm
Version0.13.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/fpm
Homepagehttps://fpm.fortran-lang.org
Repositoryhttps://github.com/fortran-lang/fpm
Upstream docshttps://fpm.fortran-lang.org/
LicenseMIT
Source archivehttps://github.com/fortran-lang/fpm/releases/download/v0.13.0/fpm-0.13.0.F90
Dependenciesgcc
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namefpm
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

fpm

nix profile install nixpkgs#fpm
  • normalized package name match
  • Matched by: Fpm
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: fpm from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
MacPorts95%

fpm

sudo port install fpm
  • normalized package name match
  • Matched by: Fpm
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/fpm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

extras/fpm

scoop install extras/fpm
  • normalized package name match
  • Matched by: Fpm
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/fpm.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
winget95%

FortranLang.fpm

winget install --id FortranLang.fpm -e
  • normalized package name match
  • Matched by: Fpm
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: FortranLang.fpm from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment