From 417f49eb1a608e54199948ad98639b01587d734f Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 17 Aug 2019 19:09:19 +1000 Subject: [PATCH] Umbrello: add recipe --- .../additional-files/umbrello.rdef.in | 33 ++++ .../patches/umbrello-19.08.0.patchset | 121 ++++++++++++++ kde-apps/umbrello/umbrello-19.08.0.recipe | 156 ++++++++++++++++++ 3 files changed, 310 insertions(+) create mode 100644 kde-apps/umbrello/additional-files/umbrello.rdef.in create mode 100644 kde-apps/umbrello/patches/umbrello-19.08.0.patchset create mode 100644 kde-apps/umbrello/umbrello-19.08.0.recipe diff --git a/kde-apps/umbrello/additional-files/umbrello.rdef.in b/kde-apps/umbrello/additional-files/umbrello.rdef.in new file mode 100644 index 000000000..277dfe3a6 --- /dev/null +++ b/kde-apps/umbrello/additional-files/umbrello.rdef.in @@ -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" +}; diff --git a/kde-apps/umbrello/patches/umbrello-19.08.0.patchset b/kde-apps/umbrello/patches/umbrello-19.08.0.patchset new file mode 100644 index 000000000..2038dc5ba --- /dev/null +++ b/kde-apps/umbrello/patches/umbrello-19.08.0.patchset @@ -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 + ++#ifdef __HAIKU__ ++#include ++#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 + diff --git a/kde-apps/umbrello/umbrello-19.08.0.recipe b/kde-apps/umbrello/umbrello-19.08.0.recipe new file mode 100644 index 000000000..bc980b55e --- /dev/null +++ b/kde-apps/umbrello/umbrello-19.08.0.recipe @@ -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 +}