# Install gtk-doc with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

GTK+ documentation tool. Version 1.36.1 via Homebrew; verified 2026-04-22.

## Install

```sh
sudo av install brew:gtk-doc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gtk-doc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gtk-doc
```

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

### Linux

- apk (92%):

```sh
sudo apk add gtk-doc
```

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

- Debian apt (92%):

```sh
sudo apt install gtk-doc-tools
```

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

- dnf (92%):

```sh
sudo dnf install gtk-doc
```

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

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

- pacman (92%):

```sh
sudo pacman -S gtk-doc
```

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

- zypper (92%):

```sh
sudo zypper install gtk-doc
```

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

## Package facts

- **Package key:** brew:gtk-doc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gtk-doc>
- **Version:** 1.36.1
- **Source summary:** GTK+ documentation tool
- **Homepage:** <https://gitlab.gnome.org/GNOME/gtk-doc>
- **Repository:** <https://gitlab.gnome.org/GNOME/gtk-doc>
- **Upstream docs:** <https://gitlab.gnome.org/GNOME/gtk-doc/-/tree/master/help/manual/C>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://download.gnome.org/sources/gtk-doc/1.36/gtk-doc-1.36.1.tar.xz>
- **Last updated:** 2026-04-22T13:17:23Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gtkdoc-check (cli)
- gtkdoc-depscan (cli)
- gtkdoc-fixxref (cli)
- gtkdoc-mkdb (cli)
- gtkdoc-mkhtml (cli)
- gtkdoc-mkhtml2 (cli)
- gtkdoc-mkman (cli)
- gtkdoc-mkpdf (cli)
- gtkdoc-rebase (cli)
- gtkdoc-scan (cli)
- gtkdoc-scangobj (cli)
- gtkdocize (cli)
- gtkdoc-check (alias)
- gtkdoc-depscan (alias)
- gtkdoc-fixxref (alias)
- gtkdoc-mkdb (alias)
- gtkdoc-mkhtml (alias)
- gtkdoc-mkhtml2 (alias)
- gtkdoc-mkman (alias)
- gtkdoc-mkpdf (alias)
- gtkdoc-rebase (alias)
- gtkdoc-scan (alias)
- gtkdoc-scangobj (alias)
- gtkdocize (alias)

## Dependencies

- docbook
- docbook-xsl
- python@3.14

## Build dependencies

- meson
- ninja
- pkgconf

## Uses from macOS

- libxml2
- libxslt

## 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-08
- Package-manager version: 1.36.1
- Package-manager updated: 2026-04-22
- Local data: ok
- Upstream repository: https://gitlab.gnome.org/GNOME/gtk-doc
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GTK-Doc is a documentation generator for C APIs, especially GLib, GObject, GTK, and GNOME-style libraries. It extracts structured comments from C code, understands GObject signals and properties, produces DocBook XML, and transforms that output into HTML and other formats.

For package maintainers, GTK-Doc is the build-time tool that explains why GNOME library packages often have optional documentation flags, gtkdocize steps, DocBook dependencies, scanner binaries, and generated API reference artifacts.

### Project history

The GTK-Doc repository has a 'start' tag dated 1998-11-24 and a GTK_DOC_1_0 tag dated 2003-01-20. The GNOME source archive also lists gtk-doc-1.0 tarballs dated 2003-01-20, giving a fixed early release anchor.

The project README says GTK-Doc is used to document C code, typically the public API of libraries such as GLib-based libraries, but also application code. It also notes that GTK-Doc was not originally intended as a general-purpose documentation tool and points to Doxygen for that broader role.

The project evolved from a DocBook-oriented GNOME documentation pipeline into a Python/Meson-era maintenance tool. The NEWS file records Python 3-related changes, an experimental gtkdoc-mkhtml2 toolchain in 1.30, Python 3 requirements in 1.29, and the removal of Autotools as a way to build GTK-Doc itself in 1.36.0.

### Adoption history

GTK-Doc was adopted across the GNOME C library ecosystem because it understands GObject-specific concepts that generic C documentation tools may not: signals, properties, object scanners, and conventions used by GTK widgets and GObject classes.

The archived GNOME GtkDoc page describes it as a tool for extracting API documentation from C code like Doxygen, with special support for GObject, and describes HTML output by default with PDF and man-page output possible with extra work. GNOME project pages and coding-practice material refer to GTK-Doc annotations as part of documenting public C APIs.

### How it is used

A project using GTK-Doc writes documentation blocks in C comments, keeps section and symbol metadata, runs tools such as gtkdoc-scan, gtkdoc-scangobj, gtkdoc-mkdb, gtkdoc-mkhtml, gtkdoc-fixxref, gtkdoc-mkman, gtkdoc-mkpdf, and often integrates gtkdocize with Autotools-era projects or Meson build definitions.

The README describes generated HTML as browsable in a normal browser or in Devhelp. The manual/wiki workflow also explains the package's role in local developer environments: it is not just a documentation renderer, but a scanner and cross-reference pipeline used while building source distributions.

### Why package nerds care

GTK-Doc is a classic build dependency that users may never run directly but packagers recognize instantly. Enabling API docs in a GNOME library can pull in GTK-Doc, DocBook DTDs, DocBook XSL stylesheets, libxml2/libxslt, Python modules, and sometimes PDF tooling such as dblatex.

