GPGME-1.17.0

Introduction to GPGME

The GPGME package is a C library that allows cryptography support to be added to a program. It is designed to make access to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management.

This package is known to build and work properly using an LFS-11.1 platform.

Package Information

GPGME Dependencies

Required

libassuan-2.5.5

Optional

Doxygen-1.9.3 and Graphviz-2.50.0 (for API documentation), GnuPG-2.2.34 (required if Qt or SWIG are installed; used during the testsuite), Clisp-2.49, Qt-5.15.2, and/or SWIG-4.0.2 (for language bindings)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gpgme

Installation of GPGME

First, fix an issue building the package with Glibc-2.34 or later:

sed 's/defined(__sun.*$/1/' -i src/posix-io.c

Next, fix an issue building with Python 3.10 installed:

sed -e 's/3\.9/3.10/'                    \
    -e 's/:3/:4/'                        \
    -e '23653 s/distutils"/setuptools"/' \
    -i configure

Install GPGME by running the following commands:

./configure --prefix=/usr --disable-gpg-test &&
make

To test the results, you should have GnuPG-2.2.34 installed and remove the --disable-gpg-test above. Issue: make -k check.

Now, as the root user:

make install

Command Explanations

--disable-gpg-test: if this parameter is not passed to configure, the test programs are built during make stage, which requires GnuPG-2.2.34. This parameter is not needed if GnuPG-2.2.34 is installed.

Contents

Installed Program: gpgme-config, gpgme-json, and gpgme-tool
Installed Libraries: libgpgme, libgpgmepp.so, and libqgpgme.so
Installed Directory: /usr/include/{gpgme++,qgpgme,QGpgME}, /usr/lib/cmake/{Gpgmepp,QGpgme}. /usr/lib/python{2.7,3.9}/site-packages/gpg, and /usr/share/common-lisp/source/gpgme

Short Descriptions

gpgme-config

is used to obtain GPGME compilation and linking information

gpgme-json

outputs GPGME commands in JSON format

gpgme-tool

is an assuan server exposing GPGME operations, such as printing fingerprints and keyids with keyservers

libgpgme.so

contains the GPGME API functions

libgpgmepp.so

contains the C++ GPGME API functions

libqgpgme.so

contains API functions for handling GPG operations in Qt applications

Last updated on