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.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
GPGME Dependencies
Required
libassuan-3.0.1
Optional
Doxygen-1.12.0 and Graphviz-12.2.1 (for API documentation),
GnuPG-2.4.7 (required if Qt or SWIG are
installed; used during the test suite), Clisp-2.49, and
SWIG-4.3.0 (for language bindings)
Installation of GPGME
First, allow the build system to detect Python-3.13. Also, prevent
the build system from attaching the -unknown
suffix to the version string when it's
regenerated outside of a Git repository. After this, regenerate the
build system:
sed 's/\[3.12\]/&,[3.13]/' -i configure.ac &&
sed 's/-unknown//' -i autogen.sh &&
autoconf
Install GPGME by running the
following commands:
mkdir build &&
cd build &&
../configure --prefix=/usr --disable-gpg-test &&
make PYTHONS=
If SWIG-4.3.0 is installed, build the Python 3
binding as a wheel:
if swig -version > /dev/null; then
srcdir=$PWD/../lang/python \
top_builddir=$PWD \
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD/lang/python
fi
To test the results, you should have GnuPG-2.4.7 installed and
remove the --disable-gpg-test
above.
Issue:
if swig -version > /dev/null; then
python3 -m venv testenv &&
testenv/bin/pip3 install --no-index --find-links=dist --no-cache-dir \
gpg &&
sed '/PYTHON/s#run-tests.py#& --python-libdir=/dev/null#' \
-i lang/python/tests/Makefile
fi &&
make -k check PYTHONS= PYTHON=$PWD/testenv/bin/python3
Now, as the root
user:
make install PYTHONS=
If SWIG-4.3.0 is installed, still as the root
user, install the Python 3 binding:
if swig -version > /dev/null; then
pip3 install --no-index --find-links=dist --no-cache-dir --no-user gpg
fi
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.4.7. This parameter is not needed if
GnuPG-2.4.7 is installed.
PYTHONS=
: Disable building
Python binding using the deprecated python3 setup.py build command.
The explicit instruction to build the Python 3 binding with the
pip3 wheel command is
provided.