[Bug 214575] [PATCH] security/gpgme-{cpp,qt5}: Stop requiring ports libc++ on FreeBSD 9 and 10
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Nov 17 13:56:13 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214575
--- Comment #1 from commit-hook at freebsd.org ---
A commit references this bug:
Author: jhale
Date: Thu Nov 17 13:55:48 UTC 2016
New revision: 426284
URL: https://svnweb.freebsd.org/changeset/ports/426284
Log:
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
Changes:
head/security/gpgme/Makefile
head/security/gpgme/files/patch-git_b4658f6a1
head/security/gpgme/files/patch-lang_qt_src_qgpgmeencryptjob.cpp
head/security/gpgme-cpp/Makefile
head/security/gpgme-qt5/Makefile
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the kde-freebsd
mailing list