# Install blueprint-compiler with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Markup language and compiler for GTK 4 user interfaces. Version 0.20.4 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:blueprint-compiler
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install blueprint-compiler
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install blueprint-compiler
```

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

### Linux

- apk (92%):

```sh
sudo apk add blueprint-compiler
```

  Evidence: Alpine Linux edge package indexes: blueprint-compiler from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install blueprint-compiler
```

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

- dnf (92%):

```sh
sudo dnf install blueprint-compiler
```

  Evidence: Fedora Rawhide package metadata: blueprint-compiler 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#blueprint-compiler
```

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

- pacman (92%):

```sh
sudo pacman -S blueprint-compiler
```

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

- zypper (92%):

```sh
sudo zypper install blueprint-compiler
```

  Evidence: openSUSE Tumbleweed package metadata: blueprint-compiler from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:blueprint-compiler
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/blueprint-compiler>
- **Version:** 0.20.4
- **Source summary:** Markup language and compiler for GTK 4 user interfaces
- **Homepage:** <https://gnome.pages.gitlab.gnome.org/blueprint-compiler/>
- **Repository:** <https://gitlab.gnome.org/GNOME/blueprint-compiler>
- **Upstream docs:** <https://gnome.pages.gitlab.gnome.org/blueprint-compiler>
- **License:** LGPL-3.0-or-later
- **Source archive:** <https://download.gnome.org/sources/blueprint-compiler/0.20/blueprint-compiler-0.20.4.tar.xz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- blueprint-compiler (cli)
- blueprint-compiler (alias)

## Dependencies

- gtk4
- pygobject3
- python@3.14

## Build dependencies

- meson
- ninja

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.20.4
- Local data: ok
- Upstream repository: https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Blueprint Compiler is GNOME's compiler and language-server tooling for Blueprint, a concise markup language that compiles to GtkBuilder XML for GTK 4 user interfaces.

### Project history

James Westman created Blueprint in 2021 to make GTK UI definitions easier to read and edit than verbose GtkBuilder XML. The README states that Blueprint adds no new GTK features; it makes existing GtkBuilder features more accessible and compiles into XML as part of an application's build system.

The project grew from a compiler into a developer-tooling package with a formatter, decompiler, linter work, and a language server. Its NEWS file records steady releases from v0.2.0 through v0.20.x with improvements to type handling, diagnostics, decompilation, accessibility properties, and editor support.

### Adoption history

Blueprint Compiler is packaged broadly across Linux and Unix-like package managers in the input metadata, including Alpine, Debian, Fedora, Nix, Arch, Ubuntu, openSUSE, MacPorts, and Homebrew. The README also lists editor support in Workbench, GNOME Builder, Kate, Vim, Emacs, Visual Studio Code, Sublime Text, and Zed.

Within GNOME app development it matters because it gives GTK 4 projects a source format that is friendlier to humans while preserving GtkBuilder XML as the generated artifact consumed by GTK.

### How it is used

Developers write .blp Blueprint files, import GTK or library namespaces, and run blueprint-compiler in a build system to emit GtkBuilder .ui XML. The language server and editor integrations support completion, hover information, diagnostics, formatting, and navigation.

The compiler is especially useful in Meson/GNOME workflows where UI files are generated during the build but still reviewed and maintained as readable source.

### Why package nerds care

Blueprint Compiler is significant because it is a language-tooling package for UI markup, not just a converter script. It packages a compiler, formatter, decompiler, and LSP around GTK's introspection metadata, which is exactly the sort of developer-tool dependency that quietly standardizes project layouts.

For package maintainers, it is also a useful signal of modern GNOME app stacks: GTK 4, libadwaita-era UI definitions, Meson builds, and editor tooling converging around a small compiler executable.

### Timeline

- 2021: Project created under James Westman's copyright notice.
- 2022: v0.2.0 tag published in the official Git repository.
- 2023: v0.8.x releases documented language and XML-output fixes.
- 2024: v0.12.0 and v0.14.0 added formatter, decompiler, language-server, and diagnostics improvements.
- 2026: v0.20.x NEWS records linter work, minify output, libgirepository loading, and expanded language-server completions.

### Related projects

- GtkBuilder XML is the generated target format.
- GTK 4 and libadwaita are the main UI libraries used with Blueprint.
- Workbench, GNOME Builder, Kate, Vim, Emacs, Visual Studio Code, Sublime Text, and Zed are documented editor surfaces.

### Sources

- <https://gitlab.gnome.org/GNOME/blueprint-compiler>
- <https://gitlab.gnome.org/GNOME/blueprint-compiler/-/raw/main/NEWS.md>
- <https://gitlab.gnome.org/GNOME/blueprint-compiler/-/raw/main/README.md>
- <https://gnome.pages.gitlab.gnome.org/blueprint-compiler>
- 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:** blueprint-compiler
- **Version Scheme:** 0
- **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 - blueprint-compiler - 0.16.0-3: normalized package name match | Debian stable package indexes: blueprint-compiler from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Markup language for GTK user interface files | https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- Nix - blueprint-compiler: normalized package name match | nixpkgs package indexes: pkgs/by-name/bl/blueprint-compiler/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - blueprint-compiler - 0.12.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: blueprint-compiler from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Markup language for GTK user interface files | https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/
- apk - blueprint-compiler - 0.20.4-r1: normalized package name match | Alpine Linux edge package indexes: blueprint-compiler from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Markup language for GTK user interfaces | https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- apk - blueprint-compiler-dev - 0.20.4-r1: normalized package name match | Alpine Linux edge package indexes: blueprint-compiler-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Markup language for GTK user interfaces (development files) | https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- apk - blueprint-compiler-pyc - 0.20.4-r1: normalized package name match | Alpine Linux edge package indexes: blueprint-compiler-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for blueprint-compiler | https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- dnf - blueprint-compiler - 0.20.4-3.fc45: normalized package name match | Fedora Rawhide package metadata: blueprint-compiler from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A markup language for GTK user interfaces | https://gitlab.gnome.org/GNOME/blueprint-compiler
- pacman - blueprint-compiler - 0.20.4-1: normalized package name match | Arch Linux sync databases: blueprint-compiler from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Markup language and compiler for GTK 4 user interfaces | https://gnome.pages.gitlab.gnome.org/blueprint-compiler/
- zypper - blueprint-compiler - 0.20.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: blueprint-compiler from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A markup language for GTK user interfaces | https://gitlab.gnome.org/GNOME/blueprint-compiler
- zypper - blueprint-compiler-devel - 0.20.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: blueprint-compiler-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for blueprint-compiler | https://gitlab.gnome.org/GNOME/blueprint-compiler
- MacPorts - blueprint-compiler: normalized package name match | MacPorts ports tree: gnome/blueprint-compiler/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [gtk4](https://www.automicvault.com/pkg/brew/gtk4/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [dhall-bash](https://www.automicvault.com/pkg/brew/dhall-bash/) - Shares av.db curated category or tags: cli, code-generation, compiler, developer-tools.
- [kaitai-struct-compiler](https://www.automicvault.com/pkg/brew/kaitai-struct-compiler/) - Shares av.db curated category or tags: cli, code-generation, compiler, developer-tools.
- [ragel](https://www.automicvault.com/pkg/brew/ragel/) - Shares av.db curated category or tags: cli, code-generation, compiler, developer-tools.
- [thriftgo](https://www.automicvault.com/pkg/brew/thriftgo/) - Shares av.db curated category or tags: cli, code-generation, compiler, developer-tools.
- [autogen](https://www.automicvault.com/pkg/brew/autogen/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [configen](https://www.automicvault.com/pkg/brew/configen/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [counterfeiter](https://www.automicvault.com/pkg/brew/counterfeiter/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [cproto](https://www.automicvault.com/pkg/brew/cproto/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [libadwaita](https://www.automicvault.com/pkg/brew/libadwaita/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, gnome, gtk.
- [gi-docgen](https://www.automicvault.com/pkg/brew/gi-docgen/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, gnome, python.
- [gnome-builder](https://www.automicvault.com/pkg/brew/gnome-builder/) - Local package facts share a topical domain. Shared terms: cli, code, developer, developer-tools, gnome.

## Combined YAML source

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