Add working (!) Qt Creator recipe.

Throws some odd errors on startup, but if you manually create its
settings directories, those mostly go away.
This commit is contained in:
Augustin Cavalier
2016-10-21 23:21:39 -04:00
parent 618b7afec1
commit 1457575b2e
2 changed files with 161 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
From 7acb43790ea653013031874e15d93486502dd48d Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
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"} <pid-socket> <continuation-msg> <workdir> <env-file> <exe> <args...> */
/* 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 <sys/user.h>
# endif
+#elif defined(Q_OS_HAIKU)
+// Do nothing.
#else
# error Missing implementation of processNameByPid for this platform.
#endif
--
2.7.0

View File

@@ -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"
}