# Install gpgme with Homebrew, apk, dnf, MacPorts, Nix, pacman, zypper, apt

Library access to GnuPG. Version 2.1.2 via Homebrew; verified 2026-06-30.

## Install

```sh
sudo av install brew:gpgme
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gpgme
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gpgme
```

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

### Linux

- apk (92%):

```sh
sudo apk add gpgme
```

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

- dnf (92%):

```sh
sudo dnf install gpgme
```

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

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

- pacman (92%):

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

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

- zypper (92%):

```sh
sudo zypper install gpgme
```

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

- Debian apt (92%):

```sh
sudo apt install gpgme-json
```

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

## Package facts

- **Package key:** brew:gpgme
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gpgme>
- **Version:** 2.1.2
- **Source summary:** Library access to GnuPG
- **Homepage:** <https://www.gnupg.org/related_software/gpgme/>
- **Repository:** <https://dev.gnupg.org/source/gpgme.git>
- **Upstream docs:** <https://www.gnupg.org/documentation/manuals/gpgme>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-2.1.2.tar.bz2>
- **Last updated:** 2026-06-30T15:25:23Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gnupg-key-manage (cli)
- gpgme-config (cli)
- gpgme-json (cli)
- gpgme-tool (cli)
- gnupg-key-manage (alias)
- gpgme-config (alias)
- gpgme-json (alias)
- gpgme-tool (alias)

## Dependencies

- gnupg
- libassuan
- libgpg-error

## 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: 2.1.2
- Package-manager updated: 2026-06-30
- Local data: ok
- Upstream repository: https://www.gnupg.org/related_software/gpgme/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GPGME, short for GnuPG Made Easy, is the official C API for integrating applications with the GnuPG crypto stack. It gives programs a stable high-level interface for encryption, decryption, signing, verification, and key management instead of scripting the `gpg` command line.

### Project history

GPGME was created inside the GnuPG ecosystem to make public-key crypto engines easier for applications to use. The reference manual describes it as a C library that uses GnuPG and GpgSM as backends for OpenPGP and CMS.

The NEWS file records a 1.0.0 release on 2004-09-30, described by the project as a thoroughly tested stable library branch. Shortly after that, version 1.0.2 on 2004-12-28 changed the library license to LGPL-2.1-or-later, a significant packaging and application-integration decision.

Over time GPGME grew beyond its C surface. The GnuPG wiki documents official bindings for C++, Qt, Python, and Common Lisp, and the NEWS file records later work on Python bindings, `gpgme-json`, and a 2.0.0 release in 2025 that split the C++, Qt, and Python bindings into separately released projects.

### Adoption history

The GnuPG project recommends GPGME as the way applications should use the GnuPG crypto stack, because command-line options and textual output are not the same thing as an official API. That recommendation is why GPGME shows up as a dependency under mail user agents, desktop key managers, package-signing tools, and language bindings.

Distribution adoption follows from that API role. Homebrew packages the library together with command-line helper tools such as `gpgme-config`, `gpgme-json`, `gpgme-tool`, and `gnupg-key-manage`; Debian and Ubuntu expose `gpgme-json`; and other package systems carry the core `gpgme` library.

### How it is used

Applications create a GPGME context and use library calls for encryption, decryption, signing, signature verification, key listing, import, export, and key management. GPGME invokes GnuPG or GpgSM behind the API, so application code does not need to parse `gpg` status output directly.

The library is especially important for mail user agents and GUI tools that need OpenPGP or S/MIME support without becoming cryptographic engines themselves.

### Why package nerds care

GPGME is packaging glue with security consequences. It hides command-line churn behind ABI and API promises, which lets desktop applications, TUI tools, mail clients, and language bindings depend on GnuPG while still integrating with normal shared-library packaging.

For maintainers, GPGME also explains why many packages pull in the GnuPG stack even when they are not named `gpg`: they need the supported API, the engine binaries, libgpg-error, and sometimes Assuan or language binding packages.

### Timeline

- 2004-09-30: GPGME 1.0.0 established the stable 1.x branch.
- 2004-12-28: GPGME 1.0.2 changed the library license to LGPL-2.1-or-later.
- 2005-10-01: GPGME 1.1.0 added configurable backend engine filenames and home directories.
- 2018-04-18: GPGME 1.11.0 added `gpgme-json` as a native messaging server for web browsers.
- 2024-06-17: The GnuPG wiki API page documented GPGME as the recommended API and listed official language bindings.
- 2025-06-03: GPGME 2.0.0 split C++, Qt, and Python bindings into separately released projects.
- 2026-05-18: GPGME 2.1.0 added new decrypt result fields and context flags.

### Related projects

- Related GnuPG components include GnuPG, GpgSM, libgpg-error, libassuan, pinentry, GPA, Kleopatra, Gpg4win, and language binding packages built over GPGME.

### Sources

- <https://dev.gnupg.org/source/gpgme.git>
- <https://github.com/gpg/gpgme/blob/master/NEWS>
- <https://wiki.gnupg.org/APIs>
- <https://www.gnupg.org/documentation/manuals/gpgme/Introduction.html>
- <https://www.gnupg.org/software/gpgme/index.html>


