# Install vala with Homebrew, apk, apt, dnf, MacPorts, pacman, zypper

Compiler for the GObject type system. Version 0.56.19 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:vala
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vala
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install vala
```

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

### Linux

- apk (92%):

```sh
sudo apk add vala
```

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

- Debian apt (92%):

```sh
sudo apt install libvala-0.56-0
```

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

- dnf (92%):

```sh
sudo dnf install libvala
```

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

- pacman (92%):

```sh
sudo pacman -S vala
```

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

- zypper (92%):

```sh
sudo zypper install libvala-0_56-0
```

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

## Package facts

- **Package key:** brew:vala
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vala>
- **Version:** 0.56.19
- **Source summary:** Compiler for the GObject type system
- **Homepage:** <https://wiki.gnome.org/Projects/Vala>
- **Repository:** <https://gitlab.gnome.org/GNOME/vala>
- **Upstream docs:** <https://docs.vala.dev/>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://download.gnome.org/sources/vala/0.56/vala-0.56.19.tar.xz>
- **Last updated:** 2026-06-22T14:06:33-07:00
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- vala (cli)
- vala-0.56 (cli)
- vala-gen-introspect (cli)
- vala-gen-introspect-0.56 (cli)
- valac (cli)
- valac-0.56 (cli)
- valadoc (cli)
- valadoc-0.56 (cli)
- vapigen (cli)
- vapigen-0.56 (cli)
- vala (alias)
- vala-0.56 (alias)
- vala-gen-introspect (alias)
- vala-gen-introspect-0.56 (alias)
- valac (alias)
- valac-0.56 (alias)
- valadoc (alias)
- valadoc-0.56 (alias)
- vapigen (alias)
- vapigen-0.56 (alias)

## Dependencies

- gettext
- glib
- graphviz
- pkgconf

## Build dependencies

- gobject-introspection

## 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: 0.56.19
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://wiki.gnome.org/Projects/Vala
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Vala is a programming language and compiler for the GObject type system. Its package-manager identity is a compiler/toolchain package: it provides `valac`, versioned compiler binaries, `valadoc`, `vapigen`, and related tools used to build GNOME-style native software without adding a separate runtime ABI.

### Project history

Vala appeared publicly in 2006 as a new language for GNOME developers. The August 2006 Vala 0.0.2 announcement called it a compiler for the GObject type system and described `valac` as a self-hosting compiler that translated Vala source into C source and headers.

The early design goal was to bring modern language features to GNOME developers without imposing extra runtime requirements or a different ABI from C applications and libraries. The announcement described syntax similar to C#, modified for GObject, with interfaces, properties, signals, foreach, lambda expressions, type inference, assisted memory management, and planned generics and exception handling.

Modern Vala documentation preserves that identity: Vala uses high-level abstractions while keeping the same ABI as C libraries, uses the GObject type system, and includes code-generation routines that make targeting the GNOME stack simple.

### Adoption history

Vala grew inside GNOME's development world, where the value proposition was native GObject/GLib code with a higher-level syntax and generated C output. The retired GNOME project page calls it a cross-platform development tool and notes third-party distributions for Windows, macOS, Linux, BSDs, and other platforms.

Packaging spread reflects that compiler-toolchain role. The input lists packages across Homebrew, Alpine, Debian, Fedora, MacPorts, Arch, Ubuntu, openSUSE, and zypper-style ecosystems, usually exposing both libraries and command-line tools.

### How it is used

The central tool is `valac`, which the official documentation describes as transforming Vala code into compilable C code. The Vala distribution also includes tools such as `valadoc`, `vapigen`, and `vala-gen-introspect` for documentation and bindings work.

`vapigen` is especially important in package workflows because it generates VAPI bindings from GObject Introspection GIR files. The official binding guide explains that Vala bindings are usually small files that let `valac` map Vala code to C APIs and integrate with pkg-config-oriented builds.

### Why package nerds care

Vala matters to package nerds because it is both a language and a source-to-C compiler bound tightly to GLib, GObject, GIR, pkg-config, VAPI files, and distro development packages. Build failures often involve the exact Vala compiler version, generated C, missing VAPI files, or GObject introspection metadata rather than a simple missing binary.

The Homebrew package is useful outside Linux because it brings a GNOME-oriented compiler stack to macOS, including versioned tools like `valac-0.56`, `valadoc-0.56`, and `vapigen-0.56` listed in the input.

### Timeline

- 2006: Vala 0.0.2 preview release is announced for the GObject type system.
- 2006: Vala 0.0.3 adds arrays, switch statements, and experimental GTK+ and Cairo bindings.
- 2021: Vala 0.40.25 is listed as a stable long-term-support release.
- 2022: Vala 0.48.25 is listed as a stable long-term-support release.
- 2024: Vala 0.56.17 is listed as a stable long-term-support release.

### Related projects

- GLib and GObject are the runtime and type-system foundations Vala targets.
- GObject Introspection, GIR files, VAPI files, pkg-config, and `vapigen` are central to Vala library binding workflows.
- Vala Language Server adds editor code intelligence on top of the Vala compiler stack.

### Sources

- <https://docs.vala.dev/>
- <https://docs.vala.dev/developer-guides/bindings/upstream-guide.html>
- <https://docs.vala.dev/tutorials/programming-language/main/07-00-tools.html>
- <https://mail.gnome.org/archives/gnome-announce-list/2006-August/msg00001.html>
- <https://mail.gnome.org/archives/gnome-announce-list/2006-August/msg00056.html>
- <https://wiki.gnome.org/Projects/Vala>
- source_facts.executables
- 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:** vala
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - libvala-0.56-0 - 0.56.18-2: normalized package name match | Debian stable package indexes: libvala-0.56-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C# like language for the GObject system - library | https://wiki.gnome.org/Projects/Vala/
- Debian apt - libvala-0.56-dev - 0.56.18-2: normalized package name match | Debian stable package indexes: libvala-0.56-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C# like language for the GObject system - development headers | https://wiki.gnome.org/Projects/Vala/
- Debian apt - libvalacodegen-0.56-0 - 0.56.18-2: normalized package name match | Debian stable package indexes: libvalacodegen-0.56-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | internal package for C# like language for the GObject system | https://wiki.gnome.org/Projects/Vala/
- Debian apt - libvaladoc-0.56-0 - 0.56.18-2: normalized package name match | Debian stable package indexes: libvaladoc-0.56-0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API documentation generator for vala (library) | https://wiki.gnome.org/Projects/Vala/
- Debian apt - libvaladoc-0.56-data - 0.56.18-2: normalized package name match | Debian stable package indexes: libvaladoc-0.56-data from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API documentation generator for vala (data) | https://wiki.gnome.org/Projects/Vala/
- Debian apt - libvaladoc-0.56-dev - 0.56.18-2: normalized package name match | Debian stable package indexes: libvaladoc-0.56-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API documentation generator for vala (devel files) | https://wiki.gnome.org/Projects/Vala/
- Debian apt - vala-0.56-doc - 0.56.18-2: normalized package name match | Debian stable package indexes: vala-0.56-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C# like language for the GObject system - documentation | https://wiki.gnome.org/Projects/Vala/
- Debian apt - valac - 0.56.18-2: normalized package name match | Debian stable package indexes: valac from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C# like language for the GObject system | https://wiki.gnome.org/Projects/Vala/
- Debian apt - valac-0.56-vapi - 0.56.18-2: normalized package name match | Debian stable package indexes: valac-0.56-vapi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C# like language for the GObject system - vapi files | https://wiki.gnome.org/Projects/Vala/
- Debian apt - valac-bin - 0.56.18-2: normalized package name match | Debian stable package indexes: valac-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | internal package for C# like language for the GObject system | https://wiki.gnome.org/Projects/Vala/
- Debian apt - valadoc - 0.56.18-2: normalized package name match | Debian stable package indexes: valadoc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | API documentation generator for vala | https://wiki.gnome.org/Projects/Vala/
- Ubuntu apt - libvala-0.56-0 - 0.56.16-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libvala-0.56-0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C# like language for the GObject system - library | https://wiki.gnome.org/Projects/Vala/
- Ubuntu apt - libvala-0.56-dev - 0.56.16-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libvala-0.56-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C# like language for the GObject system - development headers | https://wiki.gnome.org/Projects/Vala/
- Ubuntu apt - libvalacodegen-0.56-0 - 0.56.16-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libvalacodegen-0.56-0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | internal package for C# like language for the GObject system | https://wiki.gnome.org/Projects/Vala/
- Ubuntu apt - libvaladoc-0.56-0 - 0.56.16-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libvaladoc-0.56-0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | API documentation generator for vala (library) | https://wiki.gnome.org/Projects/Vala/
- Ubuntu apt - libvaladoc-0.56-data - 0.56.16-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libvaladoc-0.56-data from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | API documentation generator for vala (data) | https://wiki.gnome.org/Projects/Vala/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow 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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [graphviz](https://www.automicvault.com/pkg/brew/graphviz/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Runtime dependency declared by Homebrew.
- [gobject-introspection](https://www.automicvault.com/pkg/brew/gobject-introspection/) - Build dependency declared by Homebrew.
- [vala-language-server](https://www.automicvault.com/pkg/brew/vala-language-server/) - Popular package that depends on this formula.
- [valabind](https://www.automicvault.com/pkg/brew/valabind/) - Popular package that depends on this formula.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [lisette](https://www.automicvault.com/pkg/brew/lisette/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [nesc](https://www.automicvault.com/pkg/brew/nesc/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [halide](https://www.automicvault.com/pkg/brew/halide/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [c3c](https://www.automicvault.com/pkg/brew/c3c/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [gjs](https://www.automicvault.com/pkg/brew/gjs/) - Local package facts share a topical domain. Shared terms: cli, gettext, glib, gnome, gobject.

## Combined YAML source

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