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-2.5.6
Optional
Doxygen-1.9.8 and
Graphviz-9.0.0 (for API documentation),
GnuPG-2.4.3 (required if Qt or SWIG are installed;
used during the test suite),
Clisp-2.49,
(Qt-5.15.11 or qt-alternate-5.15.11), and
SWIG-4.1.1 (for language bindings)
Installation of GPGME
Install GPGME by running the following
commands:
mkdir build &&
cd build &&
../configure --prefix=/usr --disable-gpg-test &&
make PYTHONS=
If SWIG-4.1.1 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.3 installed
and remove the --disable-gpg-test
above. If
SWIG-4.1.1 is installed, it's necessary to adapt the
test suite to use the Python 3 binding just built as a wheel as well.
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.1.1 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.3.
This parameter is not needed if GnuPG-2.4.3 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.