# Install spirv-tools with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

API and commands for processing SPIR-V modules. Version 1.4.350.1 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:spirv-tools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install spirv-tools
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install spirv-tools
```

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

### Linux

- apk (92%):

```sh
sudo apk add spirv-tools
```

  Evidence: Alpine Linux edge package indexes: spirv-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install spirv-tools
```

  Evidence: Debian stable package indexes: spirv-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install spirv-tools
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#spirv-tools
```

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

- pacman (92%):

```sh
sudo pacman -S spirv-tools
```

  Evidence: Arch Linux sync databases: spirv-tools from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libSPIRV-Tools-2026_2
```

  Evidence: openSUSE Tumbleweed package metadata: libSPIRV-Tools-2026_2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:spirv-tools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/spirv-tools>
- **Version:** 1.4.350.1
- **Source summary:** API and commands for processing SPIR-V modules
- **Homepage:** <https://github.com/KhronosGroup/SPIRV-Tools>
- **Repository:** <https://github.com/KhronosGroup/SPIRV-Tools>
- **Upstream docs:** <https://github.com/KhronosGroup/SPIRV-Tools#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.350.1.tar.gz>
- **Last updated:** 2026-06-22T14:06:20-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- spirv-as (cli)
- spirv-cfg (cli)
- spirv-diff (cli)
- spirv-dis (cli)
- spirv-lesspipe.sh (cli)
- spirv-link (cli)
- spirv-lint (cli)
- spirv-objdump (cli)
- spirv-opt (cli)
- spirv-reduce (cli)
- spirv-val (cli)
- spirv-as (alias)
- spirv-cfg (alias)
- spirv-diff (alias)
- spirv-dis (alias)
- spirv-lesspipe.sh (alias)
- spirv-link (alias)
- spirv-lint (alias)
- spirv-objdump (alias)
- spirv-opt (alias)
- spirv-reduce (alias)
- spirv-val (alias)

## Build dependencies

- cmake
- spirv-headers

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.4.350.1
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/KhronosGroup/SPIRV-Tools
- info: No cached GitHub release or tag data was available.
## Project history and usage

SPIRV-Tools is the Khronos Group toolkit of command-line programs and libraries for assembling, disassembling, validating, optimizing, linking, reducing, and inspecting SPIR-V modules.

### Project history

SPIR-V became the Khronos-standard binary intermediate language for graphics shaders and compute kernels with the 2015 SPIR-V 1.0 release. SPIRV-Tools grew around that ecosystem as the practical toolbelt for working with modules after frontends emit them and before drivers or runtimes consume them.

The official README describes a shared implementation underneath standalone tools: an assembler, binary parser, disassembler, validator, and optimizer, with stable interfaces for existing features. The project also documents that official releases are distributed through the Vulkan SDK rather than GitHub releases.

### Adoption history

The supplied package-manager data lists SPIRV-Tools in Homebrew, Debian, Ubuntu, Fedora, Alpine, MacPorts, Nix, Arch, and openSUSE-family packaging. Its broad packaging is unsurprising because shader compilers, validation layers, SDKs, and build systems often need the same `spirv-*` commands available on developer machines and CI workers.

### How it is used

Common commands include `spirv-as`, `spirv-dis`, `spirv-val`, `spirv-opt`, `spirv-link`, `spirv-reduce`, and `spirv-objdump`. Package users typically install it to validate generated SPIR-V, inspect shader/compiler output, run optimizer passes, or satisfy build dependencies in Vulkan/OpenCL projects.

### Why package nerds care

SPIRV-Tools is one of those packages whose command names show up in failing configure logs and CI scripts. It matters to maintainers because it sits at the junction of Khronos specifications, Vulkan SDK releases, SPIRV-Headers grammar updates, and downstream shader/compiler projects.

### Timeline

- 2015: Khronos releases SPIR-V 1.0 and announces open source SPIR-V utilities.
- 2016: README version examples begin with the `v2016.x` SPIRV-Tools versioning scheme.
- 2023: README notes that development occurs on the `main` branch.

### Related projects

- SPIRV-Headers provides the Khronos headers and grammar files used by SPIR-V tooling.
- SPIRV-LLVM-Translator can use SPIRV-Tools commands such as `spirv-as` and `spirv-val` in its tests and validation workflows.
- The Vulkan SDK is the official release channel named by the SPIRV-Tools README.

### Sources

- <https://github.com/KhronosGroup/SPIRV-Tools#readme>
- <https://github.com/KhronosGroup/SPIRV-Tools/tree/main/docs>
- <https://registry.khronos.org/SPIR-V/>
- <https://www.khronos.org/news/press/khronos-releases-opencl-2.1-and-spir-v-1.0-specifications-for-heterogeneous>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for spirv-tools. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** spirv-tools
- **Version Scheme:** 1
- **Revision:** 0
- **Head Version:** HEAD
- **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