Its long tail matters because old projects may still expect gtkdocize and Autotools integration, while the GTK-Doc project itself moved its own build to Meson. That split between being built with Meson and still supporting Autotools integration in downstream projects is package-maintainer lore.

### Timeline

- 1998: GTK-Doc repository has a start tag.
- 2003: GTK-Doc 1.0 tag and GNOME source tarballs appeared.
- 2018: GTK-Doc 1.29 NEWS records Python 3 requirement changes.
- 2019: GTK-Doc 1.30 NEWS records Pygments use and an experimental gtkdoc-mkhtml2 toolchain.
- 2020: GTK-Doc 1.33.0 NEWS records reproducible-build and GTK action documentation support.
- 2026: GTK-Doc 1.36.0 NEWS records that GTK-Doc can no longer be built with Autotools, while Autotools integration files remain for downstream projects.

### Related projects

- GTK, GLib, GObject, GNOME libraries, Devhelp, DocBook, libxml2, libxslt, Meson, and Autotools are the central related projects in GTK-Doc's package history.
- gi-docgen is the related GNOME documentation generator associated with GObject Introspection-era API reference publishing; archived GNOME pages describe efforts to generate documentation from introspection data as a successor direction for parts of the GTK-Doc role.

### Sources

- <https://download.gnome.org/sources/gtk-doc/1.0/>
- <https://gitlab.gnome.org/GNOME/gtk-doc>
- <https://gitlab.gnome.org/GNOME/gtk-doc/-/raw/master/NEWS>
- <https://gitlab.gnome.org/GNOME/gtk-doc/-/raw/master/README.md>
- <https://gitlab.gnome.org/api/v4/projects/GNOME%2Fgtk-doc/repository/tags?per_page=100>
- <https://wiki.gnome.org/DocumentationProject/GtkDoc>


## 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:** gtk-doc
- **Version Scheme:** 0
- **Revision:** 1
- **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 - gtk-doc-tools - 1.34.0-2: normalized package name match | Debian stable package indexes: gtk-doc-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GTK+ documentation tools | https://gitlab.gnome.org/GNOME/gtk-doc/
- Nix - gtk-doc: normalized package name match | nixpkgs package indexes: pkgs/by-name/gt/gtk-doc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - gtk-doc-tools - 1.34.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: gtk-doc-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | GTK+ documentation tools | https://gitlab.gnome.org/GNOME/gtk-doc/
- apk - gtk-doc - 1.36.0-r1: normalized package name match | Alpine Linux edge package indexes: gtk-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Documentation tool for public library API | https://gitlab.gnome.org/GNOME/gtk-doc
- dnf - gtk-doc - 1.36.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: gtk-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | API documentation generation tool for GTK+ and GNOME | https://gitlab.gnome.org/GNOME/gtk-doc/
- pacman - gtk-doc - 1.36.1-1: normalized package name match | Arch Linux sync databases: gtk-doc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Documentation tool for public library API | https://gitlab.gnome.org/GNOME/gtk-doc
- zypper - gtk-doc - 1.36.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: gtk-doc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GTK+ Documentation Generator | http://www.gtk.org/gtk-doc/
- zypper - gtk-doc-mkpdf - 1.36.1-1.1: normalized package name match | openSUSE Tumbleweed package metadata: gtk-doc-mkpdf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Gtkdoc PDF Generator | http://www.gtk.org/gtk-doc/
- MacPorts - gtk-doc: normalized package name match | MacPorts ports tree: gnome/gtk-doc/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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [docbook](https://www.automicvault.com/pkg/brew/docbook/) - Runtime dependency declared by Homebrew.
- [docbook-xsl](https://www.automicvault.com/pkg/brew/docbook-xsl/) - 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.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [jsdoc3](https://www.automicvault.com/pkg/brew/jsdoc3/) - Shares av.db curated category or tags: api-docs, cli, developer-tools, documentation.
- [docfx](https://www.automicvault.com/pkg/brew/docfx/) - Shares av.db curated category or tags: api-docs, cli, developer-tools, documentation.
- [doxygen](https://www.automicvault.com/pkg/brew/doxygen/) - Shares av.db curated category or tags: api-docs, cli, developer-tools, documentation.
- [scdoc](https://www.automicvault.com/pkg/brew/scdoc/) - Shares av.db curated category or tags: c, cli, developer-tools, documentation.
- [yelp-tools](https://www.automicvault.com/pkg/brew/yelp-tools/) - Shares av.db curated category or tags: cli, developer-tools, documentation, gnome.
- [action-docs](https://www.automicvault.com/pkg/brew/action-docs/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [adr-tools](https://www.automicvault.com/pkg/brew/adr-tools/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [adr-viewer](https://www.automicvault.com/pkg/brew/adr-viewer/) - Shares av.db curated category or tags: cli, developer-tools, documentation.
- [gspell](https://www.automicvault.com/pkg/brew/gspell/) - Local package facts share a topical domain. Shared terms: api, cli, developer, developer-tools, gnome.
- [gi-docgen](https://www.automicvault.com/pkg/brew/gi-docgen/) - Both packages touch the same language runtime or ecosystem. Shared terms: api, cli, developer, developer-tools, documentation.

## Combined YAML source

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