Index: head/devel/qtcreator/Makefile =================================================================== --- head/devel/qtcreator/Makefile (revision 417438) +++ head/devel/qtcreator/Makefile (revision 417439) @@ -1,60 +1,61 @@ # Created by: Kris Moore # $FreeBSD$ PORTNAME= qtcreator DISTVERSION= 4.0.2 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= QT/official_releases/qtcreator/${DISTVERSION:R}/${DISTVERSION} DISTNAME= qt-creator-opensource-src-${DISTVERSION} DIST_SUBDIR= KDE/Qt/qtcreator MAINTAINER= kde@FreeBSD.org COMMENT= C++ and QML IDE for Qt development # depend on the split out qbs BUILD_DEPENDS= qbs:devel/qbs RUN_DEPENDS= qbs:devel/qbs USE_LDCONFIG= ${LOCALBASE}/lib/${PORTNAME} USES= qmake compiler:c++11-lib USE_QT5= buildtools concurrent core declarative designer gui linguist \ network qdoc qml quick quickcontrols script script sql svg \ webkit widgets xml xmlpatterns # be paranoid and do not extract qbs (devel/qbs) copy from source tree EXTRACT_AFTER_ARGS+= --exclude '${DISTNAME}/src/shared/qbs' # Set QBS_INSTALL_DIR for QBS plugin build and set config parameter to build # the qbsprojectmanager plugin without compile error QMAKE_ARGS+= QBS_INSTALL_DIR=${PREFIX} CONFIG+=qbs_enable_project_file_updates # Enforce installation to ${PREFIX}. QMAKE_ARGS+= QTC_PREFIX=${PREFIX} # Required for building the port with GCC: the define below is required for # std::to_string() to exist. More details in ports/193528. QMAKE_ARGS+= DEFINES+=_GLIBCXX_USE_C99 DESKTOP_ENTRIES="Qt Creator" "" "QtProject-qtcreator" \ "${PREFIX}/bin/${PORTNAME}" "Development;Qt;" true OPTIONS_DEFINE= DOCS EXAMPLES DOCS_DESC= Install the Qt5 api documentation DOCS_USE= QT5=doc_run EXAMPLES_DESC= Install the Qt5 example projects EXAMPLES_USE= QT5=examples_run OPTIONS_DEFAULT= ${OPTIONS_DEFINE} ALL_TARGET= all INSTALL_TARGET= install DOCS_ALL_TARGET= docs DOCS_INSTALL_TARGET= install_docs # Fix paths for gnuplot and ant. post-patch: ${REINPLACE_CMD} -e 's|/usr/bin/gnuplot|${LOCALBASE}/bin/gnuplot|' \ ${WRKSRC}/share/qtcreator/debugger/dumper.py ${REINPLACE_CMD} -e 's|/usr/bin/ant|${LOCALBASE}/bin/ant|' \ ${WRKSRC}/src/plugins/android/androidsettingswidget.cpp .include Index: head/devel/qtcreator/files/patch-src_plugins_projectexplorer_runconfiguration.h =================================================================== --- head/devel/qtcreator/files/patch-src_plugins_projectexplorer_runconfiguration.h (revision 417438) +++ head/devel/qtcreator/files/patch-src_plugins_projectexplorer_runconfiguration.h (revision 417439) @@ -1,45 +1,47 @@ ---- src/plugins/projectexplorer/runconfiguration.h.orig 2016-06-21 13:37:35 UTC +--- src/plugins/projectexplorer/runconfiguration.h.orig 2016-06-24 12:44:00 UTC +++ src/plugins/projectexplorer/runconfiguration.h @@ -159,6 +159,7 @@ public: virtual ~ClonableConcept() = default; virtual ClonableConcept *clone() const = 0; virtual bool equals(const std::unique_ptr &other) const = 0; + virtual void *typeId() const = 0; }; template -@@ -168,11 +169,14 @@ public: +@@ -168,11 +169,16 @@ public: ClonableModel(const T &data) : m_data(data) { } ~ClonableModel() Q_DECL_NOEXCEPT { } // gcc 4.7.3 ClonableConcept *clone() const override { return new ClonableModel(*this); } + void *typeId() const { return T::staticTypeId; } bool equals(const std::unique_ptr &other) const override { - auto that = dynamic_cast *>(other.get()); - return that && m_data == that->m_data; ++ if (!other.get()) ++ return false; + if (other->typeId() != typeId()) + return false; + auto that = static_cast *>(other.get()); + return m_data == that->m_data; } T m_data; -@@ -189,7 +193,7 @@ public: +@@ -189,7 +195,7 @@ public: void operator=(Runnable other) { d = std::move(other.d); } template bool is() const { - return dynamic_cast *>(d.get()) != 0; + return d.get()->typeId() == T::staticTypeId; } template const T &as() const { -@@ -213,7 +217,7 @@ public: +@@ -213,7 +219,7 @@ public: void operator=(Connection other) { d = std::move(other.d); } template bool is() const { - return dynamic_cast *>(d.get()) != 0; + return d.get()->typeId() == T::staticTypeId; } template const T &as() const {