- Debian apt - spirv-tools - 2025.1~rc1-1: normalized package name match | Debian stable package indexes: spirv-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API and commands for processing SPIR-V modules | https://github.com/KhronosGroup/SPIRV-Tools
- Nix - spirv-tools: normalized package name match | nixpkgs package indexes: pkgs/by-name/sp/spirv-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - spirv-tools - 2023.6~rc1-2: normalized package name match | Ubuntu 24.04 LTS package indexes: spirv-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | API and commands for processing SPIR-V modules | https://github.com/KhronosGroup/SPIRV-Tools
- apk - spirv-tools - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: spirv-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | API and commands for processing SPIR-V modules | https://github.com/KhronosGroup/SPIRV-Tools
- apk - spirv-tools-dbg - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: spirv-tools-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | API and commands for processing SPIR-V modules (debug symbols) | https://github.com/KhronosGroup/SPIRV-Tools
- apk - spirv-tools-dev - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: spirv-tools-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | API and commands for processing SPIR-V modules (development files) | https://github.com/KhronosGroup/SPIRV-Tools
- dnf - spirv-tools - 2026.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: spirv-tools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | API and commands for processing SPIR-V modules | https://github.com/KhronosGroup/SPIRV-Tools
- dnf - spirv-tools-devel - 2026.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: spirv-tools-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for spirv-tools | https://github.com/KhronosGroup/SPIRV-Tools
- dnf - spirv-tools-libs - 2026.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: spirv-tools-libs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library files for spirv-tools | https://github.com/KhronosGroup/SPIRV-Tools
- pacman - spirv-tools - 1:1.4.350.0-1: normalized package name match | Arch Linux sync databases: spirv-tools from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | API and commands for processing SPIR-V modules | https://www.khronos.org/spirv/
- zypper - libSPIRV-Tools-2026_2 - 2026.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: libSPIRV-Tools-2026_2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | SPIR-V tool component library | https://github.com/KhronosGroup/SPIRV-Tools
- zypper - libSPIRV-Tools-2026_2-32bit - 2026.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: libSPIRV-Tools-2026_2-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | SPIR-V tool component library | https://github.com/KhronosGroup/SPIRV-Tools
- zypper - spirv-tools - 2026.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: spirv-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | API and commands for processing SPIR-V modules | https://github.com/KhronosGroup/SPIRV-Tools
- zypper - spirv-tools-devel - 2026.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: spirv-tools-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development headers for the SPIR-V tool library | https://github.com/KhronosGroup/SPIRV-Tools
- zypper - spirv-tools-devel-32bit - 2026.2-1.1: normalized package name match | openSUSE Tumbleweed package metadata: spirv-tools-devel-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development headers for the SPIR-V tool library | https://github.com/KhronosGroup/SPIRV-Tools
- MacPorts - spirv-tools: normalized package name match | MacPorts ports tree: graphics/spirv-tools/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.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [glslang](https://www.automicvault.com/pkg/brew/glslang/) - Popular package that depends on this formula.
- [mesa](https://www.automicvault.com/pkg/brew/mesa/) - Popular package that depends on this formula.
- [ncnn](https://www.automicvault.com/pkg/brew/ncnn/) - Popular package that depends on this formula.
- [vulkan-extensionlayer](https://www.automicvault.com/pkg/brew/vulkan-extensionlayer/) - Popular package that depends on this formula.
- [vulkan-validationlayers](https://www.automicvault.com/pkg/brew/vulkan-validationlayers/) - Popular package that depends on this formula.
- [spirv-llvm-translator](https://www.automicvault.com/pkg/brew/spirv-llvm-translator/) - Shares av.db curated category or tags: cli, compiler-toolchain, developer-tools, spir-v.
- [lld](https://www.automicvault.com/pkg/brew/lld/) - Shares av.db curated category or tags: cli, compiler-toolchain, developer-tools.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Shares av.db curated category or tags: cli, compiler-toolchain, developer-tools.
- [spirv-cross](https://www.automicvault.com/pkg/brew/spirv-cross/) - Shares av.db curated category or tags: cli, developer-tools, disassembler, spir-v.
- [vc4asm](https://www.automicvault.com/pkg/brew/vc4asm/) - Shares av.db curated category or tags: assembler, cli, developer-tools, disassembler.
- [wllvm](https://www.automicvault.com/pkg/brew/wllvm/) - Shares av.db curated category or tags: cli, compiler-toolchain, developer-tools.
- [aarch64-elf-binutils](https://www.automicvault.com/pkg/brew/aarch64-elf-binutils/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [acme](https://www.automicvault.com/pkg/brew/acme/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [shaderc](https://www.automicvault.com/pkg/brew/shaderc/) - Local package facts share a topical domain. Shared terms: cli, compiler, developer, developer-tools, spir.

## Combined YAML source

View the package source record on GitHub. [combined/spirv-tools.yml](https://github.com/automic-vault/db/blob/main/combined/spirv-tools.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
