An open API service indexing awesome lists of open source software.

https://github.com/portfoligno/homebrew-idris

Homebrew tap for idris2-pack (Idris 2 package manager)
https://github.com/portfoligno/homebrew-idris

functional-programming homebrew homebrew-tap idris2 idris2-pack package-manager

Last synced: about 1 month ago
JSON representation

Homebrew tap for idris2-pack (Idris 2 package manager)

Awesome Lists containing this project

README

          

# homebrew-idris

Homebrew Tap for [idris2-pack](https://github.com/stefan-hoeck/idris2-pack), the package manager for the Idris 2 programming language.

Provides pre-built bottles for macOS (Apple Silicon) so installation completes in seconds instead of building from source. Intel Macs fall back to a source build.

## Install

```sh
brew install Portfoligno/idris/idris2-pack
```

## Post-install

The formula includes a bundled Idris2 compiler. You can use pack immediately:

```sh
pack build
pack install
```

Pack installs executables to `$HOME/.local/bin` by default. Add it to your PATH:

```sh
export PATH="$HOME/.local/bin:$PATH"
```

## Update

```sh
brew upgrade idris2-pack
```

Use `brew upgrade` rather than `pack update` to get new versions. Pack state is automatically aligned with the new collection on first run after upgrade.

The first `pack` invocation after upgrade downloads the updated collection database (requires network, takes a few seconds). To reclaim disk space from old install trees:

```sh
pack gc
```

## Pin to a specific version

Starting from version 2026.05.02, each release publishes a versioned formula that can be installed alongside the latest:

```sh
brew install Portfoligno/idris/idris2-pack@2026.05.02
```

Versioned formulas are keg-only. Access the pinned binary via:

```sh
"$(brew --prefix idris2-pack@2026.05.02)/bin/pack" help
```

## How it works

The formula bootstraps the Idris2 compiler from source (pinned to the exact commit specified by a pack-db nightly collection), builds pack's 10 library dependencies, and then builds pack itself. The result is bottled and published as a GitHub Release.

A daily CI workflow monitors the upstream [pack-db](https://github.com/stefan-hoeck/idris2-pack-db) repository for new nightly collections and automatically creates update PRs.

See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for details.

## Version scheme

Versions follow CalVer format `YYYY.MM.DD`, derived from the pack-db nightly collection date.

## License

BSD-3-Clause