# Install spim with Homebrew, apt, dnf, MacPorts, winget

MIPS32 simulator. Version 9.1.24 via Homebrew; verified from local package data. Also installable with debian: sudo apt install spim.

## Install

```sh
sudo av install brew:spim
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install spim
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install spim
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install spim
```

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

- dnf (92%):

```sh
sudo dnf install spim
```

  Evidence: Fedora Rawhide package metadata: spim from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst

### Windows

- winget (92%):

```sh
winget install --id JamesLarus.SPIM -e
```

  Evidence: Windows Package Manager source index: JamesLarus.SPIM from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:spim
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/spim>
- **Version:** 9.1.24
- **Source summary:** MIPS32 simulator
- **Homepage:** <https://spimsimulator.sourceforge.net/>
- **Upstream docs:** <https://spimsimulator.sourceforge.net/>
- **License:** BSD-3-Clause
- **Source archive:** <https://svn.code.sf.net/p/spimsimulator/code>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- spim (cli)
- spim (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 9.1.24
- Local data: ok
- Upstream repository: https://spimsimulator.sourceforge.net/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

SPIM is James Larus's long-running MIPS32 simulator, packaged as a terminal simulator and historically accompanied by graphical variants for teaching assembly language and computer architecture.

### Project history

The official site says SPIM reads and executes MIPS32 assembly programs, provides a simple debugger and minimal operating-system services, and includes source code and documentation. Its copyright notice spans 1990 to 2023.

### Adoption history

SPIM persisted in package collections because it was a compact teaching tool with a stable command-line interface. The input facts list Homebrew, Debian, Fedora, MacPorts, Ubuntu, and winget packages.

### How it is used

The terminal `spim` program is used to run assembly-language programs for the simulator, while QtSpim provides a cross-platform GUI. The official site says older PCSpim and xspim interfaces remain available but are no longer maintained.

### Why package nerds care

Package maintainers care about SPIM because it is classic educational infrastructure: small, stable, source-available, and useful on lab machines where students need the same MIPS simulator from a package manager.

### Timeline

- 1990: Copyright period begins for James R. Larus's SPIM codebase.
- Pre-7.0: Older SPIM versions implemented the MIPS-I instruction set.
- 7.0 and later: SPIM moved to the MIPS32 architecture according to the older-versions page.
- 2023: ChangeLog records release 9.1.24 on August 4.
- 2023: Official site says SPIM is no longer supported and should retire.

### Related projects

- QtSpim
- xspim
- PCSpim
- MIPS32

### Sources

- <https://sourceforge.net/p/spimsimulator/code/HEAD/tree/ChangeLog>
- <https://spimsimulator.sourceforge.net/>
- <https://spimsimulator.sourceforge.net/older.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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** spim
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - spim - 8.0+dfsg-7: normalized package name match | Debian stable package indexes: spim from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | MIPS R2000/R3000 emulator | http://pages.cs.wisc.edu/~larus/spim.html
- Ubuntu apt - spim - 8.0+dfsg-7: normalized package name match | Ubuntu 24.04 LTS package indexes: spim from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | MIPS R2000/R3000 emulator | http://pages.cs.wisc.edu/~larus/spim.html
- dnf - spim - 20230804-0.13.svn.fc45: normalized package name match | Fedora Rawhide package metadata: spim from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | An assembly language MIPS32 simulator | http://spimsimulator.sourceforge.net/
- MacPorts - spim: normalized package name match | MacPorts ports tree: emulators/spim/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - JamesLarus.SPIM: normalized package name match | Windows Package Manager source index: JamesLarus.SPIM from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://pkg.so/scientific-computing-tools/) - Matched scientific computing metadata.
- [Homebrew utility packages](https://pkg.so/brew-utility-packages/) - Matched Homebrew package provider.
- [bbtools](https://pkg.so/brew/bbtools/) - Shares pkgdb curated category or tags: assembly, cli, science.
- [badread](https://pkg.so/brew/badread/) - Shares pkgdb curated category or tags: cli, science, simulator.
- [autocycler](https://pkg.so/brew/autocycler/) - Shares pkgdb curated category or tags: assembly, cli, science.
- [z3](https://pkg.so/brew/z3/) - Shares pkgdb curated category or tags: cli, science.
- [numpy](https://pkg.so/brew/numpy/) - Shares pkgdb curated category or tags: cli, science.
- [gts](https://pkg.so/brew/gts/) - Shares pkgdb curated category or tags: cli, science.
- [jupyterlab](https://pkg.so/brew/jupyterlab/) - Shares pkgdb curated category or tags: cli, science.
- [proj](https://pkg.so/brew/proj/) - Shares pkgdb curated category or tags: cli, science.

## Combined YAML source

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


## Sources

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