diff --git a/app-doc/zeal/patches/zeal-0.7.0.patchset b/app-doc/zeal/patches/zeal-0.7.0.patchset new file mode 100644 index 000000000..3c0af82d4 --- /dev/null +++ b/app-doc/zeal/patches/zeal-0.7.0.patchset @@ -0,0 +1,122 @@ +From 49e8c3eace8cd82a18f6dd97d9f01f42f6632991 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Mon, 3 Sep 2018 20:03:29 +1000 +Subject: Fix build for Haiku + + +diff --git a/src/app/main.cpp b/src/app/main.cpp +index 765bfe3..2072e7c 100644 +--- a/src/app/main.cpp ++++ b/src/app/main.cpp +@@ -219,6 +219,7 @@ int main(int argc, char *argv[]) + } + #endif + ++#ifndef Q_OS_HAIKU + QScopedPointer appSingleton(new Core::ApplicationSingleton()); + if (appSingleton->isSecondary()) { + #ifdef Q_OS_WIN32 +@@ -231,6 +232,7 @@ int main(int argc, char *argv[]) + appSingleton->sendMessage(ba); + return EXIT_SUCCESS; + } ++#endif + + // Set application-wide window icon. All message boxes and other windows will use it by default. + qapp->setDesktopFileName(QStringLiteral("org.zealdocs.zeal")); +@@ -241,6 +243,7 @@ int main(int argc, char *argv[]) + + QScopedPointer app(new Core::Application()); + ++#ifndef Q_OS_HAIKU + QObject::connect(appSingleton.data(), &Core::ApplicationSingleton::messageReceived, + [&app](const QByteArray &data) { + Registry::SearchQuery query; +@@ -251,6 +254,7 @@ int main(int argc, char *argv[]) + + app->executeQuery(query, preventActivation); + }); ++#endif + + if (!clParams.query.isEmpty()) { + QTimer::singleShot(0, app.data(), [&app, clParams] { +diff --git a/src/libs/ui/qxtglobalshortcut/CMakeLists.txt b/src/libs/ui/qxtglobalshortcut/CMakeLists.txt +index f1c6a05..36660e4 100644 +--- a/src/libs/ui/qxtglobalshortcut/CMakeLists.txt ++++ b/src/libs/ui/qxtglobalshortcut/CMakeLists.txt +@@ -6,6 +6,10 @@ if(APPLE) + list(APPEND QxtGlobalShortcut_SOURCES + qxtglobalshortcut_mac.cpp + ) ++elseif(HAIKU) ++ list(APPEND QxtGlobalShortcut_SOURCES ++ qxtglobalshortcut_haiku.cpp ++ ) + elseif(UNIX) + find_package(X11) + if(X11_FOUND) +diff --git a/src/libs/ui/qxtglobalshortcut/qxtglobalshortcut_haiku.cpp b/src/libs/ui/qxtglobalshortcut/qxtglobalshortcut_haiku.cpp +new file mode 100644 +index 0000000..1bb9cde +--- /dev/null ++++ b/src/libs/ui/qxtglobalshortcut/qxtglobalshortcut_haiku.cpp +@@ -0,0 +1,31 @@ ++#include "qxtglobalshortcut_p.h" ++ ++#include ++#include ++#include ++ ++bool QxtGlobalShortcutPrivate::nativeEventFilter(const QByteArray &eventType, ++ void *message, long *result) ++{ ++ return false; ++} ++ ++quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers) ++{ ++ return 0; ++} ++ ++quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key) ++{ ++ return 0; ++} ++ ++bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods) ++{ ++ return false; ++} ++ ++bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods) ++{ ++ return false; ++} +-- +2.42.1 + + +From 4be5166fb38d193b6aea2362d82df8e6de9e8ad7 Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Wed, 6 Dec 2023 17:04:14 +0100 +Subject: Fix linking with libnetwork + + +diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt +index 5c0e6d1..8742741 100644 +--- a/src/app/CMakeLists.txt ++++ b/src/app/CMakeLists.txt +@@ -45,6 +45,10 @@ endif() + + target_link_libraries(App PRIVATE Core Util Qt${QT_VERSION_MAJOR}::Widgets) + ++if(HAIKU) ++ target_link_libraries(App PRIVATE network) ++endif() ++ + set_target_properties(App PROPERTIES + OUTPUT_NAME ${_project_output_name} + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} +-- +2.42.1 + diff --git a/app-doc/zeal/zeal-0.7.0.recipe b/app-doc/zeal/zeal-0.7.0.recipe new file mode 100644 index 000000000..2fccbf395 --- /dev/null +++ b/app-doc/zeal/zeal-0.7.0.recipe @@ -0,0 +1,95 @@ +SUMMARY="A simple offline documentation browser inspired by Dash" +DESCRIPTION="Zeal is a cross-platform, open source, offline \ +documentation browser for software developers, inspired by Dash Docs \ +for macOS and iOS. Zeal has over 195+ docsets and are all compatible \ +with Dash docsets." +HOMEPAGE="https://zealdocs.org/" +COPYRIGHT="2013-2023 Oleg Shparber and other contributors" +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="https://github.com/zealdocs/zeal/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="937cbfe3ca49a7ee2d908baa3c5b008f425ae88cf2dade0abb2651b14f0f89ca" +SOURCE_FILENAME="zeal-$portVersion.tar.gz" +PATCHES="zeal-$portVersion.patchset" +ADDITIONAL_FILES="zeal.rdef.in" + +ARCHITECTURES="all !x86_gcc2 ?x86" +if [ "$targetArchitecture" = x86_gcc2 ]; then +SECONDARY_ARCHITECTURES="?x86" +fi + +PROVIDES=" + zeal$secondaryArchSuffix = $portVersion + app:Zeal = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libarchive$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5WebEngine$secondaryArchSuffix + lib:libQt5WebEngineCore$secondaryArchSuffix + lib:libQt5WebEngineWidgets$secondaryArchSuffix + lib:libQt5WebKit$secondaryArchSuffix + lib:libQt5WebKitWidgets$secondaryArchSuffix + lib:libsqlite3$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix + devel:libarchive$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5WebEngine$secondaryArchSuffix + devel:libQt5WebKit$secondaryArchSuffix + devel:libsqlite3$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make -Cbuild $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir + cp build/zeal $appsDir/Zeal + + local APP_SIGNATURE="application/x-vnd.zeal" + 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/zeal.rdef.in > zeal.rdef + + addResourcesToBinaries zeal.rdef $appsDir/Zeal + mimeset -f $appsDir/Zeal + addAppDeskbarSymlink $appsDir/Zeal +} + +TEST() +{ + make test +}