# Install spin with Homebrew, apt, MacPorts, Nix, pacman

Efficient verification tool of multi-threaded software. Version 6.5.2 via Homebrew; verified 2026-06-14. Also installable with debian: sudo apt install spin.

## Install

```sh
sudo av install brew:spin
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install spin
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install spin
```

  Evidence: MacPorts ports tree: devel/spin/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install spin
```

  Evidence: Debian stable package indexes: spin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#spin
```

  Evidence: nixpkgs package indexes: pkgs/by-name/sp/spin/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S spin
```

  Evidence: Arch Linux sync databases: spin from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:spin
- **Package manager:** Homebrew
- **Version:** 6.5.2
- **Source summary:** Efficient verification tool of multi-threaded software
- **Homepage:** <https://spinroot.com/spin/whatispin.html>
- **Repository:** <https://github.com/nimble-code/Spin>
- **Last updated:** 2026-06-14T15:13:50+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- spin (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 6.5.2
## Project history and usage

Spin is a widely used open-source formal verification tool for multi-threaded software, best known in CLI culture for model checking Promela models from the command line.

### Project history

The official Spin page says the tool was developed at Bell Labs in the Unix group of the Computing Sciences Research Center starting in 1980 and has been freely available since 1991.

### Adoption history

Spin crossed from research software into standard Unix packaging: the official page notes Debian and Ubuntu availability, and the input facts also list Homebrew, MacPorts, Nix, Arch, Debian, and Ubuntu packages.

### How it is used

Users write models in Promela and run Spin to check concurrency properties. The official page's small Peterson mutual-exclusion example shows `spin -run peterson.pml` as a command-line analysis workflow.

### Why package nerds care

For package nerds, Spin is a canonical example of research-grade tooling that belongs in ordinary package indexes: old, portable, scriptable, academically important, and still useful for checking concurrent systems.

### Timeline

- 1980: Development began at Bell Labs, according to the official page.
- 1991: Spin became freely available.
- 2002: Spin received the ACM System Software Award.
- 2016: Version 6.4.5 moved Spin sources to the BSD 3-Clause license.
- 2019: Official source page says the most recent source and binary distribution moved to GitHub maintenance.
- 2020: Current Spin version 6.5.1 was released in July.

### Related projects

- Promela
- Cobra
- Modex
- Swarm verification front-end
- ltl2ba

### Sources

- <https://github.com/nimble-code/Spin>
- <https://spinroot.com/spin/Src/index.html>
- <https://spinroot.com/spin/whatispin.html>
- input source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - spin - 6.5.2+dfsg-2: normalized package name match | Debian stable package indexes: spin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | formal software verification tool | https://spinroot.com/spin/whatispin.html
- Nix - spin: normalized package name match | nixpkgs package indexes: pkgs/by-name/sp/spin/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - spin - 6.5.2+dfsg-1: normalized package name match | Ubuntu 24.04 LTS package indexes: spin from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | formal software verification tool | http://spinroot.com
- pacman - spin - 6.5.2-5: normalized package name match | Arch Linux sync databases: spin from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Tool for the formal verification of distributed software systems | https://spinroot.com/
- MacPorts - spin: normalized package name match | MacPorts ports tree: devel/spin/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/spin.yml](https://github.com/mxcl/pkgdb/blob/main/combined/spin.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
