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 12.2
          platform.
        
        
          Package Information
        
        
        
          GPGME Dependencies
        
        
          Required
        
        
          libassuan-3.0.1
        
        
          Optional
        
        
          Doxygen-1.12.0 and Graphviz-12.1.0 (for API documentation),
          GnuPG-2.4.5 (required if Qt or SWIG are
          installed; used during the test suite), Clisp-2.49,
          qt5-components-5.15.14, and SWIG-4.2.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.2.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.5 installed and
          remove the --disable-gpg-test above. If
          SWIG-4.2.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
        
          One test named t-quick-key-manipulation.py is known to fail.
        
        
          Now, as the root user:
        
        make install PYTHONS=
        
          If SWIG-4.2.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.5. This parameter is not needed if
          GnuPG-2.4.5 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.