# Install gnu-smalltalk with Homebrew, Nix, dnf, MacPorts

Implementation of the Smalltalk language. Version 3.2.5 via Homebrew; verified 2026-06-22. Also installable with nix: nix profile install nixpkgs#gnu-smalltalk.

## Install

```sh
sudo av install brew:gnu-smalltalk
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gnu-smalltalk
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gst
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#gnu-smalltalk
```

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

- dnf (92%):

```sh
sudo dnf install gst
```

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

## Package facts

- **Package key:** brew:gnu-smalltalk
- **Package manager:** Homebrew
- **Version:** 3.2.5
- **Source summary:** Implementation of the Smalltalk language
- **Homepage:** <https://www.gnu.org/software/smalltalk/>
- **Repository:** <https://github.com/gnu-smalltalk/smalltalk>
- **Last updated:** 2026-06-22T14:03:36-07:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- gst (alias)
- gst-blox (alias)
- gst-browser (alias)
- gst-config (alias)
- gst-convert (alias)
- gst-doc (alias)
- gst-load (alias)
- gst-package (alias)
- gst-profile (alias)
- gst-reload (alias)
- gst-remote (alias)
- gst-sunit (alias)

## Install behavior

- Bottle: not available

## Freshness

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

GNU Smalltalk is the GNU Project's implementation of the Smalltalk-80 language, shaped for Unix-like command-line use, scripting, and headless processing rather than only an image-centered graphical environment.

### Project history

The GNU Smalltalk manual says the implementation closely follows the Smalltalk-80 language described in the Blue Book by Adele Goldberg and David Robson. Project author records credit Steve Byrne for development up to version 1.1.5 and Paolo Bonzini for development starting with version 1.6, with later GUI work around BLOX and VisualGST.

### Adoption history

GNU Smalltalk gave GNU and Unix users a free Smalltalk system that could be driven from text files and shell workflows. Its positioning made it approachable for scripting, rapid prototyping, generated documentation, and experiments with object-oriented programming outside traditional commercial Smalltalk environments.

### How it is used

Practitioners use gst and companion tools to run Smalltalk source files, explore the class library, write scripts, load packages, test code with SUnit, and bridge Smalltalk programs with C and other free software libraries. The manual emphasizes using Smalltalk's object model for script-like programs as well as larger prototypes.

### Why package nerds care

GNU Smalltalk is significant as a language-runtime package because it turns a historically GUI-associated language into a Unix-style interpreter and tool suite. Its many executables, package tooling, and class-library documentation make it feel closer to a developer environment than a single compiler binary.

### Timeline

- 1988: Source copyright years in GNU Smalltalk files begin around the early implementation era.
- Version 1.1.5: Author records mark the end of Steve Byrne's initial development period.
- Version 1.6: Author records credit Paolo Bonzini with development from this release line onward.
- 2017: GNU Smalltalk user's manual was updated for the published manual set.

### Related projects

- GNU Smalltalk is related to Smalltalk-80, VisualGST, BLOX, SUnit, and the broader family of free Smalltalk systems such as Squeak and Pharo.

### Sources

- <https://github.com/gnu-smalltalk/smalltalk>
- <https://raw.githubusercontent.com/gnu-smalltalk/smalltalk/master/AUTHORS>
- <https://www.gnu.org/software/smalltalk/>
- <https://www.gnu.org/software/smalltalk/manual/html_node/Overview.html>


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- Nix - gnu-smalltalk: normalized package name match | nixpkgs package indexes: pkgs/by-name/gn/gnu-smalltalk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - gst: installed executable or alias match | MacPorts ports tree: lang/gst/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - gst: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/gs/gst/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - gst - 0.7.7-7.fc45: installed executable or alias match | Fedora Rawhide package metadata: gst from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | System utility designed to stress and monitoring various hardware components | https://gitlab.com/leinardi/gst


## Combined YAML source

View the package source record on GitHub. [combined/gnu-smalltalk.yml](https://github.com/mxcl/pkgdb/blob/main/combined/gnu-smalltalk.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
