Index: security/gpgme/Makefile =================================================================== --- security/gpgme/Makefile (revision 426248) +++ security/gpgme/Makefile (working copy) @@ -60,13 +60,15 @@ . if ${SLAVEPORT} == "cpp" CONFIGURE_ARGS+=--enable-languages="cpp" -USES+= compiler:c++11-lang +USES+= compiler:c++11-lib +# Unhide std::to_string() to fix build with GCC 4.8 (ports/193528). +CXXFLAGS+= -D_GLIBCXX_USE_C99 . endif . if ${SLAVEPORT} == "qt5" LIB_DEPENDS+= libgpgmepp.so:security/gpgme-cpp CONFIGURE_ARGS+=--enable-languages="cpp qt" -USES+= compiler:c++11-lang pkgconfig +USES+= compiler:c++11-lib pkgconfig USE_QT5= buildtools_build core testlib CONFLICTS_INSTALL= kdepimlibs-4.* . endif @@ -86,18 +88,6 @@ .include .if defined(SLAVEPORT) -. if ${SLAVEPORT} == "cpp" -. if ${OPSYS} == FreeBSD && ${OSVERSION} < 1001000 -BUILD_DEPENDS+= ${LOCALBASE}/lib/c++/libstdc++.so:devel/libc++ -CXXFLAGS+= -stdlib=libc++ -isystem ${LOCALBASE}/include/c++/v1 -. endif -. endif -. if ${SLAVEPORT} == "qt5" -. if ${OPSYS} == FreeBSD && (${OSVERSION} < 1001000 || (${OSVERSION} >= 1001507 && ${OSVERSION} < 1100080)) -BUILD_DEPENDS+= ${LOCALBASE}/lib/c++/libstdc++.so:devel/libc++ -CXXFLAGS+= -stdlib=libc++ -isystem ${LOCALBASE}/include/c++/v1 -. endif -. endif . if ${SLAVEPORT} == "python" . if ${PYTHON_REL} >= 3000 CONFIGURE_ARGS+=--enable-languages="python3" Index: security/gpgme/files/patch-git_b4658f6a1 =================================================================== --- security/gpgme/files/patch-git_b4658f6a1 (nonexistent) +++ security/gpgme/files/patch-git_b4658f6a1 (working copy) @@ -0,0 +1,35 @@ +From: Andras Mantia +Date: Wed, 2 Nov 2016 09:23:42 +0000 (+0200) +Subject: qt: Fix build with g++ 4.8.x +X-Git-Tag: gpgme-1.8.0~36 +X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=b4658f6a1110bb0b54bd5dfc9df8e8b390e38d61 + +qt: Fix build with g++ 4.8.x + +* lang/qt/src/defaultkeygenerationjob.cpp +(DefaultKeyGenerationJob::start): Explicitly connect pointer +in the QPointer. + +-- +Commit message written by Andre Heinecke +--- + +diff --git a/lang/qt/src/defaultkeygenerationjob.cpp b/lang/qt/src/defaultkeygenerationjob.cpp +index d26e824..020f4d2 100644 +--- lang/qt/src/defaultkeygenerationjob.cpp ++++ lang/qt/src/defaultkeygenerationjob.cpp +@@ -105,11 +105,11 @@ GpgME::Error DefaultKeyGenerationJob::start(const QString &email, const QString + + d->job = openpgp()->keyGenerationJob(); + d->job->installEventFilter(this); +- connect(d->job, &KeyGenerationJob::result, ++ connect(d->job.data(), &KeyGenerationJob::result, + this, &DefaultKeyGenerationJob::result); +- connect(d->job, &KeyGenerationJob::done, ++ connect(d->job.data(), &KeyGenerationJob::done, + this, &DefaultKeyGenerationJob::done); +- connect(d->job, &KeyGenerationJob::done, ++ connect(d->job.data(), &KeyGenerationJob::done, + this, &QObject::deleteLater); + return d->job->start(args); + } Property changes on: security/gpgme/files/patch-git_b4658f6a1 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp =================================================================== --- security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp (nonexistent) +++ security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp (working copy) @@ -0,0 +1,45 @@ +Rename encrypt() so that the code builds with FreeBSD 10.2/10.3's libc++, which +has a bug that causes std::bind() to fail with the original function name: + +qgpgmeencryptjob.cpp:133:9: error: no matching function for call to 'bind' + run(std::bind(&encrypt, + ^~~~~~~~~ +/usr/include/c++/v1/functional:2184:1: note: candidate template ignored: +couldn't infer template argument '_Fp' +bind(_Fp&& __f, _BoundArgs&&... __bound_args) +^ +/usr/include/c++/v1/functional:2193:1: note: candidate template ignored: +couldn't infer template argument '_Rp' +bind(_Fp&& __f, _BoundArgs&&... __bound_args) +^ +1 error generated. + +--- lang/qt/src/qgpgmeencryptjob.cpp.orig 2016-10-18 17:22:02 UTC ++++ lang/qt/src/qgpgmeencryptjob.cpp +@@ -65,7 +65,7 @@ void QGpgMEEncryptJob::setOutputIsBase64 + mOutputIsBase64Encoded = on; + } + +-static QGpgMEEncryptJob::result_type encrypt(Context *ctx, QThread *thread, ++static QGpgMEEncryptJob::result_type do_encrypt(Context *ctx, QThread *thread, + const std::vector &recipients, + const std::weak_ptr &plainText_, + const std::weak_ptr &cipherText_, +@@ -117,7 +117,7 @@ static QGpgMEEncryptJob::result_type enc + if (!buffer->open(QIODevice::ReadOnly)) { + assert(!"This should never happen: QBuffer::open() failed"); + } +- return encrypt(ctx, 0, recipients, buffer, std::shared_ptr(), eflags, outputIsBsse64Encoded); ++ return do_encrypt(ctx, 0, recipients, buffer, std::shared_ptr(), eflags, outputIsBsse64Encoded); + } + + Error QGpgMEEncryptJob::start(const std::vector &recipients, const QByteArray &plainText, bool alwaysTrust) +@@ -130,7 +130,7 @@ Error QGpgMEEncryptJob::start(const std: + void QGpgMEEncryptJob::start(const std::vector &recipients, const std::shared_ptr &plainText, + const std::shared_ptr &cipherText, const Context::EncryptionFlags eflags) + { +- run(std::bind(&encrypt, ++ run(std::bind(&do_encrypt, + std::placeholders::_1, std::placeholders::_2, + recipients, + std::placeholders::_3, std::placeholders::_4, Property changes on: security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: security/gpgme-cpp/Makefile =================================================================== --- security/gpgme-cpp/Makefile (revision 426248) +++ security/gpgme-cpp/Makefile (working copy) @@ -1,6 +1,6 @@ # $FreeBSD$ -PORTREVISION= 0 +PORTREVISION= 1 PKGNAMESUFFIX= -${SLAVEPORT} MAINTAINER= jhale@FreeBSD.org Index: security/gpgme-qt5/Makefile =================================================================== --- security/gpgme-qt5/Makefile (revision 426248) +++ security/gpgme-qt5/Makefile (working copy) @@ -1,6 +1,6 @@ # $FreeBSD$ -PORTREVISION= 1 +PORTREVISION= 2 PKGNAMESUFFIX= -${SLAVEPORT} MAINTAINER= jhale@FreeBSD.org