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.
security/gpgme: Update to 2.0.0
Upstream has split most of the bindings out into separate projects with
this release, so the child ports that were previously providing various
bindings are now autonomous and have new origins. The python bindings
should have been called py-gpg for many years now, since 'gpg' is the
actual module name, so this also corrects that issue.
security/gpgme-cpp -> security/gpgmepp
security/gpgme-qt -> security/qgpgme
security/py-gpgme -> security/py-gpg
gpgmepp and qgpgme have been converted to CMake. py-gpg is now a "fun"
autotools and FreeBSD ports system hybrid. Gpgme, itself, still uses
autotools, but with much less parenting (patching) to do for its
emancipated children.
Adjust several ports to fix API incompatibility with upstream patches
and with some of my own. Adjust all consumers to use the new port
origins of the former child ports.
https://dev.gnupg.org/T7673
security/*gpgme*: Update to 1.24.0
Remove security/gpgme-qt-headers. The Qt headers have been folded back
into security/gpgme-qt since they no longer conflict.
https://dev.gnupg.org/T7376
security/*gpgme*: Update to 1.22.0
gpgme-qt: Fix COMMENT when FLAVOR is not explicitly set and use just
one PORTREVISION line to avoid confusing bumping tools.
https://dev.gnupg.org/T6668
security/*gpgme*: Update to 1.21.0
Split out the headers shared between the qt5 and qt6 flavors of
security/gpgme-qt to security/gpgme-qt-headers so that they no longer
conflict.
https://dev.gnupg.org/T6585
security/gpgme-cpp: Fix constness
The 1.15.0 release of gpgme-cpp adds a `Signature::operator<` which is missing
a const. In 6a6d2a27648, Signature got an operator< . This is used in
*security/libkleo*, for instance, to sort the signatures for display.
The build failure looks like this (trimmed for brevity, on 13-):
===
/usr/include/c++/v1/algorithm:715:71: error: invalid operands to binary
expression ('const GpgME::UserID::Signature' and 'const
GpgME::UserID::Signature')
bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
/wrkdirs/usr/ports/security/libkleo/work/libkleo-20.12.0/src/models/
useridlistmodel.cpp:203:14: note: in instantiation of function template
specialization 'std::__1::sort<GpgME::UserID::Signature>' requested here
std::sort(sigs.begin(), sigs.end());
===
PR: 252283
Submitted by: adridg
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.
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
- 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