macOS
brew install makepkglocal Homebrew formula metadata
brew
Compile and build packages suitable for installation with pacman. Version 7.1.0 via Homebrew; verified 2026-06-21.
install
brew install makepkglocal Homebrew formula metadata
sudo apt install makepkgDebian stable package indexes · makepkg · source: deb.debian.org
sudo apk add pacmanAlpine Linux edge package indexes · pacman · source: dl-cdn.alpinelinux.org
sudo dnf install libalpmFedora Rawhide package metadata · libalpm · source: dl.fedoraproject.org
nix profile install nixpkgs#pacmannixpkgs package indexes · pkgs/by-name/pa/pacman/package.nix · source: api.github.com
sudo pacman -S pacmanArch Linux sync databases · pacman · source: geo.mirror.pkgbuild.com
overview
Compile and build packages suitable for installation with pacman
history
`makepkg` is Arch Linux's package build script for turning PKGBUILD recipes into pacman-installable packages. It sits in the pacman project alongside libalpm, repo-add, pacman-key, and related utilities, and is the practical center of Arch source packaging culture.
The pacman project began with Judd Vinet's early Arch Linux package manager releases in 2002. The official pacman page records a 1.0 release on February 25, 2002, a 2.0 release in August 2002 that introduced sync package databases, and later major versions that grew the toolchain around the simple compressed package format.
The official pacman history calls out version 3.0 as the split between the pacman front end and libalpm, version 4.0 as the point where package signing and verification covered the makepkg, repo-add, and pacman toolchain, version 6.0 for parallel downloads, and version 7.0 for sandboxed downloads. `makepkg` developed with that ecosystem because package building, repository metadata, installation, and verification all have to agree on package formats and metadata.
On Arch Linux, `makepkg` became the normal way for users and maintainers to build packages from PKGBUILDs. The man page frames the workflow plainly: once a PKGBUILD exists, `makepkg` downloads and validates sources, checks dependencies, runs the build and packaging functions, installs into a temporary root, writes metadata, and creates a package for pacman.
The Arch User Repository amplified `makepkg`'s role because AUR packages are distributed as build recipes rather than prebuilt binaries. That made PKGBUILD review, local compilation, checksums, source arrays, and `makepkg -si` part of everyday Arch package-manager literacy.
Typical usage is to enter a directory containing a PKGBUILD and run `makepkg`, often with flags to install dependencies, clean build files, sign packages, or install the result with pacman. `makepkg.conf` controls compiler flags, build environment options, source download agents, compression, signing, and per-user overrides.
`makepkg` matters because it makes the Arch package format legible and reproducible at the shell level. A package recipe is a Bash file, the package database is intentionally simple, and the toolchain exposes enough knobs for distribution maintainers, AUR users, and local rebuilders to reason about exactly what got built.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
/etc/makepkg.conf/etc/makepkg.conf.d/*.conf$XDG_CONFIG_HOME/pacman/makepkg.conf~/.makepkg.confexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
makepkg | cli | global executable | |
makepkg-template | cli | global executable | |
pacman | cli | global executable | |
pacman-conf | cli | global executable | |
pacman-db-upgrade | cli | global executable | |
pacman-key | cli | global executable | |
repo-add | cli | global executable | |
repo-elephant | cli | global executable | |
repo-remove | cli | global executable | |
testpkg | cli | global executable | |
vercmp | cli | global executable |
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.
https://wiki.archlinux.org/index.php/makepkg
install metadata
| Package key | brew:makepkg |
|---|---|
| Version | 7.1.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/makepkg |
| Homepage | https://wiki.archlinux.org/index.php/makepkg |
| Repository | https://gitlab.archlinux.org/pacman/pacman |
| Upstream docs | https://man.archlinux.org/man/makepkg.8 |
| License | GPL-2.0-or-later |
| Source archive | https://gitlab.archlinux.org/pacman/pacman.git |
| Last updated | 2026-06-21T16:34:05-04:00 |
| Pulse | updated |
| Dependencies | bash, fakeroot, gettext, libarchive, openssl@3 |
| Build dependencies | meson, ninja, pkgconf |
| Uses from macOS | libxslt |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | makepkg |
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
makepkg 7.0.0-1+b1
Arch Linux package build utility
sudo apt install makepkgmakepkg 6.0.2-6ubuntu2
Arch Linux package build utility
sudo apt install makepkgpacman 10-21
Chase Monsters in a Labyrinth
sudo apt install pacmanpacman
nix profile install nixpkgs#pacmanpacman 10-19
Chase Monsters in a Labyrinth
sudo apt install pacmanpacman 7.1.0-r2
Simple library-based package manager
https://www.archlinux.org/pacman/
sudo apk add pacmanpacman-bash-completion 7.1.0-r2
Bash completions for pacman
https://www.archlinux.org/pacman/
sudo apk add pacman-bash-completionpacman-dev 7.1.0-r2
Simple library-based package manager (development files)
https://www.archlinux.org/pacman/
sudo apk add pacman-devpacman-doc 7.1.0-r2
Simple library-based package manager (documentation)
https://www.archlinux.org/pacman/
sudo apk add pacman-docpacman-lang 7.1.0-r2
Languages for package pacman
https://www.archlinux.org/pacman/
sudo apk add pacman-langpacman-zsh-completion 7.1.0-r2
Zsh completions for pacman
https://www.archlinux.org/pacman/
sudo apk add pacman-zsh-completionlibalpm 7.1.0-2.fc45
Arch Linux Package Management library
https://gitlab.archlinux.org/pacman/pacman
sudo dnf install libalpmlibalpm-devel 7.1.0-2.fc45
Development headers for libalpm
https://gitlab.archlinux.org/pacman/pacman
sudo dnf install libalpm-develpacman 7.1.0-2.fc45
Package manager for the Arch distribution
https://gitlab.archlinux.org/pacman/pacman
sudo dnf install pacmanpacman-filesystem 7.1.0-2.fc45
Pacman filesystem layout
https://gitlab.archlinux.org/pacman/pacman
sudo dnf install pacman-filesystempacman 7.1.0.r9.g54d9411-2
A library-based package manager with dependency support
https://www.archlinux.org/pacman/
sudo pacman -S pacmansource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.