Umbrello: add recipe

This commit is contained in:
Gerasim Troeglazov
2019-08-17 19:09:19 +10:00
parent e720af0d92
commit 417f49eb1a
3 changed files with 310 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Umbrello",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696605040066050002000602BA9D83B5E11735E117BA9D834A336A4DD2B3"
$"00FFFFFFFFFFAA0002000602BBD560B9AAF139AAF1BBD5604C7AD5CC2E2F00FD"
$"FDFDFFFFAA000200060238023D38AA46B8AA4638023DCC05294C574900FFFFFF"
$"FFFDDD9D070609FEBA034157535D535D545B5B595A585D575E535E565E505745"
$"3D3C314231423344344C3C523A503E5404033E3B53325936572E5B2D552B572D"
$"5504032FB834C7F3B834C7F3B7E0C98FBAE4C8CBB9DCCAF3BC18C647C459B507"
$"0205C9C8C46FC9C8C46FCBDFC011C2F6B775C8D1BA42BD1BB4A8B494BA4BB6AB"
$"B5ECB494BA4BB914BCE3B858BBA7BB68BD8FC380C1DFC1E0C0A7C600C22F0203"
$"C4ACB868C964BB6FC6CEBBA3C380C1DFC380C1DFC600C22FC9C8C46FC9C8C46F"
$"CBA8C0840205C4ACB868C6CEBBA34BB80FC2F6B775C38FB7BEC237B719C0B5B6"
$"95C176B6CFBC51B6C8B914BCE3B914BCE3BB68BD8FC380C1DFC1E0C0A7C380C1"
$"DF0203C0B5B695BC51B6C8BB89B507B494BA4BB667B67BB494BA4BB914BCE3B8"
$"58BBA7B914BCE3070A000100000A0001011001178200040A0101021001178122"
$"040A0101031001178300040A020104000A030105000A04010600"
};

View File

