Date: Wed, 21 Jun 2017 17:02:10 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 220188] devel/qt5-script: disable usage of c++1z for JavaScriptCore Message-ID: <bug-220188-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D220188 Bug ID: 220188 Summary: devel/qt5-script: disable usage of c++1z for JavaScriptCore Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: kde@FreeBSD.org Reporter: dim@FreeBSD.org Assignee: kde@FreeBSD.org Flags: maintainer-feedback?(kde@FreeBSD.org) Created attachment 183678 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D183678&action= =3Dedit Use -std=3Dc++14 for devel/qt5-script to avoid errors in JavaScriptCore During an exp-run for the projects/clang500-import branch (bug 219139), it turned out that devel/qt5-script does not build against libc++ 5.0.0 [1]: In file included from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24: ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:43:21: error: no template named 'auto_ptr' in namespace 'std' OwnPtr(std::auto_ptr<ValueType> autoPtr) : m_ptr(autoPtr.release())= { } ~~~~~^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:61:25: error: no template named 'auto_ptr' in namespace 'std' void adopt(std::auto_ptr<ValueType> autoPtr) { ASSERT(!autoPtr.get(= ) || m_ptr !=3D autoPtr.get()); deleteOwnedPtr(m_ptr); m_ptr =3D autoPtr.release= (); } ~~~~~^ In file included from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50: In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27: ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:84:30: error: = no member named 'auto_ptr' in namespace 'std' struct VectorTraits<std::auto_ptr<P> > : SimpleClassVectorTraits { }; ~~~~~^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:84:39: error: = 'P' does not refer to a value struct VectorTraits<std::auto_ptr<P> > : SimpleClassVectorTraits { }; ^ ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:83:23: note: declared here template<typename P> ^ 4 errors generated. This is because devel/qmake and/or devel/qt5-buildtools have detected -std=3Dc++1z support, and are using it by default. However, the JavaScript= Core parts of qt5-script are from a third party, and this source is *not* C++1z compatible. For example, std::auto_ptr has long been deprecated, but is actually removed from C++1z now. I tried various methods of convincing qmake to use a lower C++ standard, and the best I could come up with was adding a line: QT_CONFIG -=3D c++1z to src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri, as in the attached patch. If there is a better way, I would be glad to hear it. :) [1] http://package18.nyi.freebsd.org/data/headamd64PR219139-default/2017-05-22_= 13h01m42s/logs/errors/qt5-script-5.7.1.log --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-220188-13>