Index: head/security/gpgme/Makefile =================================================================== --- head/security/gpgme/Makefile (revision 426283) +++ head/security/gpgme/Makefile (revision 426284) @@ -1,127 +1,117 @@ # Created by: teramoto@comm.eng.osaka-u.ac.jp # $FreeBSD$ PORTNAME= gpgme PORTVERSION= 1.7.1 PORTREVISION?= 0 CATEGORIES?= security MASTER_SITES= GNUPG/gpgme MAINTAINER= jhale@FreeBSD.org COMMENT?= Library to make access to GnuPG easier LICENSE?= LGPL21 LICENSE_FILE?= ${WRKSRC}/COPYING.LESSER LIB_DEPENDS= libassuan.so:security/libassuan \ libgpg-error.so:security/libgpg-error GNU_CONFIGURE= yes USES= cpe gmake libtool localbase:ldflags tar:bzip2 USE_LDCONFIG= yes INSTALL_TARGET= install-strip CPE_VENDOR= gnu .if !defined(SLAVEPORT) CONFIGURE_ARGS+=--enable-languages="cl" INFO= gpgme PORTDOCS= AUTHORS ChangeLog INSTALL NEWS README THANKS TODO OPTIONS_DEFINE= DOCS UISERVER OPTIONS_SINGLE= GNUPG OPTIONS_SINGLE_GNUPG= GNUPG1 GNUPG2 OPTIONS_DEFAULT= GNUPG2 UISERVER GNUPG1_DESC= Build gpgme library for GnuPG 1.x GNUPG1_BUILD_DEPENDS= gpgv:security/gnupg1 GNUPG1_RUN_DEPENDS= gpgv:security/gnupg1 GNUPG2_DESC= Build gpgme library for GnuPG 2.x GNUPG2_BUILD_DEPENDS= gpg2:security/gnupg GNUPG2_RUN_DEPENDS= gpg2:security/gnupg UISERVER_DESC= GnuPG UI server support UISERVER_CONFIGURE_ENABLE= fd-passing .endif .include .if !exists(${LOCALBASE}/bin/gpgsm) CONFIGURE_ARGS+= --disable-gpgsm-test .endif .if defined(SLAVEPORT) LIB_DEPENDS+= libgpgme.so:security/gpgme BUILD_WRKSRC= ${WRKSRC}/lang/${BINDING_NAME} INSTALL_WRKSRC= ${WRKSRC}/lang/${BINDING_NAME} . 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 . if ${SLAVEPORT} == "python" BUILD_DEPENDS+= swig3.0:devel/swig30 \ ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:devel/py-setuptools${PYTHON_SUFFIX} RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:devel/py-setuptools${PYTHON_SUFFIX} USES+= python USE_PYTHON= py3kplist CONFIGURE_ENV+= SWIG=${LOCALBASE}/bin/swig3.0 PLIST_SUB+= VERSION=${PORTVERSION} CONFLICTS_INSTALL= py*-pyme-[0-9]* . endif .endif .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" . else CONFIGURE_ARGS+=--enable-languages="python2" . endif . endif .endif post-patch: .if defined(SLAVEPORT) @${FIND} ${BUILD_WRKSRC} -name "Makefile.in" -type f | ${XARGS} \ ${REINPLACE_CMD} -e 's|../../../src/libgpgme.la|-lgpgme|g' . if ${SLAVEPORT} == "qt5" @${FIND} ${BUILD_WRKSRC} -name "Makefile.in" -type f | ${XARGS} \ ${REINPLACE_CMD} -e 's|../../cpp/src/libgpgmepp.la|-lgpgmepp|g' . endif .endif @${REINPLACE_CMD} -e 's|^clfilesdir.*|clfilesdir=$$\(libdir\)/common-lisp/gpgme|g' \ ${WRKSRC}/lang/cl/Makefile.in .if !defined(SLAVEPORT) post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .endif .include Index: head/security/gpgme/files/patch-git_b4658f6a1 =================================================================== --- head/security/gpgme/files/patch-git_b4658f6a1 (nonexistent) +++ head/security/gpgme/files/patch-git_b4658f6a1 (revision 426284) @@ -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: head/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: head/security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp =================================================================== --- head/security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp (nonexistent) +++ head/security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp (revision 426284) @@ -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: head/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: head/security/gpgme-cpp/Makefile =================================================================== --- head/security/gpgme-cpp/Makefile (revision 426283) +++ head/security/gpgme-cpp/Makefile (revision 426284) @@ -1,14 +1,14 @@ # $FreeBSD$ -PORTREVISION= 0 +PORTREVISION= 1 PKGNAMESUFFIX= -${SLAVEPORT} MAINTAINER= jhale@FreeBSD.org COMMENT= Gpgme C++ bindings MASTERDIR= ${.CURDIR}/../../security/gpgme SLAVEPORT= cpp BINDING_NAME= cpp PLIST= ${.CURDIR}/pkg-plist .include "${MASTERDIR}/Makefile" Index: head/security/gpgme-qt5/Makefile =================================================================== --- head/security/gpgme-qt5/Makefile (revision 426283) +++ head/security/gpgme-qt5/Makefile (revision 426284) @@ -1,17 +1,17 @@ # $FreeBSD$ -PORTREVISION= 1 +PORTREVISION= 2 PKGNAMESUFFIX= -${SLAVEPORT} MAINTAINER= jhale@FreeBSD.org COMMENT= Gpgme Qt5 bindings LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING MASTERDIR= ${.CURDIR}/../../security/gpgme SLAVEPORT= qt5 BINDING_NAME= qt PLIST= ${.CURDIR}/pkg-plist .include "${MASTERDIR}/Makefile"