From 1457575b2e66355728971f40848913248e672b1b Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Fri, 21 Oct 2016 23:21:39 -0400 Subject: [PATCH] Add working (!) Qt Creator recipe. Throws some odd errors on startup, but if you manually create its settings directories, those mostly go away. --- .../qt_creator/patches/qt_creator-4.1.0.patch | 109 ++++++++++++++++++ dev-qt/qt_creator/qt_creator-4.1.0.recipe | 52 +++++++++ 2 files changed, 161 insertions(+) create mode 100644 dev-qt/qt_creator/patches/qt_creator-4.1.0.patch create mode 100644 dev-qt/qt_creator/qt_creator-4.1.0.recipe diff --git a/dev-qt/qt_creator/patches/qt_creator-4.1.0.patch b/dev-qt/qt_creator/patches/qt_creator-4.1.0.patch new file mode 100644 index 000000000..4ff8d5ecf --- /dev/null +++ b/dev-qt/qt_creator/patches/qt_creator-4.1.0.patch @@ -0,0 +1,109 @@ +From 7acb43790ea653013031874e15d93486502dd48d Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Fri, 21 Oct 2016 18:10:37 -0400 +Subject: [PATCH] Haiku fixes. + +--- + .../qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp | 2 +- + share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri | 2 +- + src/libs/sqlite/sqlite-lib.pri | 2 +- + src/libs/utils/process_stub_unix.c | 4 ++++ + src/plugins/qmldesigner/qmldesignerplugin.pro | 2 +- + src/shared/qbs/src/lib/corelib/tools/processutils.cpp | 2 ++ + 6 files changed, 10 insertions(+), 4 deletions(-) + +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 f8ef1c1..405c747 100644 +--- a/src/libs/sqlite/sqlite-lib.pri ++++ b/src/libs/sqlite/sqlite-lib.pri +@@ -6,7 +6,7 @@ contains(CONFIG, dll) { + + 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 145d31d..75c6eca 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; +@@ -358,5 +361,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 8499afd..ee756e9 100644 +--- a/src/plugins/qmldesigner/qmldesignerplugin.pro ++++ b/src/plugins/qmldesigner/qmldesignerplugin.pro +@@ -4,7 +4,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 ec3aa76..35db2b6 100644 +--- a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp ++++ b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp +@@ -48,6 +48,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.7.0 + diff --git a/dev-qt/qt_creator/qt_creator-4.1.0.recipe b/dev-qt/qt_creator/qt_creator-4.1.0.recipe new file mode 100644 index 000000000..28b815476 --- /dev/null +++ b/dev-qt/qt_creator/qt_creator-4.1.0.recipe @@ -0,0 +1,52 @@ +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.1/$portVersion/qt-creator-opensource-src-$portVersion.tar.gz" +CHECKSUM_SHA256="412c0223dbfd86983b39e10e2c7cb42b530995cfe2f3aa3529ea3f1b00ffb403" +SOURCE_DIR="qt-creator-opensource-src-$portVersion" +PATCHES="qt_creator-$portVersion.patch" + +ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + qt_creator${secondaryArchSuffix} = $portVersion + app:QtCreator${secondaryArchSuffix} = $portVersion + " +REQUIRES=" + haiku${secondaryArchSuffix} + qt5${secondaryArchSuffix} == 5.5.1 + lib:libGL$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + qt5${secondaryArchSuffix}_devel == 5.5.1 + devel:libGL$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:qmake${secondaryArchSuffix} + cmd:make + cmd:g++${secondaryArchSuffix} + " + +BUILD() +{ + qmake -r + make $jobArgs +} + +INSTALL() +{ + make install INSTALL_ROOT=$appsDir/QtCreator/ + mkdir $appsDir/QtCreator/bin/lib/ + mv $appsDir/QtCreator/lib/qtcreator/*.so* $appsDir/QtCreator/bin/lib/ + + addAppDeskbarSymlink $appsDir/QtCreator/bin/qtcreator "Qt/Creator" +}