# Install tundra with Homebrew

Code build system that tries to be fast for incremental builds. Version 2.17.1 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:tundra
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tundra
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:tundra
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tundra>
- **Version:** 2.17.1
- **Source summary:** Code build system that tries to be fast for incremental builds
- **Homepage:** <https://github.com/deplinenoise/tundra>
- **Repository:** <https://github.com/deplinenoise/tundra>
- **Upstream docs:** <https://github.com/deplinenoise/tundra/blob/master/doc/manual.asciidoc>
- **License:** MIT
- **Source archive:** <https://github.com/deplinenoise/tundra/archive/refs/tags/v2.17.1.tar.gz>
- **Last updated:** 2026-06-25T13:38:10+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- t2-inspect (cli)
- t2-lua (cli)
- tundra2 (cli)
- t2-inspect (alias)
- t2-lua (alias)
- tundra2 (alias)

## Build dependencies

- googletest

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.17.1
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/deplinenoise/tundra
- Upstream latest detected: v2.17.1 (current)
## Project history and usage

Tundra is a high-performance code build system by Andreas Fredriksson, designed for very fast incremental builds in large software projects. Its manual says the design was motivated by games industry workloads, where large multi-million-line codebases and frequent rebuilds make every second of build-system overhead expensive.

### Project history

The README and manual present Tundra as a deliberately scoped build system: a Lua configuration front end builds dependency graphs, while a native multi-threaded build engine executes commands. The Lua front end runs only when needed, leaving incremental build iteration to a fast engine.

Tundra's design philosophy is unusually explicit. It favors "simple is fast", "support just enough", multi-core utilization, reliable code generation through build passes, separation between configuration and building, and avoiding toolchain guessing. This sets it apart from broader build tools that fetch code, auto-detect environments, or hide platform choices.

The README identifies copyright from 2010 to 2018 and notes that Tundra was previously GPL-licensed before being relicensed to MIT because the GPL hindered commercial adoption and contributors agreed to the change. That license history is a direct clue to its intended use in commercial native-code projects.

### Adoption history

Official docs describe portability across macOS, Linux, FreeBSD, and Windows, with Windows installers in GitHub releases and Homebrew as the macOS package path. The input package facts record Homebrew packaging, and the formula installs CLI tools such as `tundra2`, `t2-lua`, and `t2-inspect`.

Tundra's adoption niche is not broad web development but native-code teams that care about fast incremental rebuilds, explicit toolsets, and generated-code ordering. The manual's games-industry motivation explains why package users encounter it alongside build systems like Make, Ninja, SCons, Premake, CMake, and Tup rather than as an application.

### How it is used

A Tundra project is driven by a `tundra.lua` file, analogous to a Makefile, that declares units and configurations. The manual's hello-world example defines a Build block with Units and Configs, then runs `tundra2` to build into a platform, toolset, variant, and subvariant output directory.

The build flow is split into graph generation and execution: `tundra2` checks whether DAG data is up to date, invokes the Lua generator if needed, saves a JSON graph for compiled binary data, deletes stale outputs, analyzes requested targets, runs the build engine, and saves build state.

### Why package nerds care

Tundra is significant to package nerds because it is a small, fast, specialist alternative in the build-system zoo. It exposes enough machinery for serious native builds while avoiding package downloaders, VCS sync, and toolchain guessing, which appeals to users who prefer explicit, reproducible build descriptions.

Its Homebrew formula makes a historically source-oriented build tool easy to install on macOS, while the manual preserves the deeper Unix build-system culture: one configuration file, named toolsets, variants, generated DAGs, and inspectable command execution.

### Timeline

- 2010-2018: README copyright range identifies Andreas Fredriksson's project history window.
- Current README: Documents macOS, Linux, FreeBSD, and Windows portability, plus Homebrew installation for macOS.
- Current README: Notes relicensing from GPL to MIT to improve commercial adoption.
- Current manual: Documents Lua front end, native build engine, build passes, and `tundra.lua` project files.

### Related projects

- Lua 5.1 is embedded and customized as the configuration language.
- The manual's design context places Tundra near Make-style tools and native build systems; its explicit non-goals distinguish it from build systems that fetch dependencies or auto-configure environments.
- A companion Visual Studio 2012 add-in is linked from the README at https://github.com/deplinenoise/tundra-vsplugin.

### Sources

- <https://github.com/deplinenoise/tundra README: project description, supported platforms, Homebrew install, license history, copyright range.>
- <https://github.com/deplinenoise/tundra/blob/master/doc/manual.asciidoc: games-industry motivation, design philosophy, Lua front end, build engine, `tundra.lua`, build flow.>
- input source_facts.executables and source_facts.package-manager: Homebrew formula and installed command names.


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## 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

- Unix: tundra.lua
## Source Database Details

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


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [premake](https://www.automicvault.com/pkg/brew/premake/) - Shares av.db curated category or tags: build-system, cli, developer-tools, lua.
- [tup](https://www.automicvault.com/pkg/brew/tup/) - Shares av.db curated category or tags: build-system, cli, developer-tools, incremental-builds.
- [bsdmake](https://www.automicvault.com/pkg/brew/bsdmake/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [cabin](https://www.automicvault.com/pkg/brew/cabin/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [dune](https://www.automicvault.com/pkg/brew/dune/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [fastbuild](https://www.automicvault.com/pkg/brew/fastbuild/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [goredo](https://www.automicvault.com/pkg/brew/goredo/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [litani](https://www.automicvault.com/pkg/brew/litani/) - Shares av.db curated category or tags: build-system, cli, developer-tools.
- [mk-configure](https://www.automicvault.com/pkg/brew/mk-configure/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-system, cli, developer, developer-tools.
- [melange](https://www.automicvault.com/pkg/brew/melange/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-system, cli, code, developer.
- [ocamlbuild](https://www.automicvault.com/pkg/brew/ocamlbuild/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-system, cli, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/tundra.yml](https://github.com/automic-vault/db/blob/main/combined/tundra.yml)


## Sources

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