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
This commit is contained in:
Jason E. Hale 2021-01-01 02:29:39 +00:00
parent 89be37339d
commit 7828ad1c70
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559796
2 changed files with 30 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# $FreeBSD$
PORTREVISION= 0
PORTREVISION= 1
PKGNAMESUFFIX= -${SLAVEPORT}
MAINTAINER= jhale@FreeBSD.org

View File

@ -0,0 +1,29 @@
The operator< should be const, so it can be applied to const Signatures.
This fixes a build failure in security/libkleo.
diff --git lang/cpp/src/key.cpp lang/cpp/src/key.cpp
index e536d080..7411e9e4 100644
--- lang/cpp/src/key.cpp
+++ lang/cpp/src/key.cpp
@@ -865,7 +865,7 @@ UserID::Signature::Signature(const shared_gpgme_key_t &k, gpgme_user_id_t u, gpg
{
}
-bool UserID::Signature::operator<(const Signature &other)
+bool UserID::Signature::operator<(const Signature &other) const
{
// based on cmp_signodes() in g10/keylist.c
diff --git lang/cpp/src/key.h lang/cpp/src/key.h
index a7931672..57001a03 100644
--- lang/cpp/src/key.h
+++ lang/cpp/src/key.h
@@ -468,7 +468,7 @@ public:
}
/*! Defines a canonical sort order for signatures of the same user ID. */
- bool operator<(const Signature &other);
+ bool operator<(const Signature &other) const;
bool isNull() const
{