diff --git a/app-office/kexi/additional-files/kexi.rdef.in b/app-office/kexi/additional-files/kexi.rdef.in new file mode 100644 index 000000000..ff3c3c37c --- /dev/null +++ b/app-office/kexi/additional-files/kexi.rdef.in @@ -0,0 +1,32 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Kexi", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource("QT:QPA_FLAGS") "Q_KILL_ON_EXIT|Q_REF_TO_ARGV|Q_REF_TO_FORK"; + +resource vector_icon { + $"6E6369660503010000020006023CC7EE389BC0BA16573E39B04977C842ADC700" + $"DCFFB3FF5CF57802000602BC592FBB29A73C0CE4BD0B7C4892C04B79660003A1" + $"97FF02D47D040180020006023C96323A4D3FBAFC013D5A974B57A549844D0001" + $"5751FF04ABA1050A0425474456583D3B330A044456445D5843583D0A04254725" + $"4C445D44560A05445E4C5E60445A415A440A12254C254729442542253E293A25" + $"3825343B25582C5831563458345839563C583D5843445D0B0A030103000A0001" + $"041001178422040A010100000A020102000A040101000A010100024000000000" + $"000000003F9E79000000C518610A020102024000000000000000003F9E790000" + $"00C518610A040101024000000000000000003F9E79000000C518610A01010002" + $"4000000000000000003F0C30000000C65E790A02010202400000000000000000" + $"3F0C30000000C65E790A040101024000000000000000003F0C30000000C65E79" +}; diff --git a/app-office/kexi/kexi-3.2.0.recipe b/app-office/kexi/kexi-3.2.0.recipe new file mode 100644 index 000000000..fa1d2f687 --- /dev/null +++ b/app-office/kexi/kexi-3.2.0.recipe @@ -0,0 +1,197 @@ +SUMMARY="Visual database applications creator" +DESCRIPTION="KEXI is a visual database applications creator. It can be used for \ +designing database applications, inserting and editing data, performing queries, \ +and processing data. Forms can be created to provide a custom interface to your \ +data. All database objects – tables, queries, forms, reports – are stored in the \ +database, making it easy to share data and design. + +KEXI is considered as a long awaited Open Source competitor for Microsoft Access, \ +FileMaker and Oracle Forms. Its development is motivated by the lack of Rapid \ +Application Development (RAD) tools for database systems that are sufficiently \ +powerful, inexpensive, open standards driven and portable across many operating \ +systems and hardware platforms." +HOMEPAGE="http://kexi-project.org/" +COPYRIGHT="KEXI Team" +LICENSE="GNU LGPL v2 + GNU GPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/kexi/src/kexi-$portVersion.tar.xz" +CHECKSUM_SHA256="7a813f9ea815a09c1e733d0e7dc879c64eee85f075389e87e6aab99cf0c1c1ff" +SOURCE_FILENAME="kexi-$portVersion.tar.xz" +PATCHES="kexi-$portVersion.patchset" +ADDITIONAL_FILES="kexi.rdef.in" + +ARCHITECTURES="?x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +libVersion="3.2.0" + +PROVIDES=" + kexi$secondaryArchSuffix = $portVersion + lib:libkexicore3.2$secondaryArchSuffix = $libVersion + lib:libkexidatatable3.2$secondaryArchSuffix = $libVersion + lib:libkexidataviewcommon3.2$secondaryArchSuffix = $libVersion + lib:libkexiextendedwidgets3.2$secondaryArchSuffix = $libVersion + lib:libkexiformutils3.2$secondaryArchSuffix = $libVersion + lib:libkexiguiutils3.2$secondaryArchSuffix = $libVersion + lib:libkeximain3.2$secondaryArchSuffix = $libVersion + lib:libkeximigrate3.2$secondaryArchSuffix = $libVersion + lib:libkexirelationsview3.2$secondaryArchSuffix = $libVersion + lib:libkexiundo3.2$secondaryArchSuffix = $libVersion + lib:libkexiutils3.2$secondaryArchSuffix = $libVersion + lib:libkformdesigner3.2$secondaryArchSuffix = $libVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + breeze_icons$secondaryArchSuffix + lib:libKChart$secondaryArchSuffix + lib:libKDb3$secondaryArchSuffix + lib:libKF5Activities$secondaryArchSuffix + 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:libKF5GuiAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IconThemes$secondaryArchSuffix + lib:libKF5ItemModels$secondaryArchSuffix + lib:libKF5ItemViews$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5KrossCore$secondaryArchSuffix + lib:libKF5Parts$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5SonnetCore$secondaryArchSuffix + lib:libKF5TextEditor$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libKPropertyCore3$secondaryArchSuffix + lib:libKPropertyWidgets3$secondaryArchSuffix + lib:libKReport3$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5WebKitWidgets$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= 5.77 + breeze_icons$secondaryArchSuffix + qthaikuplugins$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libKChart$secondaryArchSuffix + devel:libKDb3$secondaryArchSuffix + devel:libKF5Activities$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigGui$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5DesignerPlugin$secondaryArchSuffix + devel:libKF5DocTools$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5JSApi$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5KrossCore$secondaryArchSuffix + devel:libKF5Parts$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetCore$secondaryArchSuffix + devel:libKF5TextEditor$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libKPropertyCore3$secondaryArchSuffix + devel:libKReport3$secondaryArchSuffix + devel:libmysqlclient$secondaryArchSuffix + devel:libpq$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.15 + devel:libQt5WebKitWidgets$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:lrelease$secondaryArchSuffix >= 5 + cmd:make + cmd:perl + cmd:pkg_config$secondaryArchSuffix + cmd:python + " + +BUILD() +{ + mkdir -p build + cd build + + cmake .. \ + -DCMAKE_INSTALL_PREFIX=$appsDir/Calligra \ + -DCMAKE_INSTALL_BINDIR=$appsDir/Calligra \ + -DCMAKE_INSTALL_LIBDIR=$libDir \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ + -DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ + -DKDE_INSTALL_DATAROOTDIR=$dataDir \ + -DICONV_INCLUDE_DIR=/system/$relativeIncludeDir \ + -DKEXI_AUTORISE_TABBED_TOOLBAR=OFF \ + -DKEXI_USE_KFILEWIDGET=OFF \ + -DKEXI_SCRIPTS_SUPPORT=ON + + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + mv $appsDir/Calligra/kexi-3.2 $appsDir/Calligra/Kexi + + mkdir -p "$dataDir/deskbar/menu/Applications/Calligra" + + local APP_SIGNATURE="application/x-vnd.kexi" + 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/kexi.rdef.in > $sourceDir/build/kexi.rdef + + addResourcesToBinaries $sourceDir/build/kexi.rdef $appsDir/Calligra/Kexi + addAppDeskbarSymlink $appsDir/Calligra/Kexi "Calligra/Kexi" +} + +TEST() +{ + cd build + make test +} diff --git a/app-office/kexi/patches/kexi-3.2.0.patchset b/app-office/kexi/patches/kexi-3.2.0.patchset new file mode 100644 index 000000000..e7f81538f --- /dev/null +++ b/app-office/kexi/patches/kexi-3.2.0.patchset @@ -0,0 +1,123 @@ +From 5c6783cd3866c73d1cbf22cda37a8af38c911376 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 2 Mar 2021 13:58:35 +1000 +Subject: Fix build + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 82ebc70..71ac1c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,7 +147,7 @@ set(KEXI_EXAMPLES_INSTALL_DIR ${SHARE_INSTALL_PREFIX}/${KEXI_BASE_PATH}/examples + ############################ + ########################### + +-set(KEXI_FRAMEWORKS_MIN_VERSION 3.1.91) ++set(KEXI_FRAMEWORKS_MIN_VERSION 3.1) + + ## + ## Test for KDb +@@ -268,7 +268,7 @@ add_subdirectory(src) + + if(SHOULD_BUILD_DOC) + find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS DocTools) +- add_subdirectory(doc) ++# add_subdirectory(doc) + endif() + + # non-app directories are moved here because they can depend on SHOULD_BUILD_{appname} variables set above +@@ -285,5 +285,5 @@ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + + find_package(KF5DocTools CONFIG) + if(KF5DocTools_FOUND) +- kdoctools_install(po) ++# kdoctools_install(po) + endif() +-- +2.30.0 + + +From 85bf19526e33a09dca35df0d901e62f2ba25fa20 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 2 Mar 2021 14:04:08 +1000 +Subject: Add missing header + + +diff --git a/src/plugins/forms/widgets/kexidbdatepicker.cpp b/src/plugins/forms/widgets/kexidbdatepicker.cpp +index 1e0692d..92a5c88 100644 +--- a/src/plugins/forms/widgets/kexidbdatepicker.cpp ++++ b/src/plugins/forms/widgets/kexidbdatepicker.cpp +@@ -22,6 +22,7 @@ + #include "kexidbdatepicker.h" + #include + ++#include + #include + #include + +-- +2.30.0 + + +From 742151229356821b17d01bfbf64aeedf8e024d1f Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 3 Mar 2021 11:13:09 +1000 +Subject: Use Fusion style for Haiku + + +diff --git a/src/main/KexiMainWindow.cpp b/src/main/KexiMainWindow.cpp +index ad351c4..fef51a5 100644 +--- a/src/main/KexiMainWindow.cpp ++++ b/src/main/KexiMainWindow.cpp +@@ -337,6 +337,8 @@ bool setupApplication() + return false; + } + qApp->setStyle(style.take()); ++#elif defined Q_OS_HAIKU ++ qApp->setStyle(QStyleFactory::create("Fusion")); + #endif + return true; + } +-- +2.30.0 + + +From 18367a713bd868b4a00817d2f62099cba54a4ca9 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 3 Mar 2021 13:04:47 +1000 +Subject: Tune font sizes + + +diff --git a/src/kexiutils/FontSettings_p.cpp b/src/kexiutils/FontSettings_p.cpp +index a0a7a2c..d114130 100644 +--- a/src/kexiutils/FontSettings_p.cpp ++++ b/src/kexiutils/FontSettings_p.cpp +@@ -42,6 +42,17 @@ FontSettingsData::~FontSettingsData() + static const char GeneralId[] = "General"; + static const char DefaultFont[] = "Noto Sans"; + ++#ifdef Q_OS_HAIKU ++static const FontData DefaultFontData[FontSettingsData::FontTypesCount] = { ++ { GeneralId, "font", DefaultFont, 12, -1, QFont::SansSerif }, ++ { GeneralId, "fixed", "Noto Sans Mono", 12, -1, QFont::Monospace }, ++ { GeneralId, "toolBarFont", DefaultFont, 10, -1, QFont::SansSerif }, ++ { GeneralId, "menuFont", DefaultFont, 12, -1, QFont::SansSerif }, ++ { "WM", "activeFont", DefaultFont, 12, -1, QFont::SansSerif }, ++ { GeneralId, "taskbarFont", DefaultFont, 12, -1, QFont::SansSerif }, ++ { GeneralId, "smallestReadableFont", DefaultFont, 10, -1, QFont::SansSerif } ++}; ++#else + static const FontData DefaultFontData[FontSettingsData::FontTypesCount] = { + { GeneralId, "font", DefaultFont, 10, -1, QFont::SansSerif }, + { GeneralId, "fixed", "Oxygen Mono", 9, -1, QFont::Monospace }, +@@ -51,6 +62,7 @@ static const FontData DefaultFontData[FontSettingsData::FontTypesCount] = { + { GeneralId, "taskbarFont", DefaultFont, 10, -1, QFont::SansSerif }, + { GeneralId, "smallestReadableFont", DefaultFont, 8, -1, QFont::SansSerif } + }; ++#endif + + QFont FontSettingsData::font(FontTypes fontType) + { +-- +2.30.0 +