Kexi: add recipe

This commit is contained in:
Gerasim Troeglazov
2021-03-03 13:18:04 +10:00
parent 13451877e1
commit 2ae605cb33
3 changed files with 352 additions and 0 deletions

View File

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

View File

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

View File

@@ -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 <kexiutils/utils.h>
+#include <QDate>
#include <QLineEdit>
#include <QInputMethodEvent>
--
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