diff --git a/sci-visualization/labplot/additional-files/labplot2.rdef.in b/sci-visualization/labplot/additional-files/labplot.rdef.in similarity index 100% rename from sci-visualization/labplot/additional-files/labplot2.rdef.in rename to sci-visualization/labplot/additional-files/labplot.rdef.in diff --git a/sci-visualization/labplot/labplot-2.12.0.recipe b/sci-visualization/labplot/labplot-2.12.1.recipe similarity index 87% rename from sci-visualization/labplot/labplot-2.12.0.recipe rename to sci-visualization/labplot/labplot-2.12.1.recipe index 2909de561..19bc59fa5 100644 --- a/sci-visualization/labplot/labplot-2.12.0.recipe +++ b/sci-visualization/labplot/labplot-2.12.1.recipe @@ -12,23 +12,24 @@ Feature highlights: HOMEPAGE="https://invent.kde.org/education/labplot" COPYRIGHT="2010-2025 KDE Organisation" LICENSE="GNU GPL v2" -REVISION="2" +REVISION="1" SOURCE_URI="https://download.kde.org/stable/labplot/labplot-$portVersion.tar.xz" -CHECKSUM_SHA256="25f1751261ec2d11312f0179049ea1f16db33b3a89800dc572d68ad8d267afe7" +CHECKSUM_SHA256="e28155bfddf40e5b6f7c4791313556d1e48138044f216f210d515b9f6d6c106a" SOURCE_DIR="labplot-$portVersion" PATCHES="labplot-$portVersion.patchset" -ADDITIONAL_FILES="labplot2.rdef.in" +ADDITIONAL_FILES="labplot.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" labplot$secondaryArchSuffix = $portVersion - cmd:labplot$secondaryArchSuffix = $portVersion + app:LabPlot = $portVersion lib:liblabplot$secondaryArchSuffix " REQUIRES=" haiku$secondaryArchSuffix + lib:libqtadvanceddocking_qt6$secondaryArchSuffix lib:libcantorlibs$secondaryArchSuffix lib:libcerf$secondaryArchSuffix lib:libcfitsio$secondaryArchSuffix @@ -37,13 +38,16 @@ REQUIRES=" lib:libgsl$secondaryArchSuffix lib:libgslcblas$secondaryArchSuffix lib:libhdf5$secondaryArchSuffix + lib:libixion_0.20$secondaryArchSuffix lib:liblz4$secondaryArchSuffix lib:libmarkdown$secondaryArchSuffix lib:libmatio$secondaryArchSuffix lib:libnetcdf$secondaryArchSuffix + lib:liborcus_0.20$secondaryArchSuffix lib:liborigin$secondaryArchSuffix lib:libpoppler$secondaryArchSuffix lib:libpoppler_qt6$secondaryArchSuffix + lib:libQXlsxQt6$secondaryArchSuffix lib:libspectre$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libzstd$secondaryArchSuffix @@ -82,6 +86,7 @@ REQUIRES=" lib:libQt6Core$secondaryArchSuffix lib:libQt6DBus$secondaryArchSuffix lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Mqtt$secondaryArchSuffix lib:libQt6Network$secondaryArchSuffix lib:libQt6PrintSupport$secondaryArchSuffix lib:libQt6SerialPort$secondaryArchSuffix @@ -93,6 +98,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:eigen$secondaryArchSuffix + devel:libqtadvanceddocking_qt6$secondaryArchSuffix devel:libcantorlibs$secondaryArchSuffix devel:libcerf$secondaryArchSuffix devel:libcfitsio$secondaryArchSuffix >= 10.4 @@ -105,9 +111,11 @@ BUILD_REQUIRES=" devel:libmarkdown$secondaryArchSuffix devel:libmatio$secondaryArchSuffix devel:libnetcdf$secondaryArchSuffix + devel:liborcus_0.20$secondaryArchSuffix devel:liborigin$secondaryArchSuffix devel:libpoppler$secondaryArchSuffix >= 148 devel:libpoppler_qt6$secondaryArchSuffix >= 3.10 + devel:libQXlsxQt6$secondaryArchSuffix devel:libspectre$secondaryArchSuffix devel:libssp_nonshared$secondaryArchSuffix devel:libz$secondaryArchSuffix @@ -142,6 +150,7 @@ BUILD_REQUIRES=" devel:libKF6XmlGui$secondaryArchSuffix # Qt6 devel:libQt6Core$secondaryArchSuffix + devel:libQt6Mqtt$secondaryArchSuffix devel:libQt6SerialPort$secondaryArchSuffix devel:libQt6Svg$secondaryArchSuffix devel:libQt6Xml$secondaryArchSuffix @@ -161,10 +170,17 @@ TEST_REQUIRES=" qthaikuplugins$secondaryArchSuffix " +PATCH() +{ + # use Haiku's icon theme + sed -e 's,\ KIconTheme::initTheme();,\// KIconTheme::initTheme();,g' -i src/frontend/LabPlot.cpp +} + BUILD() { cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release \ $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$appsDir \ -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ -DCMAKE_SKIP_RPATH=YES \ -DENABLE_READSTAT=OFF \ @@ -179,6 +195,8 @@ INSTALL() { ninja -v -C build install + mv $appsDir/labplot $appsDir/LabPlot + # don't mess with shared_mime_info files rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic} rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces} @@ -188,9 +206,9 @@ INSTALL() local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" local MINOR="`echo "$portVersion" | cut -d. -f3`" - local APP_NAME="LabPlot2" + local APP_NAME="LabPlot" local LONG_INFO="$SUMMARY" - local APP_SIGNATURE="application/x-vnd.kde-labplot2" + local APP_SIGNATURE="application/x-vnd.kde-labplot" sed \ -e "s|@MAJOR@|$MAJOR|" \ -e "s|@MIDDLE@|$MIDDLE|" \ @@ -198,11 +216,11 @@ INSTALL() -e "s|@LONG_INFO@|$LONG_INFO|" \ -e "s|@APP_NAME@|$APP_NAME|" \ -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ - $portDir/additional-files/labplot2.rdef.in > labplot2.rdef + $portDir/additional-files/labplot.rdef.in > labplot.rdef - addResourcesToBinaries labplot2.rdef $binDir/labplot + addResourcesToBinaries labplot.rdef $appsDir/LabPlot - addAppDeskbarSymlink $binDir/labplot LabPlot + addAppDeskbarSymlink $appsDir/LabPlot } TEST() diff --git a/sci-visualization/labplot/patches/labplot-2.12.0.patchset b/sci-visualization/labplot/patches/labplot-2.12.0.patchset deleted file mode 100644 index 4ba8b4133..000000000 --- a/sci-visualization/labplot/patches/labplot-2.12.0.patchset +++ /dev/null @@ -1,383 +0,0 @@ -From 6dd3c55a8f548fdf765eb58f1068ceed491afd36 Mon Sep 17 00:00:00 2001 -From: Luc Schrijvers -Date: Sat, 26 Apr 2025 19:12:21 +0200 -Subject: Don't default to xcb qt plugin on Haiku - - -diff --git a/src/frontend/LabPlot.cpp b/src/frontend/LabPlot.cpp -index 23bab67..50cf6dd 100644 ---- a/src/frontend/LabPlot.cpp -+++ b/src/frontend/LabPlot.cpp -@@ -42,7 +42,7 @@ - #endif - - int main(int argc, char* argv[]) { --#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) && !defined(Q_OS_HAIKU) - // the qads library has issues on wayland so we force qt to use x11 instead - // see https://invent.kde.org/education/labplot/-/issues/1067 - QByteArray xcbQtQpaEnvVar("xcb"); --- -2.48.1 - - -From 762fc82832ef9581f8793f29d8848f9ba56cff10 Mon Sep 17 00:00:00 2001 -From: Luc Schrijvers -Date: Tue, 5 Aug 2025 15:46:28 +0200 -Subject: Haiku fixes to disable libxcb - - -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/CMakeLists.txt b/src/3rdparty/Qt-Advanced-Docking-System/src/CMakeLists.txt -index cc84e23..0257e56 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/CMakeLists.txt -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/CMakeLists.txt -@@ -66,7 +66,7 @@ set(ads_HEADERS - ResizeHandle.h - ) - add_compile_options("$<$:/utf-8>") --if (UNIX AND NOT APPLE) -+if (UNIX AND NOT APPLE AND NOT HAIKU) - set(ads_SRCS linux/FloatingWidgetTitleBar.cpp ${ads_SRCS}) - set(ads_HEADERS linux/FloatingWidgetTitleBar.h ${ads_HEADERS}) - endif() -@@ -89,7 +89,7 @@ endif() - target_link_libraries(${library_name} PUBLIC Qt${QT_VERSION_MAJOR}::Core - Qt${QT_VERSION_MAJOR}::Gui - Qt${QT_VERSION_MAJOR}::Widgets) --if (UNIX AND NOT APPLE) -+if (UNIX AND NOT APPLE AND NOT HAIKU) - if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - find_package(X11 REQUIRED) - target_link_libraries(${library_name} PUBLIC X11::xcb) -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/DockFocusController.cpp b/src/3rdparty/Qt-Advanced-Docking-System/src/DockFocusController.cpp -index 27acc4a..b7a0539 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/DockFocusController.cpp -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/DockFocusController.cpp -@@ -27,7 +27,7 @@ - #include "DockManager.h" - #include "DockAreaTitleBar.h" - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include "linux/FloatingWidgetTitleBar.h" - #endif - -@@ -44,7 +44,7 @@ struct DockFocusControllerPrivate - QPointer FocusedDockWidget = nullptr; - QPointer FocusedArea = nullptr; - QPointer OldFocusedDockWidget = nullptr; --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - QPointer FloatingWidget = nullptr; - #endif - CDockManager* DockManager; -@@ -85,7 +85,7 @@ static void updateDockAreaFocusStyle(CDockAreaWidget* DockArea, bool Focused) - - - //=========================================================================== --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - static void updateFloatingWidgetFocusStyle(CFloatingDockContainer* FloatingWidget, bool Focused) - { - if (FloatingWidget->hasNativeTitleBar()) -@@ -170,7 +170,7 @@ void DockFocusControllerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget) - } - - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - // This code is required for styling the floating widget titlebar for linux - // depending on the current focus state - if (FloatingWidget != NewFloatingWidget) -@@ -289,7 +289,7 @@ void CDockFocusController::onApplicationFocusChanged(QWidget* focusedOld, QWidge - DockWidget = internal::findParent(focusedNow); - } - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if (!DockWidget) - { - return; -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/DockManager.cpp b/src/3rdparty/Qt-Advanced-Docking-System/src/DockManager.cpp -index bf568d7..26f7283 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/DockManager.cpp -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/DockManager.cpp -@@ -63,7 +63,7 @@ - #include "DockComponentsFactory.h" - - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include "linux/FloatingWidgetTitleBar.h" - #endif - -@@ -207,7 +207,7 @@ void DockManagerPrivate::loadStylesheet() - QString FileName = QStringLiteral(":ads/stylesheets/"); - FileName += CDockManager::testConfigFlag(CDockManager::FocusHighlighting) - ? QStringLiteral("focus_highlighting") : QStringLiteral("default"); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - FileName += QStringLiteral("_linux"); - #endif - FileName += QStringLiteral(".css"); -@@ -529,7 +529,7 @@ CDockManager::CDockManager(QWidget *parent) : - - window()->installEventFilter(this); - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - connect(qApp, &QApplication::focusWindowChanged, [](QWindow* focusWindow) - { - // bring modal dialogs to foreground to ensure that they are in front of any -@@ -614,7 +614,7 @@ void CDockManager::setComponentsFactory(QSharedPointerMode = Mode; - d->Cross = new CDockOverlayCross(this); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint); - #else - setWindowFlags(Qt::Tool | Qt::FramelessWindowHint); -@@ -738,7 +738,7 @@ CDockOverlayCross::CDockOverlayCross(CDockOverlay* overlay) : - d(new DockOverlayCrossPrivate(this)) - { - d->DockOverlay = overlay; --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint); - #else - setWindowFlags(Qt::Tool | Qt::FramelessWindowHint); -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.cpp b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.cpp -index f151a9f..50a16de 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.cpp -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.cpp -@@ -52,7 +52,7 @@ - #pragma comment(lib, "User32.lib") - #endif - #endif --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include "linux/FloatingWidgetTitleBar.h" - #include - #endif -@@ -374,7 +374,7 @@ struct FloatingDockContainerPrivate - QPoint DragStartPos; - bool Hiding = false; - bool AutoHideChildren = true; --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - QWidget* MouseEventHandler = nullptr; - CFloatingWidgetTitleBar* TitleBar = nullptr; - bool IsResizing = false; -@@ -425,7 +425,7 @@ struct FloatingDockContainerPrivate - - void setWindowTitle(const QString &Text) - { --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if (TitleBar) - { - TitleBar->setTitle(Text); -@@ -545,7 +545,7 @@ void FloatingDockContainerPrivate::updateDropOverlays(const QPoint &GlobalPos) - return; - } - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - // Prevent display of drop overlays and docking as long as a model dialog - // is active - if (qApp->activeModalWidget()) -@@ -660,7 +660,7 @@ CFloatingDockContainer::CFloatingDockContainer(CDockManager *DockManager) : - connect(d->DockContainer, SIGNAL(dockAreasRemoved()), this, - SLOT(onDockAreasAddedOrRemoved())); - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - QDockWidget::setWidget(d->DockContainer); - QDockWidget::setFeatures(QDockWidget::DockWidgetClosable - | QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); -@@ -820,7 +820,7 @@ void CFloatingDockContainer::changeEvent(QEvent *event) - ADS_PRINT("FloatingWidget::changeEvent QEvent::ActivationChange "); - d->zOrderIndex = ++zOrderCounterFloating; - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if (d->DraggingState == DraggingFloatingWidget) - { - d->titleMouseReleaseEvent(); -@@ -994,7 +994,7 @@ void CFloatingDockContainer::hideEvent(QHideEvent *event) - void CFloatingDockContainer::showEvent(QShowEvent *event) - { - Super::showEvent(event); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if (CDockManager::testConfigFlag(CDockManager::FocusHighlighting)) - { - this->window()->activateWindow(); -@@ -1007,7 +1007,7 @@ void CFloatingDockContainer::showEvent(QShowEvent *event) - void CFloatingDockContainer::startFloating(const QPoint &DragStartMousePos, - const QSize &Size, eDragState DragState, QWidget *MouseEventHandler) - { --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if (!isMaximized()) - { - resize(Size); -@@ -1144,7 +1144,7 @@ bool CFloatingDockContainer::restoreState(CDockingStateReader &Stream, - return false; - } - onDockAreasAddedOrRemoved(); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - if(d->TitleBar) - { - d->TitleBar->setMaximizedIcon(windowState() == Qt::WindowMaximized); -@@ -1198,7 +1198,7 @@ void CFloatingDockContainer::finishDropOperation() - void CFloatingDockContainer::finishDragging() - { - ADS_PRINT("CFloatingDockContainer::finishDragging"); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - setWindowOpacity(1); - activateWindow(); - if (d->MouseEventHandler) -@@ -1210,7 +1210,7 @@ void CFloatingDockContainer::finishDragging() - d->titleMouseReleaseEvent(); - } - --#ifdef Q_OS_MACOS -+#if defined(Q_OS_MACOS) || defined(Q_OS_HAIKU) - //============================================================================ - bool CFloatingDockContainer::event(QEvent *e) - { -@@ -1313,7 +1313,7 @@ void CFloatingDockContainer::moveEvent(QMoveEvent *event) - #endif - - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - //============================================================================ - void CFloatingDockContainer::onMaximizeRequest() - { -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.h b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.h -index a26cbac..3df39d3 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.h -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDockContainer.h -@@ -33,7 +33,7 @@ - - #include - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include - #define tFloatingWidgetBase QDockWidget - #else -@@ -178,7 +178,7 @@ protected: // reimplements QWidget - virtual void hideEvent(QHideEvent *event) override; - virtual void showEvent(QShowEvent *event) override; - --#ifdef Q_OS_MACOS -+#if defined(Q_OS_MACOS) || defined(Q_OS_HAIKU) - virtual bool event(QEvent *e) override; - virtual void moveEvent(QMoveEvent *event) override; - #elif defined(Q_OS_UNIX) -@@ -269,7 +269,7 @@ public: - */ - void finishDropOperation(); - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - /** - * This is a function that responds to FloatingWidgetTitleBar::maximizeRequest() - * Maximize or normalize the container size. -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDragPreview.cpp b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDragPreview.cpp -index f7a45a2..9b8041e 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDragPreview.cpp -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/FloatingDragPreview.cpp -@@ -295,7 +295,7 @@ CFloatingDragPreview::CFloatingDragPreview(QWidget* Content, QWidget* parent) : - setAttribute(Qt::WA_TranslucentBackground); - } - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - auto Flags = windowFlags(); - Flags |= Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint; - setWindowFlags(Flags); -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.cpp b/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.cpp -index 2abcd03..5714528 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.cpp -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.cpp -@@ -38,7 +38,7 @@ - #include "IconProvider.h" - #include "ads_globals.h" - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include - #include - #include -@@ -52,7 +52,7 @@ namespace internal - { - const int FloatingWidgetDragStartEvent = QEvent::registerEventType(); - const int DockedWidgetDragStartEvent = QEvent::registerEventType(); --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - static QString _window_manager; - static QHash _xcb_atom_cache; - -@@ -412,7 +412,7 @@ void setButtonIcon(QAbstractButton* Button, QStyle::StandardPixmap StandarPixmap - return; - } - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - Button->setIcon(Button->style()->standardIcon(StandarPixmap)); - #else - // The standard icons does not look good on high DPI screens so we create -diff --git a/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.h b/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.h -index f7ccc8e..ddede0a 100644 ---- a/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.h -+++ b/src/3rdparty/Qt-Advanced-Docking-System/src/ads_globals.h -@@ -40,7 +40,7 @@ - - #include - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - #include - #endif - -@@ -171,7 +171,7 @@ static const char* const LocationProperty = "Location"; - extern const int FloatingWidgetDragStartEvent; - extern const int DockedWidgetDragStartEvent; - --#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) && !defined(Q_OS_HAIKU) - // Utils to directly communicate with the X server - /** - * Get atom from cache or request it from the XServer. --- -2.48.1 - diff --git a/sci-visualization/labplot/patches/labplot-2.12.1.patchset b/sci-visualization/labplot/patches/labplot-2.12.1.patchset new file mode 100644 index 000000000..ad753277d --- /dev/null +++ b/sci-visualization/labplot/patches/labplot-2.12.1.patchset @@ -0,0 +1,22 @@ +From fa74e06606e86bd4e6f79a202d099b33fb095d0f Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Sat, 26 Apr 2025 19:12:21 +0200 +Subject: Don't default to xcb qt plugin on Haiku + + +diff --git a/src/frontend/LabPlot.cpp b/src/frontend/LabPlot.cpp +index 23bab67..50cf6dd 100644 +--- a/src/frontend/LabPlot.cpp ++++ b/src/frontend/LabPlot.cpp +@@ -42,7 +42,7 @@ + #endif + + int main(int argc, char* argv[]) { +-#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) ++#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) && !defined(Q_OS_HAIKU) + // the qads library has issues on wayland so we force qt to use x11 instead + // see https://invent.kde.org/education/labplot/-/issues/1067 + QByteArray xcbQtQpaEnvVar("xcb"); +-- +2.50.1 +