@@ -0,0 +1,121 @@
From d34c741419c7c7074b134b3f1eea4fb59f4328ab Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 17 Aug 2019 17:12:45 +1000
Subject: Fix build for Haiku
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 158bbfe..c366c1c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -135,7 +135,7 @@ if(NOT BUILD_KF5)
macro_display_feature_log()
KDE4_NO_ENABLE_FINAL(umbrello)
else()
- set(BUILD_UNITTESTS 1)
+# set(BUILD_UNITTESTS 1)
ki18n_install(po)
kdoctools_install(po)
@@ -237,7 +237,7 @@ endif()
if(LIBXSLT_FOUND AND LIBXML2_FOUND)
add_subdirectory(umbrello)
- add_subdirectory(doc)
+# add_subdirectory(doc)
add_subdirectory(tools)
endif(LIBXSLT_FOUND AND LIBXML2_FOUND)
--
2.21.0
From 072bd0d6848262af06e04330eaf0a501afb6df24 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 17 Aug 2019 17:52:39 +1000
Subject: Dbus autostart
diff --git a/umbrello/main.cpp b/umbrello/main.cpp
index 9d2acd8..04c4e69 100644
--- a/umbrello/main.cpp
+++ b/umbrello/main.cpp
@@ -40,6 +40,10 @@
#include <stdio.h>
+#ifdef __HAIKU__
+#include <QProcess>
+#endif
+
void getFiles(QStringList& files, const QString& path, QStringList& filters);
/**
@@ -116,6 +120,18 @@ void exportAllViews(KCmdLineArgs *args, const QStringList &exportOpt)
int main(int argc, char *argv[])
{
+#ifdef __HAIKU__
+ int status=0;
+ QProcess dbusProcess;
+ QString exec = "/bin/dbus-launch";
+ QStringList params;
+ dbusProcess.start(exec, params);
+ dbusProcess.waitForFinished();
+ QString output(dbusProcess.readAllStandardOutput());
+ QStringList list = output.split("\n", QString::SkipEmptyParts);
+ foreach (const QString &str, list)
+ putenv(str.toLatin1().data());
+#endif
KAboutData aboutData("umbrello",
0,
i18n("Umbrello UML Modeller"),
--
2.21.0
From 98a67ecc7385a547321217d9777ca6355675946f Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 17 Aug 2019 18:31:45 +1000
Subject: Fix transparency for Bird's eye widget
diff --git a/umbrello/birdview.cpp b/umbrello/birdview.cpp
index f4bcfab..9bcbf52 100644
--- a/umbrello/birdview.cpp
+++ b/umbrello/birdview.cpp
@@ -60,7 +60,7 @@ BirdView::BirdView(QDockWidget *parent, UMLView* view)
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
setLineWidth(1);
setMidLineWidth(2);
- setFrameStyle(Box | Raised);
+ setFrameStyle(NoFrame | Raised);
setBackgroundColor(this, QColor(115, 205, 240, 100));
setFocusPolicy(Qt::StrongFocus); // enable key press event
--
2.21.0
From 69eea9def5198cfc903484eaa0b44fea8620a5f3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 17 Aug 2019 18:32:44 +1000
Subject: Kill dbus on exit
diff --git a/umbrello/main.cpp b/umbrello/main.cpp
index 04c4e69..8d646de 100644
--- a/umbrello/main.cpp
+++ b/umbrello/main.cpp
@@ -255,5 +255,8 @@ int main(int argc, char *argv[])
}
int result = app.exec();
delete uml;
+#ifdef __HAIKU__
+ system("kill -9 $DBUS_SESSION_BUS_PID");
+#endif
return result;
}
--
2.21.0

View File

@@ -0,0 +1,156 @@
SUMMARY="The UML Modeller"
DESCRIPTION="Umbrello UML Modeller is a Unified Modelling Language (UML) \
diagram program based on KDE Technology.
UML allows you to create diagrams of software and other systems in a \
standard format to document or design the structure of your programs."
HOMEPAGE="https://umbrello.kde.org"
COPYRIGHT="2010-2019 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/KDE/umbrello/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="2fbb8ab3da4b198c3414f29beb4228ff85df3fe40a00983fdbcf17396e03206c"
SOURCE_DIR="umbrello-$portVersion"
PATCHES="umbrello-$portVersion.patchset"
ADDITIONAL_FILES="umbrello.rdef.in"
ARCHITECTURES="!x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
umbrello$secondaryArchSuffix = $portVersion
app:Umbrello$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:dbus_launch
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Auth$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigGui$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5DBusAddons$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KDELibs4Support$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5KIOWidgets$secondaryArchSuffix
lib:libKF5Notifications$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetUi$secondaryArchSuffix
lib:libKF5TextEditor$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5UnitConversion$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libkdeinit5_klauncher$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Script$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5WebKit$secondaryArchSuffix
lib:libQt5WebKitWidgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= 5.55
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5DBusAddons$secondaryArchSuffix
devel:libKF5DesignerPlugin$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5Emoticons$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KDELibs4Support$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5Notifications$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetUi$secondaryArchSuffix
devel:libKF5TextEditor$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5UnitConversion$secondaryArchSuffix
devel:libKF5Wallet$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libkdeinit5_klauncher$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix >= 5.13
devel:libQt5WebKit$secondaryArchSuffix
devel:libQt5WebKitWidgets$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
mkdir -p build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$appsDir/Umbrello \
-DCMAKE_INSTALL_DATADIR=$appsDir/Umbrello \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make $jobArgs
}
INSTALL()
{
cd build
make install
mv $appsDir/Umbrello/bin/umbrello5 $appsDir/Umbrello/Umbrello
mv $appsDir/Umbrello/bin/* $appsDir/Umbrello
rm -rf $appsDir/Umbrello/{bin,share}
local APP_SIGNATURE="application/x-vnd.kde-umbrello"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/umbrello.rdef.in > umbrello.rdef
addResourcesToBinaries umbrello.rdef $appsDir/Umbrello/Umbrello
addAppDeskbarSymlink $appsDir/Umbrello/Umbrello
}