From abe4ff34483b3d8762dd7ed49370a2aa4408e55b Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 15 Jul 2017 22:31:18 +0200 Subject: [PATCH] qt_creator: add recipe for version 4.3.1. --- .../patches/qt_creator-4.3.1.patchset | 164 ++++++++++++++++++ dev-qt/qt_creator/qt_creator-4.3.1.recipe | 82 +++++++++ 2 files changed, 246 insertions(+) create mode 100644 dev-qt/qt_creator/patches/qt_creator-4.3.1.patchset create mode 100644 dev-qt/qt_creator/qt_creator-4.3.1.recipe diff --git a/dev-qt/qt_creator/patches/qt_creator-4.3.1.patchset b/dev-qt/qt_creator/patches/qt_creator-4.3.1.patchset new file mode 100644 index 000000000..530a4f076 --- /dev/null +++ b/dev-qt/qt_creator/patches/qt_creator-4.3.1.patchset @@ -0,0 +1,164 @@ +From b4dae48a119f62493fc1bf1186539a7f4ac3fdd7 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 15 Jul 2017 15:42:32 +0200 +Subject: apply patch from 4.1.0. + + +diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp +index 449e4ff..5ddf877 100644 +--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp ++++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp +@@ -43,7 +43,7 @@ + namespace QmlDesigner { + static void prioritizeDown() + { +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU) + nice(19); + #elif defined(Q_OS_WIN) + SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS); +diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri +index 5a10394..2848740 100644 +--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri ++++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri +@@ -23,7 +23,7 @@ RESOURCES += $$PWD/../qmlpuppet.qrc + + DISTFILES += Info.plist + +-unix:!openbsd:!osx: LIBS += -lrt # posix shared memory ++unix:!openbsd:!osx:!haiku: LIBS += -lrt # posix shared memory + + osx { + CONFIG -= app_bundle +diff --git a/src/libs/sqlite/sqlite-lib.pri b/src/libs/sqlite/sqlite-lib.pri +index 9160fba..3d84ea5 100644 +--- a/src/libs/sqlite/sqlite-lib.pri ++++ b/src/libs/sqlite/sqlite-lib.pri +@@ -6,7 +6,7 @@ shared { + + INCLUDEPATH += $$PWD + +-unix:!bsd: LIBS += -ldl ++unix:!bsd:!haiku: LIBS += -ldl + + include(../3rdparty/sqlite/sqlite.pri) + +diff --git a/src/libs/utils/process_stub_unix.c b/src/libs/utils/process_stub_unix.c +index 376473d..85bbca1 100644 +--- a/src/libs/utils/process_stub_unix.c ++++ b/src/libs/utils/process_stub_unix.c +@@ -1,3 +1,4 @@ ++#if 0 + /**************************************************************************** + ** + ** Copyright (C) 2016 The Qt Company Ltd. +@@ -174,8 +175,10 @@ static void sigchldHandler(int sig) + + /* syntax: $0 {"run"|"debug"} */ + /* exit codes: 0 = ok, 1 = invocation error, 3 = internal error */ ++#endif + int main(int argc, char *argv[]) + { ++#if 0 + int errNo, hadInvalidCommand = 0; + char **env = 0; + struct sockaddr_un sau; +@@ -365,5 +368,6 @@ int main(int argc, char *argv[]) + } + } + assert(0); ++#endif + return 0; + } +diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro +index cc78fdc..5e624ab 100644 +--- a/src/plugins/qmldesigner/qmldesignerplugin.pro ++++ b/src/plugins/qmldesigner/qmldesignerplugin.pro +@@ -3,7 +3,7 @@ CONFIG += exceptions + + INCLUDEPATH += $$PWD + +-unix:!openbsd:!osx: LIBS += -lrt # posix shared memory ++unix:!openbsd:!osx:!haiku: LIBS += -lrt # posix shared memory + + include(../../qtcreatorplugin.pri) + +diff --git a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp +index 58a082f..808a15e 100644 +--- a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp ++++ b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp +@@ -57,6 +57,8 @@ + # if !defined(Q_OS_NETBSD) + # include + # endif ++#elif defined(Q_OS_HAIKU) ++// Do nothing. + #else + # error Missing implementation of processNameByPid for this platform. + #endif +-- +2.12.2 + + +From 1afc974f9f983c6937da1eb7b25308652292e8f3 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 15 Jul 2017 18:20:31 +0200 +Subject: Fix rpath handling. + + +diff --git a/qtcreator.pro b/qtcreator.pro +index e25e8cc..8a535c3 100644 +--- a/qtcreator.pro ++++ b/qtcreator.pro +@@ -50,7 +50,7 @@ exists(src/shared/qbs/qbs.pro) { + QBS_APPS_RPATH_DIR = @loader_path/../Frameworks + } else { + QBS_PLUGINS_BUILD_DIR = $$IDE_PLUGIN_PATH +- QBS_APPS_RPATH_DIR = \$\$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator ++ QBS_APPS_RPATH_DIR = $$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator + } + cache(QBS_PLUGINS_BUILD_DIR) + cache(QBS_APPS_RPATH_DIR) +diff --git a/src/qtcreatortool.pri b/src/qtcreatortool.pri +index ac00786..3d903c1 100644 +--- a/src/qtcreatortool.pri ++++ b/src/qtcreatortool.pri +@@ -11,8 +11,8 @@ REL_PATH_TO_PLUGINS = $$relative_path($$IDE_PLUGIN_PATH, $$IDE_LIBEXEC_PATH) + osx { + QMAKE_LFLAGS += -Wl,-rpath,@executable_path/$$REL_PATH_TO_LIBS,-rpath,@executable_path/$$REL_PATH_TO_PLUGINS + } else { +- QMAKE_RPATHDIR += \$\$ORIGIN/$$REL_PATH_TO_LIBS +- QMAKE_RPATHDIR += \$\$ORIGIN/$$REL_PATH_TO_PLUGINS ++ QMAKE_RPATHDIR += $ORIGIN/$$REL_PATH_TO_LIBS ++ QMAKE_RPATHDIR += $ORIGIN/$$REL_PATH_TO_PLUGINS + } + include(rpath.pri) + +diff --git a/src/rpath.pri b/src/rpath.pri +index 0d8911a..03c86f4 100644 +--- a/src/rpath.pri ++++ b/src/rpath.pri +@@ -11,3 +11,8 @@ macx { + QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${IDE_PLUGIN_RPATH}\' + QMAKE_RPATHDIR = + } ++haiku { ++ QMAKE_RPATHDIR += $ORIGIN ++ QMAKE_RPATHDIR += $ORIGIN/.. ++ QMAKE_RPATHDIR += $ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator ++} +diff --git a/src/shared/qbs/src/app/app.pri b/src/shared/qbs/src/app/app.pri +index 5904c9d..c10148f 100644 +--- a/src/shared/qbs/src/app/app.pri ++++ b/src/shared/qbs/src/app/app.pri +@@ -6,6 +6,7 @@ TEMPLATE = app + else:DESTDIR = ../../../bin + + !isEmpty(QBS_APPS_RPATH_DIR) { ++ haiku: QMAKE_RPATHDIR += $ORIGIN/../lib/qtcreator + linux-*:QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${QBS_APPS_RPATH_DIR}\' + macx:QMAKE_LFLAGS += -Wl,-rpath,$${QBS_APPS_RPATH_DIR} + } +-- +2.12.2 + diff --git a/dev-qt/qt_creator/qt_creator-4.3.1.recipe b/dev-qt/qt_creator/qt_creator-4.3.1.recipe new file mode 100644 index 000000000..99a06c268 --- /dev/null +++ b/dev-qt/qt_creator/qt_creator-4.3.1.recipe @@ -0,0 +1,82 @@ +SUMMARY="A complete IDE for C/C++ development from the makers of Qt" +DESCRIPTION="Qt Creator provides a cross-platform, complete integrated \ +development environment (IDE) for application developers to create \ +applications for multiple desktop, embedded, and mobile device platforms, \ +such as Android and iOS." +HOMEPAGE="https://www.qt.io/ide/" +COPYRIGHT="2016 The Qt Company Ltd" +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="https://download.qt.io/official_releases/qtcreator/4.3/$portVersion/qt-creator-opensource-src-$portVersion.tar.xz" +CHECKSUM_SHA256="060a8843f988c158ef01bd90221e390f0d4be3ccc8da95abaeb12c7477e7a4ad" +SOURCE_DIR="qt-creator-opensource-src-$portVersion" +PATCHES="qt_creator-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 ?x86 x86_64" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + qt_creator$secondaryArchSuffix = $portVersion + app:QtCreator$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libQt5Concurrent$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Designer$secondaryArchSuffix + lib:libQt5DesignerComponents$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Help$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Qml$secondaryArchSuffix + lib:libQt5Quick$secondaryArchSuffix + lib:libQt5QuickWidgets$secondaryArchSuffix + lib:libQt5Script$secondaryArchSuffix + lib:libQt5Sql$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libQt5Concurrent$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Designer$secondaryArchSuffix + devel:libQt5DesignerComponents$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Help$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5PrintSupport$secondaryArchSuffix + devel:libQt5Qml$secondaryArchSuffix + devel:libQt5Quick$secondaryArchSuffix + devel:libQt5QuickWidgets$secondaryArchSuffix + devel:libQt5Script$secondaryArchSuffix + devel:libQt5Sql$secondaryArchSuffix + devel:libQt5Svg$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libQt5Xml$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:g++$secondaryArchSuffix + cmd:make + cmd:qmake$secondaryArchSuffix >= 5 + " + +BUILD() +{ + qmake -r + make $jobArgs +} + +INSTALL() +{ + make install INSTALL_ROOT=$appsDir/QtCreator/ + + DIR_QT_DEVELOP_DESKBAR="${dataDir}/deskbar/menu/Applications/Qt" + mkdir -p ${DIR_QT_DEVELOP_DESKBAR} + addAppDeskbarSymlink $appsDir/QtCreator/bin/qtcreator "Qt/Creator" +}