# Install makepkg with Homebrew, apt, apk, dnf, Nix, pacman

Compile and build packages suitable for installation with pacman. Version 7.1.0 via Homebrew; verified 2026-06-21.

## Install

```sh
sudo av install brew:makepkg
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install makepkg
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install makepkg
```

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

- apk (92%):

```sh
sudo apk add pacman
```

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

- dnf (92%):

```sh
sudo dnf install libalpm
```

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

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

- pacman (92%):

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

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

## Package facts

- **Package key:** brew:makepkg
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/makepkg>
- **Version:** 7.1.0
- **Source summary:** Compile and build packages suitable for installation with pacman
- **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
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- makepkg (cli)
- makepkg-template (cli)
- pacman (cli)
- pacman-conf (cli)
- pacman-db-upgrade (cli)
- pacman-key (cli)
- repo-add (cli)
- repo-elephant (cli)
- repo-remove (cli)
- testpkg (cli)
- vercmp (cli)
- makepkg (alias)
- makepkg-template (alias)
- pacman (alias)
- pacman-conf (alias)
- pacman-db-upgrade (alias)
- pacman-key (alias)
- repo-add (alias)
- repo-elephant (alias)
- repo-remove (alias)
- testpkg (alias)
- vercmp (alias)

## Dependencies

- bash
- fakeroot
- gettext
- libarchive
- openssl@3

## Build dependencies

- meson
- ninja
- pkgconf

## Uses from macOS

- 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: 7.1.0
- Package-manager updated: 2026-06-21
- Local data: ok
- Upstream repository: https://wiki.archlinux.org/index.php/makepkg
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

`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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

`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.

### Timeline

- 2002: pacman 1.0 is released.
- 2002: pacman 2.0 introduces sync package databases.
- 2007: pacman 3.0 splits the package manager into libalpm and the pacman front end.
- 2011: pacman 4.0 adds signing and verification across makepkg, repo-add, and pacman.
- 2021: pacman 6.0 adds parallel downloads.
- 2024: pacman 7.0 adds sandboxed download support.

### Related projects

- Related Arch packaging tools include pacman, libalpm, repo-add, repo-remove, makepkg-template, pacman-key, namcap, devtools, and AUR helpers that delegate builds to `makepkg`.

### Sources

- <https://gitlab.archlinux.org/pacman/pacman>
- <https://man.archlinux.org/man/PKGBUILD.5>
- <https://man.archlinux.org/man/makepkg.8>
- <https://man.archlinux.org/man/makepkg.conf.5>
- <https://pacman.archlinux.page/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

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.


## Configuration files

- Linux: /etc/makepkg.conf, /etc/makepkg.conf.d/*.conf, $XDG_CONFIG_HOME/pacman/makepkg.conf, ~/.makepkg.conf
## Source Database Details

- **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:** head, stable

## Other Package-Manager Records

- Debian apt - makepkg - 7.0.0-1+b1: normalized package name match | Debian stable package indexes: makepkg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Arch Linux package build utility | https://archlinux.org/pacman/
- Ubuntu apt - makepkg - 6.0.2-6ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: makepkg from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Arch Linux package build utility | https://archlinux.org/pacman/
- Debian apt - pacman - 10-21: installed executable or alias match | Debian stable package indexes: pacman from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Chase Monsters in a Labyrinth
- Nix - pacman: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/pa/pacman/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - pacman - 10-19: installed executable or alias match | Ubuntu 24.04 LTS package indexes: pacman from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Chase Monsters in a Labyrinth
- apk - pacman - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple library-based package manager | https://www.archlinux.org/pacman/
- apk - pacman-bash-completion - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for pacman | https://www.archlinux.org/pacman/
- apk - pacman-dev - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple library-based package manager (development files) | https://www.archlinux.org/pacman/
- apk - pacman-doc - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple library-based package manager (documentation) | https://www.archlinux.org/pacman/
- apk - pacman-lang - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman-lang from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Languages for package pacman | https://www.archlinux.org/pacman/
- apk - pacman-zsh-completion - 7.1.0-r2: installed executable or alias match | Alpine Linux edge package indexes: pacman-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for pacman | https://www.archlinux.org/pacman/
- dnf - libalpm - 7.1.0-2.fc45: installed executable or alias match | Fedora Rawhide package metadata: libalpm from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Arch Linux Package Management library | https://gitlab.archlinux.org/pacman/pacman
- dnf - libalpm-devel - 7.1.0-2.fc45: installed executable or alias match | Fedora Rawhide package metadata: libalpm-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development headers for libalpm | https://gitlab.archlinux.org/pacman/pacman
- dnf - pacman - 7.1.0-2.fc45: installed executable or alias match | Fedora Rawhide package metadata: pacman from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Package manager for the Arch distribution | https://gitlab.archlinux.org/pacman/pacman
- dnf - pacman-filesystem - 7.1.0-2.fc45: installed executable or alias match | Fedora Rawhide package metadata: pacman-filesystem from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Pacman filesystem layout | https://gitlab.archlinux.org/pacman/pacman
- pacman - pacman - 7.1.0.r9.g54d9411-2: installed executable or alias match | Arch Linux sync databases: pacman from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | A library-based package manager with dependency support | https://www.archlinux.org/pacman/


## Related links

- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [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.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Runtime dependency declared by Homebrew.
- [fakeroot](https://www.automicvault.com/pkg/brew/fakeroot/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [libarchive](https://www.automicvault.com/pkg/brew/libarchive/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - 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.
- [abi3audit](https://www.automicvault.com/pkg/brew/abi3audit/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [cargo-bundle](https://www.automicvault.com/pkg/brew/cargo-bundle/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [charmcraft](https://www.automicvault.com/pkg/brew/charmcraft/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [create-dmg](https://www.automicvault.com/pkg/brew/create-dmg/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [flit](https://www.automicvault.com/pkg/brew/flit/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [hpack](https://www.automicvault.com/pkg/brew/hpack/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [melange](https://www.automicvault.com/pkg/brew/melange/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [msitools](https://www.automicvault.com/pkg/brew/msitools/) - Shares av.db curated category or tags: cli, developer-tools, packaging.
- [rattler-build](https://www.automicvault.com/pkg/brew/rattler-build/) - Local metadata places this package in an adjacent workflow. Shared terms: build, cli, developer, developer-tools, openssl.
- [rpm](https://www.automicvault.com/pkg/brew/rpm/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, gettext, libarchive.
- [rpmspectool](https://www.automicvault.com/pkg/brew/rpmspectool/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, openssl, openssl-3.

## Combined YAML source

View the package source record on GitHub. [combined/makepkg.yml](https://github.com/automic-vault/db/blob/main/combined/makepkg.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
