Automic VaultAutomic Vault

brew

Install gperf with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, winget, zypper

Perfect hash function generator. Version 3.3 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gperf

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install gperf

MacPorts ports tree · devel/gperf/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add gperf

Alpine Linux edge package indexes · gperf · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install gperf

Debian stable package indexes · gperf · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install gperf

Fedora Rawhide package metadata · gperf · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#gperf

nixpkgs package indexes · pkgs/by-name/gp/gperf/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S gperf

Arch Linux sync databases · gperf · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install gperf

openSUSE Tumbleweed package metadata · gperf · source: download.opensuse.org

overview

Package summary

Perfect hash function generator

Commands and aliases

  • gperf

history

Project history and usage

GNU gperf is the GNU perfect hash function generator: it reads a static set of keywords and emits C or C++ lookup code designed for collision-free recognition with one string comparison.

Project history

The GNU manual says the gperf utility was written in GNU C++ by Douglas C. Schmidt, with the general idea inspired by Keith Bostic's C algorithm distributed to net.sources around 1984. The manual frames the GNU program as a heavily modified, enhanced, and extended implementation created at the University of California, Irvine.

gperf belongs to the classic Unix compiler-tool family. Its input format resembles tools such as lex in using declarations and `%%` separators, while its output is ordinary C or C++ source that can be checked into or generated during builds.

Adoption history

GNU documents gperf as useful for static search sets such as compiler reserved words, assembler instruction opcodes, and shell built-ins. That made it attractive in source-based packaging ecosystems because generated lookup tables can be fast, deterministic, and dependency-light.

The GNU project page distributes gperf through the GNU FTP mirror network and points development to the Savannah project, placing it in the same distribution pattern as many older GNU build-time utilities. Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Chocolatey, and other package systems carry packages for it in the input metadata, reflecting its role as a small but widely available build dependency.

How it is used

A user supplies a keyword file, optionally including struct declarations and gperf declarations, and gperf writes generated lookup code. The GNU page describes options for C or C++ output, switch statements or nested if statements instead of a hash table, and algorithm tuning.

Typical use is not interactive end-user work but build-time code generation. Projects use it when a fixed vocabulary needs fast membership tests without maintaining handwritten hash tables.

Why package nerds care

Package maintainers care about gperf because it often appears as a small build requirement that is easy to miss when bootstrapping language runtimes, compilers, and parser-heavy tools. It is old, tiny, and boring in the good way: a generated C file is easier to ship than a runtime dependency.

It also illustrates a packaging distinction between generated artifacts and generators. Some upstreams ship generated source, while others require gperf at build time, so package recipes need to know whether gperf is a native build tool or merely an optional maintainer tool.

Timeline

  • 1984: Keith Bostic's C perfect-hash algorithm circulated on net.sources, later cited by the GNU manual as an inspiration.
  • Late 1980s: Douglas C. Schmidt developed the GNU C++ implementation at the University of California, Irvine.
  • 1998-2025: The GNU project page records long-running FSF maintenance of the gperf web page and GNU mirror distribution.
  • 3.x series: gperf continued as a GPL-3-or-later GNU utility with C and C++ code-generation support documented in the GNU manual.

Related projects

  • Related GNU and Unix build tools include flex, bison, GNU indent, compiler front ends, and parser or lexer generators that also turn compact declarative inputs into C-family source.
  • The manual specifically discusses static sets such as C reserved words, assembler opcodes, and shell built-ins as natural problem domains for gperf.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
gperfcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version3.3
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://www.gnu.org/software/gperf/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://www.gnu.org/software/gperf/none confidence

install metadata

Package metadata

Package keybrew:gperf
Version3.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gperf
Homepagehttps://www.gnu.org/software/gperf/
Repositoryhttps://git.savannah.gnu.org/cgit/gperf.git
Upstream docshttps://www.gnu.org/software/gperf
LicenseGPL-3.0-or-later
Source archivehttps://ftpmirror.gnu.org/gnu/gperf/gperf-3.3.tar.gz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegperf
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

gperf 3.2.1-1

Perfect hash function generator

http://www.gnu.org/software/gperf/

sudo apt install gperf
  • Section: devel
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Gperf
Debian stable package indexes · deb.debian.org · Debian stable package indexes: gperf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

gperf

nix profile install nixpkgs#gperf
  • normalized package name match
  • Matched by: Gperf
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gp/gperf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

gperf 3.1-1build1

Perfect hash function generator

http://www.gnu.org/software/gperf/

sudo apt install gperf
  • Section: universe/devel
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Gperf
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: gperf from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

gperf 3.3-r0

Perfect hash function generator.

https://www.gnu.org/software/gperf/

sudo apk add gperf
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gperf
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gperf
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gperf from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

gperf-doc 3.3-r0

Perfect hash function generator. (documentation)

https://www.gnu.org/software/gperf/

sudo apk add gperf-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gperf
  • normalized package name match
  • Matched by: Gperf
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gperf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

gperf 3.2.1-3.fc44

A perfect hash function generator

http://www.gnu.org/software/gperf/

sudo dnf install gperf
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: gperf
  • 5 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gperf
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: gperf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

gperf 3.3-2

Perfect hash function generator

https://www.gnu.org/software/gperf/

sudo pacman -S gperf
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • 3 dependencies
  • normalized package name match
  • Matched by: Gperf
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: gperf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

gperf 3.3-1.3

A Compiler Tool for Generating Perfect Hash Functions

https://gnu.org/software/gperf/

sudo zypper install gperf
  • License: GPL-3.0-or-later
  • Category: Development/Languages/C and C++
  • Architecture: x86_64
  • Source Package: gperf
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gperf
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: gperf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

gperf

sudo port install gperf
  • normalized package name match
  • Matched by: Gperf
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/gperf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

gperf

choco install gperf
  • normalized package name match
  • Matched by: Gperf
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: gperf from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','glab'
winget95%

oss-winget.gperf

winget install --id oss-winget.gperf -e
  • normalized package name match
  • Matched by: Gperf
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: oss-winget.gperf from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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