# Install bsc with Homebrew, MacPorts, Nix

Bluespec Compiler (BSC). Version 2026.01 via Homebrew; verified 2026-05-01.

## Install

```sh
sudo av install brew:bsc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bsc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bsc
```

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

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#bsc
```

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

## Package facts

- **Package key:** brew:bsc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bsc>
- **Version:** 2026.01
- **Source summary:** Bluespec Compiler (BSC)
- **Homepage:** <https://github.com/B-Lang-org/bsc>
- **Repository:** <https://github.com/B-Lang-org/bsc>
- **Upstream docs:** <https://github.com/B-Lang-org/bsc#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/B-Lang-org/bsc/archive/refs/tags/2026.01.tar.gz>
- **Last updated:** 2026-05-01T23:10:59Z
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- bluetcl (cli)
- bsc (cli)
- bluetcl (alias)
- bsc (alias)

## Dependencies

- gmp
- icarus-verilog
- tcl-tk

## Build dependencies

- autoconf
- cabal-install
- ghc
- pkgconf

## Uses from macOS

- libffi

## Install behavior

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

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 2026.01
- Package-manager updated: 2026-05-01
- Local data: ok
- Upstream repository: https://github.com/B-Lang-org/bsc
- Upstream latest detected: 2026.01 (current)
## Project history and usage

The Bluespec Compiler, usually packaged as `bsc`, is the open-source compiler and toolchain for Bluespec Hardware Description Languages. It turns Bluespec SystemVerilog and Bluespec Haskell into Verilog and includes simulation, libraries, and Tcl tooling, making it a specialist but important package for hardware-language users.

### Project history

The BSC README says the toolchain was developed by Bluespec Inc. for almost 20 years before becoming the community-maintained open-source compiler under the B-Lang organization. That history matters because Bluespec is not a toy HDL: the README points to production designs such as Flute, Piccolo, and Shakti as evidence of prior industrial and academic use.

BSC supports two interchangeable syntactic flavors, Bluespec SystemVerilog and Bluespec Haskell/Classic. Its core language feature, Guarded Atomic Actions, lets designers describe modular rules and leaves scheduling work to the compiler. The packaged executable `bsc` emits standard Verilog, while `bluetcl` exposes Tcl scripting around the toolchain.

### Adoption history

The upstream README lists distribution packaging for Arch AUR, Fedora via Terra, Gentoo GURU/LiGurOS, Homebrew, and Nix/NixOS. The provided package facts also show Homebrew, MacPorts, and Nix packaging, so the compiler has escaped source-only installation despite its niche hardware-design audience.

BSC adoption is concentrated in hardware language, RISC-V, and research communities rather than general software development. Its packaging is valuable because HDL compilers are often difficult to build reproducibly, and a package-manager formula lowers the cost of trying existing Bluespec designs.

### How it is used

Users compile BSV or BH source with `bsc`, use the bundled Bluesim simulator for execution, use standard libraries documented in the BSC library guide, and can automate workflows through `bluetcl`.

Because BSC emits standard Verilog, it fits into existing synthesis and simulation flows rather than requiring a wholly separate downstream hardware ecosystem.

### Why package nerds care

BSC is package-nerd significant because it packages a full hardware-description-language compiler, simulator, standard library, and documentation set into ordinary developer package managers. That is much rarer than another linter or HTTP client.

It also represents a long-lived proprietary/research toolchain becoming open infrastructure. For maintainers, the interesting parts are large binary/source builds, generated documentation, and keeping a specialized compiler available across general-purpose package ecosystems.

### Timeline

- 2000s-2010s: Bluespec Inc. develops the toolchain for almost 20 years before the current open-source community phase.
- 2020: BSC is available through Nix/NixOS according to the upstream README's package list.
- 2020s: The B-Lang organization maintains the open-source compiler, documentation PDFs, test suite, and release artifacts on GitHub.
- 2026: The README badge points at release 2026.01 and the provided package facts show Homebrew, MacPorts, and Nix packaging.

### Related projects

- bsc-contrib is the companion repository for libraries and utilities that do not belong in the core compiler.
- BDW, the BSC Development Workstation, provides a graphical environment and source-level waveform viewing.
- Flute, Piccolo, and Shakti are cited by upstream as production or serious Bluespec designs.
- Verilog/SystemVerilog synthesis tools are downstream consumers of BSC output.

### Sources

- <https://github.com/B-Lang-org/bsc>
- <https://github.com/B-Lang-org/bsc/releases/latest/download/bsc_user_guide.pdf>
- <https://raw.githubusercontent.com/B-Lang-org/bsc/main/README.md>
- 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:** bsc
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Conflicts With:** libbsc
- **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

- Nix - bsc: normalized package name match | nixpkgs package indexes: pkgs/by-name/bs/bsc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - bsc: normalized package name match | MacPorts ports tree: archivers/bsc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [icarus-verilog](https://www.automicvault.com/pkg/brew/icarus-verilog/) - Runtime dependency declared by Homebrew.
- [tcl-tk](https://www.automicvault.com/pkg/brew/tcl-tk/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [cabal-install](https://www.automicvault.com/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [ghc](https://www.automicvault.com/pkg/brew/ghc/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [cc65](https://www.automicvault.com/pkg/brew/cc65/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [closure-compiler](https://www.automicvault.com/pkg/brew/closure-compiler/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [emscripten](https://www.automicvault.com/pkg/brew/emscripten/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [lunarml](https://www.automicvault.com/pkg/brew/lunarml/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [roblox-ts](https://www.automicvault.com/pkg/brew/roblox-ts/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [sdcc](https://www.automicvault.com/pkg/brew/sdcc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [shc](https://www.automicvault.com/pkg/brew/shc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [swc](https://www.automicvault.com/pkg/brew/swc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [sv2v](https://www.automicvault.com/pkg/brew/sv2v/) - Local package facts share a topical domain. Shared terms: cli, description, developer, developer-tools, gmp.
- [surelog](https://www.automicvault.com/pkg/brew/surelog/) - Local package facts share a topical domain. Shared terms: cli, compiler, description, developer, developer-tools.

## Combined YAML source

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


## Sources

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