FreeBSD Bugzilla – Attachment 177081 Details for
Bug 214575
[PATCH] security/gpgme-{cpp,qt5}: Stop requiring ports libc++ on FreeBSD 9 and 10
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch
gpgme-cxx-fixes-v1.patch (text/plain), 6.87 KB, created by
Raphael Kubo da Costa
on 2016-11-16 16:43:31 UTC
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Raphael Kubo da Costa
Created:
2016-11-16 16:43:31 UTC
Size:
6.87 KB
patch
obsolete
>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 <bsd.port.pre.mk> > > .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 <andras@kdab.com> >+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 <aheinecke@intevation.de> >+--- >+ >+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<Key> &recipients, >+ const std::weak_ptr<QIODevice> &plainText_, >+ const std::weak_ptr<QIODevice> &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<QIODevice>(), eflags, outputIsBsse64Encoded); >++ return do_encrypt(ctx, 0, recipients, buffer, std::shared_ptr<QIODevice>(), eflags, outputIsBsse64Encoded); >+ } >+ >+ Error QGpgMEEncryptJob::start(const std::vector<Key> &recipients, const QByteArray &plainText, bool alwaysTrust) >+@@ -130,7 +130,7 @@ Error QGpgMEEncryptJob::start(const std: >+ void QGpgMEEncryptJob::start(const std::vector<Key> &recipients, const std::shared_ptr<QIODevice> &plainText, >+ const std::shared_ptr<QIODevice> &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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
jhale
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 214575
: 177081