## Security Notes

No matching local secret-handling manifest was found for gpgme. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gpgme
- **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

- Nix - gpgme: normalized package name match | nixpkgs package indexes: pkgs/by-name/gp/gpgme/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - gpgme - 2.0.1-r1: normalized package name match | Alpine Linux edge package indexes: gpgme from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | gnupg made easy | https://www.gnupg.org/related_software/gpgme/
- apk - gpgme-dev - 2.0.1-r1: normalized package name match | Alpine Linux edge package indexes: gpgme-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | gnupg made easy (development files) | https://www.gnupg.org/related_software/gpgme/
- apk - gpgme-doc - 2.0.1-r1: normalized package name match | Alpine Linux edge package indexes: gpgme-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | gnupg made easy (documentation) | https://www.gnupg.org/related_software/gpgme/
- apk - gpgme-lisp - 2.0.1-r1: normalized package name match | Alpine Linux edge package indexes: gpgme-lisp from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Common Lisp bindings for GPGME | https://www.gnupg.org/related_software/gpgme/
- dnf - gpgme - 2.0.1-4.fc45: normalized package name match | Fedora Rawhide package metadata: gpgme from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | GnuPG Made Easy - high level crypto API | https://gnupg.org/related_software/gpgme/
- dnf - gpgme-devel - 2.0.1-4.fc45: normalized package name match | Fedora Rawhide package metadata: gpgme-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development headers and libraries for gpgme | https://gnupg.org/related_software/gpgme/
- pacman - gpgme - 2.1.0-1: normalized package name match | Arch Linux sync databases: gpgme from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | C wrapper library for GnuPG | https://www.gnupg.org/related_software/gpgme/
- zypper - gpgme - 2.1.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: gpgme from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Programmatic library interface to GnuPG | https://www.gnupg.org/related_software/gpgme/
- zypper - gpgme-devel - 2.1.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: gpgme-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for GPGME, a C library for accessing GnuPG | https://www.gnupg.org/related_software/gpgme/
- zypper - libgpgme45 - 2.1.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: libgpgme45 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Programmatic library interface to GnuPG | https://www.gnupg.org/related_software/gpgme/
- zypper - libgpgme45-32bit - 2.1.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: libgpgme45-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Programmatic library interface to GnuPG | https://www.gnupg.org/related_software/gpgme/
- MacPorts - gpgme: normalized package name match | MacPorts ports tree: devel/gpgme/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Debian apt - gpgme-json - 1.24.2-3: installed executable or alias match | Debian stable package indexes: gpgme-json from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Use GnuPG with web browser extensions | https://gnupg.org/software/gpgme/
- Ubuntu apt - gpgme-json - 1.18.0-4.1ubuntu4: installed executable or alias match | Ubuntu 24.04 LTS package indexes: gpgme-json from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | json interface to the GPGME GnuPG encryption library | https://www.gnupg.org/related_software/gpgme/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [gnupg](https://www.automicvault.com/pkg/brew/gnupg/) - Runtime dependency declared by Homebrew.
- [libassuan](https://www.automicvault.com/pkg/brew/libassuan/) - Runtime dependency declared by Homebrew.
- [libgpg-error](https://www.automicvault.com/pkg/brew/libgpg-error/) - Runtime dependency declared by Homebrew.
- [envio](https://www.automicvault.com/pkg/brew/envio/) - Popular package that depends on this formula.
- [fwknop](https://www.automicvault.com/pkg/brew/fwknop/) - Popular package that depends on this formula.
- [gitg](https://www.automicvault.com/pkg/brew/gitg/) - Popular package that depends on this formula.
- [gpa](https://www.automicvault.com/pkg/brew/gpa/) - Popular package that depends on this formula.
- [gpg-tui](https://www.automicvault.com/pkg/brew/gpg-tui/) - Popular package that depends on this formula.
- [rnp](https://www.automicvault.com/pkg/brew/rnp/) - Shares av.db curated category or tags: cli, cryptography, library, openpgp, security.
- [sequoia-chameleon-gnupg](https://www.automicvault.com/pkg/brew/sequoia-chameleon-gnupg/) - Shares av.db curated category or tags: cli, cryptography, gnupg, openpgp, security.
- [botan](https://www.automicvault.com/pkg/brew/botan/) - Shares av.db curated category or tags: cli, cryptography, library, security.
- [gnupg-pkcs11-scd](https://www.automicvault.com/pkg/brew/gnupg-pkcs11-scd/) - Shares av.db curated category or tags: cli, cryptography, gnupg, security.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Shares av.db curated category or tags: cli, cryptography, library, security.
- [hopenpgp-tools](https://www.automicvault.com/pkg/brew/hopenpgp-tools/) - Shares av.db curated category or tags: cli, cryptography, openpgp, security.
- [pinentry](https://www.automicvault.com/pkg/brew/pinentry/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, error, gnupg, libassuan, libgpg.

## Combined YAML source

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