# 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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
- **Version:** 9.1.24
- **Source summary:** MIPS32 simulator
- **Homepage:** <https://spimsimulator.sourceforge.net/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- spim (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 9.1.24
## 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

## 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/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-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


## 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
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
