GnuPG Made Easy (GPGME) is a C library designed to make access to GnuPG
easier for applications. It provides a High-Level Crypto API for encryption,
decryption, signing, signature verification and key management. Currently it
uses GnuPG as its backend.
===> The following configuration options are available for gpgme-qt5-1.20.0:
DOXYGEN=off: Build documentation with Doxygen
TEST=off: Build and/or run tests
===> Use 'make config' to modify these settings
security/gpgme-qt: Flavorize for new Qt6 bindings
Rename security/gpgme-qt5 to security/gpgme-qt and flavorize to
allow building qt5 and qt6 flavors.
Adjust dependencies and bump PORTREVISION on consumers.
Fix installation of optional Doxgen docs.
security/*gpgme*: Update to 1.7.1
This release only fixes an ABI compatibility issue with gpgme 1.6.0
for security/gpgme-qt5.
Bump PORTREVISION on consumers of security/gpgme-qt5 due to the
shared library bump.
Changes: https://dev.gnupg.org/T5872
Reported by: portscout
Fix Qt5 symbol version scripts to put the catch-all clause first. When
a symbol matches multiple clauses the last one takes precedence. If the
catch-all is last it captures everything. In the case of Qt5 libraries
this caused all symbols to have a Qt_5 label while some should have
Qt_5_PRIVATE_API. This only affects lld because GNU ld always gives the
catch-all lowest priority.
Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium. Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3] The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one. If there's no such non-weak symbol the call
(Only the first 15 lines of the commit message are shown above )
security/gpgme:
- Add some magic to support the regression tests in the case where the test
build directory path length exceeds the maximum socket path length.
- Fix shebang in the pinentry test script. At long last, the real reason some
of the tests were failing has been discovered!
- Remove files/patch-tests_gpg_Makefile.in now that the pinentry script is
fixed.
- Move USES upward.
security/gpgme-cpp:
- Remove workaround for Bug 193528 (fixed in GCC 6+)
security/gpgme-qt5:
- Add full test support.
- QT5 testlib only needed for tests at build time.
- Add DOXYGEN option to install the API documentation. Prevent the
automatic building of the docs if doxygen happens to be installed.
- Bump PORTREVISION due to added options / dependency change
security/py-gpgme:
- Add full test support.
- Revert flavor logic move from r460759. The logic being below
<bsd.port.options.mk> was the reason it wasn't previously working.
- Bump PORTREVISION due to added option
Update security/gpgme and friends to 1.9.0 [1]
Fix LICENSE
Add regression test support for master port. Slave port tests are not working
properly and need further investigation.
PR: 218316 (based on) [1]
Submitted by: gahr [1]
Changes: https://lists.gnupg.org/pipermail/gnupg-users/2017-March/057963.html
Update security/gpgme-* to 1.8.0
In this version, libgpgme-pthread.so has been removed in favor of just
using libgpgme.so as the thread-safe library. PORTREVISION has been
bumped on all ports depending on security/gpgme so that any that may have
linked to -lgpgme-pthread will link to -lgpgme instead.
The Python module provided by security/py-gpgme has been renamed upstream
from pyme3 to gpg. This removes the conflict with security/py-pyme,
although security/py-gpgme is still the direct replacement of that
module.
Fix conflict between libqgpgme from deskutils/kdepimlibs4 and
security/qgpgme-qt5
Install the kde4 version of libqgpgme as libqgpgme4.
* Bump revision in affected dependencies -- not all ports using USE_KDE=pimlibs
actually link against libqgpgme.
* Remove conflict from security/gpgme-qt5
* Drop KDE3 hunks from patch-cmake__modules__FindQGpgme.cmake
PR: 212886
Reviewed by: rakuco
Approved by: rakuco (mentor)
Using ports libc++ on non-leaf ports is problematic, as the requirement
basically flows to all ports that depend on gpgme-{cpp,qt5}. In particular,
sysutils/kf5-kwallet was breaking in FreeBSD 9.x because mismatches between
libc++ and libstdc++ from gcc48 were causing a gpgme symbol not to be found:
backendpersisthandler.cpp:(.text+0xf61): undefined reference to
`GpgME::Context::encrypt(std::vector<GpgME::Key, std::allocator<GpgME::Key> >
const&, GpgME::Data const&, GpgME::Data&, GpgME::Context::EncryptionFlags)'
Switch the build of both ports to lang/gcc on FreeBSD 9 and the system compiler
on FreeBSD 10:
* Use USES:compiler-c++11-lib instead of compiler-c++11-lang, as we do need a
C++11-compatible standard library. This causes the right compiler to be chosen
as described above.
* Set _GLIBCXX_USE_C99 so that gpgme-cpp builds with GCC 4.8 (std::to_string()
is not exposed by default on FreeBSD). Several other ports need to do the same.
* Add a few patches to fix the gpgme-qt5:
** patch-git_b4658f6a1 is a backport from an upstream commit to make the port
build with GCC 4.8 without errors.
** patch-lang_qt_src_qgpgmeencryptjob.cpp is a local workaround for the
std::bind() bug mentioned in ports r424451.
PR: 214575
Submitted by: rakuco
Fix build of the Qt interface on FreeBSD 10.2 and 10.3. On FreeBSD 10.1, it
builds without issue (and thats what I originally tested this on and assumed
it would work on later releases), but there seems to be a regression in the
c++ headers that appears to have happend in r278724, so use libc++ from ports.
libtool: compile: c++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../..
-I../../../lang/cpp/src -I../../../src -I/usr/local/include/qt5/QtCore
-I/usr/local/include/qt5 -fpic -I/usr/local/include -I/usr/local/include
-DBUILDING_QGPGME -isystem /usr/local/include -O2 -pipe -fstack-protector
-isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include
-MT qgpgmeencryptjob.lo -MD -MP -MF .deps/qgpgmeencryptjob.Tpo -c
qgpgmeencryptjob.cpp -fPIC -DPIC -o .libs/qgpgmeencryptjob.o
qgpgmeencryptjob.cpp:133:9: error: no matching function for call to 'bind'
run(std::bind(&encrypt,
^~~~~~~~~
(Only the first 15 lines of the commit message are shown above )
- Update security/gpgme to 1.7.0
- Convert to master port and add several slave ports for the newly added
c++, Qt5, and python bindings (security/gpgme-cpp, security/gpgme-qt5,
and security/py-gpgme, respectively)
- The Qt bindings currently provided by deskutils/kdepimlibs4
cannot currently coexist with these new bindings, but will be phased out
in the future
- The python bindings are an updated version of the ones provided by
security/py-pyme and are now being maintained as part of the gpgme project.
They work with both python 2.x and 3.x.
PR: 212886