diff --git a/app-office/libreoffice/libreoffice-24.2.3.1.recipe b/app-office/libreoffice/libreoffice-24.8.1.1.recipe similarity index 94% rename from app-office/libreoffice/libreoffice-24.2.3.1.recipe rename to app-office/libreoffice/libreoffice-24.8.1.1.recipe index e2c15b8e7..6c2c54d34 100644 --- a/app-office/libreoffice/libreoffice-24.2.3.1.recipe +++ b/app-office/libreoffice/libreoffice-24.8.1.1.recipe @@ -17,20 +17,20 @@ and Open Source office suite on the market: HOMEPAGE="https://www.libreoffice.org/" COPYRIGHT="2000-2024 LibreOffice contributors" LICENSE="MPL v2.0" -REVISION="3" +REVISION="1" SOURCE_URI="https://github.com/LibreOffice/core/archive/libreoffice-$portVersion.tar.gz" -CHECKSUM_SHA256="0b86dab5e3fc191ce3ea415eed84e3292029f165dac65178c7f851cc9c8ccd81" +CHECKSUM_SHA256="ffafcd5a0af5d0bb1ad0211dba0608069dbeb4d8fa898f0d4bd9e6cc98b4fad4" SOURCE_DIR="core-libreoffice-$portVersion" SOURCE_FILENAME="core-libreoffice-$portVersion.tar.gz" SOURCE_URI_2="https://github.com/LibreOffice/translations/archive/libreoffice-$portVersion.tar.gz" -CHECKSUM_SHA256_2="024c8e5f1004f1a759a0929f61f0dd6b3e297ce10b1fad17ea9cdf7b42cbde9d" +CHECKSUM_SHA256_2="f2384d18fac29d328492d453768cc6410d46dd259a049ad4d73323856d9ae7c3" SOURCE_DIR_2="translations-libreoffice-$portVersion" SOURCE_FILENAME_2="translations-libreoffice-$portVersion.tar.gz" SOURCE_URI_3="https://github.com/LibreOffice/dictionaries/archive/refs/tags/libreoffice-$portVersion.tar.gz" -CHECKSUM_SHA256_3="428d1c3aaf59338d2b96e7a731306cc76254007754ccf284d3d5de3c3b59252e" +CHECKSUM_SHA256_3="deeac81ef425e7a294397a8e9c97e0e7e80f73979c54e36c8de9c620e4063612" SOURCE_DIR_3="dictionaries-libreoffice-$portVersion" SOURCE_FILENAME_3="dictionaries-libreoffice-$portVersion.tar.gz" @@ -82,6 +82,7 @@ REQUIRES=" lib:libboost_iostreams$secondaryArchSuffix lib:libboost_locale$secondaryArchSuffix lib:libBox2D$secondaryArchSuffix + lib:libcairo$secondaryArchSuffix lib:libcdr_0.1$secondaryArchSuffix lib:libclucene_core$secondaryArchSuffix lib:libcmis_0.6$secondaryArchSuffix @@ -130,6 +131,8 @@ REQUIRES=" lib:libpoppler_qt6$secondaryArchSuffix lib:libQt6Core$secondaryArchSuffix lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Multimedia$secondaryArchSuffix + lib:libQt6MultimediaWidgets$secondaryArchSuffix lib:libQt6Widgets$secondaryArchSuffix lib:libqxp_0.0$secondaryArchSuffix lib:libraptor2$secondaryArchSuffix @@ -141,6 +144,7 @@ REQUIRES=" lib:libssl$secondaryArchSuffix lib:libssl3$secondaryArchSuffix lib:libstaroffice_0.0$secondaryArchSuffix + lib:libtiff$secondaryArchSuffix lib:libuuid$secondaryArchSuffix lib:libvisio_0.1$secondaryArchSuffix lib:libwebp$secondaryArchSuffix @@ -187,6 +191,7 @@ BUILD_REQUIRES=" devel:libboost_iostreams$secondaryArchSuffix >= $boostMinimumVersion devel:libboost_locale$secondaryArchSuffix >= $boostMinimumVersion devel:libBox2D$secondaryArchSuffix + devel:libcairo$secondaryArchSuffix devel:libcdr_0.1$secondaryArchSuffix devel:libclucene_contribs_lib$secondaryArchSuffix devel:libclucene_core$secondaryArchSuffix @@ -222,8 +227,9 @@ BUILD_REQUIRES=" devel:libodfgen_0.1$secondaryArchSuffix devel:liborcus_0.18$secondaryArchSuffix devel:libpagemaker_0.0$secondaryArchSuffix - devel:libpoppler_qt6$secondaryArchSuffix >= 3.4.0 + devel:libpoppler_qt6$secondaryArchSuffix >= 3.7.0 devel:libQt6Core$secondaryArchSuffix + devel:libQt6Multimedia$secondaryArchSuffix devel:libqrcodegen$secondaryArchSuffix devel:libqxp_0.0$secondaryArchSuffix devel:libraptor2$secondaryArchSuffix @@ -231,8 +237,9 @@ BUILD_REQUIRES=" devel:libreadline$secondaryArchSuffix >= 8 devel:librevenge_0.0$secondaryArchSuffix devel:libsane$secondaryArchSuffix - devel:libssl$secondaryArchSuffix + devel:libssl$secondaryArchSuffix >= 3 devel:libstaroffice_0.0$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix devel:libvisio_0.1$secondaryArchSuffix devel:libwebp$secondaryArchSuffix devel:libwpd_0.10$secondaryArchSuffix @@ -261,6 +268,7 @@ BUILD_PREREQUIRES=" cmd:ld$secondaryArchSuffix cmd:libtool$secondaryArchSuffix cmd:make + cmd:msgfmt cmd:patch cmd:perl cmd:pkg_config$secondaryArchSuffix @@ -297,39 +305,40 @@ BUILD() export PKG_CONFIG_LIBDIR="$pkgconfig_libdir:$pkgconfig_datadir" ./autogen.sh \ - --with-distro=LibreOfficeHaiku \ + --enable-build-opensymbol \ + --enable-cairo-canvas \ + --enable-python=no \ --enable-qt6 \ --enable-release-build \ --enable-readonly-installset \ - --enable-python=no \ - --enable-build-opensymbol \ - --enable-cairo-canvas=no \ --enable-sal-log \ \ --disable-ccache \ + --disable-dependency-tracking \ + --disable-fetch-external \ --disable-firebird-sdbc \ --disable-postgresql-sdbc \ - --disable-fetch-external \ - --disable-dependency-tracking \ --disable-zxing \ \ - --with-fonts=no \ - --with-vendor="HaikuPorts" \ - --with-system-libs \ - --with-tls="openssl" \ --with-boost-libdir=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir \ + --with-distro=LibreOfficeHaiku \ + --with-fonts=no \ + --with-lang="$libreofficeLanguages" \ + --with-system-cairo \ + --with-system-libs \ --with-system-nss \ --with-system-openssl \ + --with-tls="openssl" \ + --with-vendor="HaikuPorts" \ \ --without-doxygen \ - --without-system-dragonbox \ - --without-system-frozen \ - --without-system-libfixmath \ - --without-system-zxcvbn \ --without-helppack-integration \ --without-java \ + --without-system-dragonbox \ + --without-system-frozen \ --without-system-jars \ - --with-lang="$libreofficeLanguages" + --without-system-libfixmath \ + --without-system-zxcvbn make $jobArgs diff --git a/app-office/libreoffice/patches/libreoffice-24.2.3.1.patchset b/app-office/libreoffice/patches/libreoffice-24.8.1.1.patchset similarity index 61% rename from app-office/libreoffice/patches/libreoffice-24.2.3.1.patchset rename to app-office/libreoffice/patches/libreoffice-24.8.1.1.patchset index 8cc52b576..c8adb0e7e 100644 --- a/app-office/libreoffice/patches/libreoffice-24.2.3.1.patchset +++ b/app-office/libreoffice/patches/libreoffice-24.8.1.1.patchset @@ -1,11 +1,11 @@ -From 783b3dcbad5008f41b1d872fc4b2e59251cb1c8c Mon Sep 17 00:00:00 2001 +From 75e23314b347f9704eaa36b9463a34138e023c57 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 17 Feb 2024 23:58:59 +1000 +Date: Tue, 27 Aug 2024 13:25:47 +1000 Subject: Make Elementary the default on Haiku diff --git a/vcl/source/app/IconThemeSelector.cxx b/vcl/source/app/IconThemeSelector.cxx -index eb79752..a380bcc 100644 +index eeea022..48857d0 100644 --- a/vcl/source/app/IconThemeSelector.cxx +++ b/vcl/source/app/IconThemeSelector.cxx @@ -67,6 +67,9 @@ IconThemeSelector::GetIconThemeForDesktopEnvironment(const OUString& desktopEnvi @@ -19,20 +19,20 @@ index eb79752..a380bcc 100644 OUString r; if ( desktopEnvironment.equalsIgnoreAsciiCase("plasma5") || -- -2.43.2 +2.45.2 -From bcefbe654668440b2867f6881442703d92714a6d Mon Sep 17 00:00:00 2001 +From aa39e6bf186ac566f020be71ee6e4d5d794e44ad Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 17 Feb 2024 23:59:23 +1000 +Date: Tue, 27 Aug 2024 13:26:05 +1000 Subject: Show used vcl backend in About window on Haiku diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx -index e1e12db..9c78078 100644 +index af0b1fc..852e4b9 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx -@@ -1229,7 +1229,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize +@@ -1227,7 +1227,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize #endif appendDetails(u"", Localize(SV_APP_DEFAULT, bLocalize)); @@ -42,17 +42,17 @@ index e1e12db..9c78078 100644 #endif } -- -2.43.2 +2.45.2 -From f9baaf8eacf5cafac2215d84e2976f401a01d3a8 Mon Sep 17 00:00:00 2001 +From 4697ffc260969a201b5a5d98cf3e616c8f223699 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 17 Feb 2024 23:59:55 +1000 +Date: Tue, 27 Aug 2024 13:26:29 +1000 Subject: Identify Haiku in about window diff --git a/vcl/unx/generic/app/geninst.cxx b/vcl/unx/generic/app/geninst.cxx -index 191d87c..949155f 100644 +index fe3aefe..c17fa90 100644 --- a/vcl/unx/generic/app/geninst.cxx +++ b/vcl/unx/generic/app/geninst.cxx @@ -26,6 +26,11 @@ @@ -85,17 +85,17 @@ index 191d87c..949155f 100644 return aKernelVer; } -- -2.43.2 +2.45.2 -From 82c04d9b0e17eb37daa18f550f5309491b130ee8 Mon Sep 17 00:00:00 2001 +From f5bb74715dcd1dfcac6d8f13bbfd217eba568a64 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:00:15 +1000 +Date: Tue, 27 Aug 2024 13:26:59 +1000 Subject: Implement ShellExec on Haiku diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx -index 153827a..008a90f 100644 +index 5d421f2..b132fc5 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -187,6 +187,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar @@ -109,12 +109,12 @@ index 153827a..008a90f 100644 // Just use xdg-open on non-Mac aBuffer.append("xdg-open"); -- -2.43.2 +2.45.2 -From 484bf63ce1721f84929ab0757fa759c09a2afeb9 Mon Sep 17 00:00:00 2001 +From 02eb894fdcf7d6b7c6727373727886f615545cb0 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:00:52 +1000 +Date: Tue, 27 Aug 2024 13:27:34 +1000 Subject: Add XP_HAIKU defs for xmlsec @@ -136,7 +136,7 @@ index 04abb8c..a265888 100644 $(eval $(call gb_Library_add_exception_objects,svl,\ svl/source/svdde/ddecli \ diff --git a/xmlsecurity/Library_xsec_xmlsec.mk b/xmlsecurity/Library_xsec_xmlsec.mk -index 615c3eb..5e10e08 100644 +index 4dc5b9d..0ff7e8e 100644 --- a/xmlsecurity/Library_xsec_xmlsec.mk +++ b/xmlsecurity/Library_xsec_xmlsec.mk @@ -130,6 +130,12 @@ endif @@ -151,19 +151,19 @@ index 615c3eb..5e10e08 100644 + ifeq ($(SYSTEM_XMLSEC),) $(eval $(call gb_Library_add_libs,xsec_xmlsec,\ - $(call gb_UnpackedTarball_get_dir,xmlsec)/src/.libs/libxmlsec1.a \ + $(gb_UnpackedTarball_workdir)/xmlsec/src/.libs/libxmlsec1.a \ -- -2.43.2 +2.45.2 -From 161ad13ddb1151bf2a64ab6a9d68ae7545598f30 Mon Sep 17 00:00:00 2001 +From 22144758f2bd4e8783fd8feeead1578a155cc4b7 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:03:20 +1000 +Date: Tue, 27 Aug 2024 13:34:18 +1000 Subject: Don't use fontconfig diff --git a/vcl/qt5/QtGraphics_Text.cxx b/vcl/qt5/QtGraphics_Text.cxx -index 19837d5..4704d8b 100644 +index 55613a6..52a20f8 100644 --- a/vcl/qt5/QtGraphics_Text.cxx +++ b/vcl/qt5/QtGraphics_Text.cxx @@ -85,7 +85,11 @@ bool QtGraphics::GetFontCapabilities(vcl::FontCapabilities& rFontCapabilities) c @@ -173,27 +173,27 @@ index 19837d5..4704d8b 100644 +#ifdef __HAIKU__ + static const bool bUseFontconfig = false; +#else - static const bool bUseFontconfig = (nullptr == getenv("SAL_VCL_QT5_NO_FONTCONFIG")); + static const bool bUseFontconfig = (nullptr == getenv("SAL_VCL_QT_NO_FONTCONFIG")); +#endif if (pPFC->Count()) return; -- -2.43.2 +2.45.2 -From def2d85060834929ca15b293a68517632fbc1912 Mon Sep 17 00:00:00 2001 +From b7e12bf45e081431543f2501ef66ab022a8c5e8b Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:04:18 +1000 +Date: Tue, 27 Aug 2024 13:35:14 +1000 Subject: Revert fstack-protector check removal in 9db11a8ab648f4d04e59e6bb94cd640f64835447 diff --git a/config_host.mk.in b/config_host.mk.in -index 14569b3..58a1bf9 100644 +index a3a9653..8bbbbdf 100644 --- a/config_host.mk.in +++ b/config_host.mk.in -@@ -312,6 +312,7 @@ export HAVE_DLLEXPORTINLINES=@HAVE_DLLEXPORTINLINES@ +@@ -317,6 +317,7 @@ export HAVE_DLLEXPORTINLINES=@HAVE_DLLEXPORTINLINES@ export HAVE_EXTERNAL_DWARF=@HAVE_EXTERNAL_DWARF@ export HAVE_LO_CLANG_DLLEXPORTINLINES=@HAVE_LO_CLANG_DLLEXPORTINLINES@ export HAVE_GCC_AVX=@HAVE_GCC_AVX@ @@ -202,10 +202,10 @@ index 14569b3..58a1bf9 100644 export HAVE_GCC_FNO_ENFORCE_EH_SPECS=@HAVE_GCC_FNO_ENFORCE_EH_SPECS@ export HAVE_GCC_FNO_SIZED_DEALLOCATION=@HAVE_GCC_FNO_SIZED_DEALLOCATION@ diff --git a/configure.ac b/configure.ac -index 7f65586..8593c57 100644 +index eebd680..a75b63f 100644 --- a/configure.ac +++ b/configure.ac -@@ -1121,6 +1121,7 @@ haiku*) +@@ -1177,6 +1177,7 @@ haiku*) test_gtk3=no test_gtk3_kde5=no test_kf5=yes @@ -213,7 +213,7 @@ index 7f65586..8593c57 100644 test_kf6=yes enable_odk=no enable_coinmp=no -@@ -7376,6 +7377,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then +@@ -7509,6 +7510,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then AC_MSG_RESULT([no]) fi @@ -231,23 +231,15 @@ index 7f65586..8593c57 100644 AC_MSG_CHECKING([whether $CC_BASE supports atomic functions]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ int v = 0; -@@ -7513,6 +7525,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then +@@ -7646,6 +7658,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then fi AC_SUBST(HAVE_GCC_AVX) +AC_SUBST(HAVE_GCC_STACK_PROTECTOR_STRONG) AC_SUBST(HAVE_GCC_BUILTIN_ATOMIC) AC_SUBST(HAVE_GCC_STACK_CLASH_PROTECTION) - -@@ -13225,17 +13238,17 @@ dnl =================================================================== - - QT6_CFLAGS="" - QT6_LIBS="" --QMAKE6="qmake" -+QMAKE6="qmake6" - MOC6="moc" - QT6_PLATFORMS_SRCDIR="" - if test \( "$test_kf6" = "yes" -a "$ENABLE_KF6" = "TRUE" \) -o \ + AC_SUBST(HARDENING_CFLAGS) +@@ -13410,7 +13423,7 @@ if test \( "$test_kf6" = "yes" -a "$ENABLE_KF6" = "TRUE" \) -o \ \( "$test_qt6" = "yes" -a "$ENABLE_QT6" = "TRUE" \) then qt6_incdirs="$QT6INC /usr/include/qt6 /usr/include $x_includes" @@ -255,12 +247,8 @@ index 7f65586..8593c57 100644 + qt6_libdirs="$QT6LIB /system/lib /usr/lib/qt6 /usr/lib $x_libraries" if test -n "$supports_multilib"; then -- qt6_libdirs="$qt6_libdirs /usr/lib64/qt6 /usr/lib64/qt /usr/lib64" -+ qt6_libdirs="$qt6_libdirs /system/lib /usr/lib64/qt6 /usr/lib64/qt /usr/lib64" - fi - - qt6_test_include="QtWidgets/qapplication.h" -@@ -13328,12 +13341,12 @@ then + qt6_libdirs="$qt6_libdirs /usr/lib64/qt6 /usr/lib64/qt /usr/lib64" +@@ -13515,12 +13528,12 @@ then for lib_dir in $qt6_libdirs; do if test -z "$qt6_libexec_dirs"; then @@ -277,28 +265,28 @@ index 7f65586..8593c57 100644 AC_MSG_ERROR([Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QT6DIR before running "configure".]) diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk -index 7ea7a16..b8518db 100644 +index 29a1942..8988b48 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk -@@ -75,7 +75,7 @@ gb_CFLAGS_COMMON := \ - -fmessage-length=0 \ +@@ -77,7 +77,7 @@ gb_CFLAGS_COMMON := \ -fno-common \ -pipe \ + $(if $(ENABLE_HARDENING_FLAGS),$(HARDENING_CFLAGS)) \ - $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \ + $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong) \ gb_CXXFLAGS_COMMON := \ -Wall \ -@@ -91,7 +91,7 @@ gb_CXXFLAGS_COMMON := \ - -fmessage-length=0 \ +@@ -94,7 +94,7 @@ gb_CXXFLAGS_COMMON := \ -fno-common \ -pipe \ + $(if $(ENABLE_HARDENING_FLAGS),$(HARDENING_CFLAGS)) \ - $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \ + $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong) \ ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE) gb_CXXFLAGS_COMMON += -Wdeprecated-copy-dtor -@@ -157,7 +157,7 @@ endif +@@ -160,7 +160,7 @@ endif gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX) @@ -308,20 +296,20 @@ index 7ea7a16..b8518db 100644 ifneq ($(gb_ENABLE_PCH),) ifeq ($(COM_IS_CLANG),TRUE) -- -2.43.2 +2.45.2 -From ff7c69ceded5d166cca52d4da56572cac676e119 Mon Sep 17 00:00:00 2001 +From a2c7144f4f742c6a25ecd3c1c6644ae98bb77fef Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:04:51 +1000 +Date: Tue, 27 Aug 2024 13:35:38 +1000 Subject: Qt::Popup window handling diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx -index 6aff814..91fdbe0 100644 +index 3949650..4055710 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx -@@ -139,7 +139,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo) +@@ -140,7 +140,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo) else if ((nStyle & SalFrameStyleFlags::FLOAT) && (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION)) aWinFlags = Qt::Tool | Qt::FramelessWindowHint; @@ -330,7 +318,7 @@ index 6aff814..91fdbe0 100644 aWinFlags = Qt::ToolTip; // Can't use Qt::Popup, because it grabs the input focus and generates a focus-out event, // instantly auto-closing the LO's editable ComboBox popup. -@@ -200,7 +200,7 @@ void QtFrame::FillSystemEnvData(SystemEnvData& rData, sal_IntPtr pWindow, QWidge +@@ -201,7 +201,7 @@ void QtFrame::FillSystemEnvData(SystemEnvData& rData, sal_IntPtr pWindow, QWidge rData.platform = SystemEnvData::Platform::Wayland; else if (QGuiApplication::platformName() == "xcb") rData.platform = SystemEnvData::Platform::Xcb; @@ -339,379 +327,7 @@ index 6aff814..91fdbe0 100644 rData.platform = SystemEnvData::Platform::WASM; else { -diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx -index 996a0a7..dd167a2 100644 ---- a/vcl/qt5/QtWidget.cxx -+++ b/vcl/qt5/QtWidget.cxx -@@ -184,9 +184,11 @@ void QtWidget::handleMouseButtonEvent(const QtFrame& rFrame, const QMouseEvent* - void QtWidget::mousePressEvent(QMouseEvent* pEvent) - { - handleMouseButtonEvent(m_rFrame, pEvent); -+#ifndef __HAIKU__ - if (m_rFrame.isPopup() - && !geometry().translated(geometry().topLeft() * -1).contains(pEvent->pos())) - closePopup(); -+#endif - } - - void QtWidget::mouseReleaseEvent(QMouseEvent* pEvent) { handleMouseButtonEvent(m_rFrame, pEvent); } --- -2.43.2 - - -From 739c14e7be42e656e274a2ea35280b6e90f37176 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:05:09 +1000 -Subject: Use Noto Sans as default font - - -diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx -index 26ceda8..a590249 100644 ---- a/unotools/source/config/fontcfg.cxx -+++ b/unotools/source/config/fontcfg.cxx -@@ -229,6 +229,11 @@ OUString DefaultFontConfiguration::getUserInterfaceFont( const LanguageTag& rLan - if( !aUIFont.isEmpty() ) - return aUIFont; - -+#ifdef __HAIKU__ -+ static constexpr OUStringLiteral HAIKU_UI_SANS = u"Noto Sans Display"; -+ return HAIKU_UI_SANS; -+#endif -+ - // fallback mechanism (either no configuration or no entry in configuration - - static constexpr OUStringLiteral FALLBACKFONT_UI_SANS = u"Andale Sans UI;Albany;Albany AMT;Tahoma;Arial Unicode MS;Arial;Nimbus Sans L;Bitstream Vera Sans;gnu-unifont;Interface User;Geneva;WarpSans;Dialog;Swiss;Lucida;Helvetica;Charcoal;Chicago;MS Sans Serif;Helv;Times;Times New Roman;Interface System"; --- -2.43.2 - - -From 830aa37d6e37545e92ba487b18c0f071fdb5b658 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:05:33 +1000 -Subject: Use system font - - -diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx -index a1138de..fd81fcb 100644 ---- a/vcl/source/app/settings.cxx -+++ b/vcl/source/app/settings.cxx -@@ -25,6 +25,12 @@ - #include - #endif - -+#ifdef __HAIKU__ -+#include -+#include -+#include -+#endif -+ - #include - #include - -@@ -636,10 +642,23 @@ void ImplStyleData::SetStandardStyles() - vcl::Font aStdFont( FAMILY_SWISS, Size( 0, 8 ) ); - aStdFont.SetCharSet( osl_getThreadTextEncoding() ); - aStdFont.SetWeight( WEIGHT_NORMAL ); -+#ifdef __HAIKU__ -+ if (be_app) { -+ font_family plainFontFamily; -+ font_style plainFontStyle; -+ be_plain_font->GetFamilyAndStyle(&plainFontFamily, &plainFontStyle); -+ aStdFont.SetFamilyName(OStringToOUString(std::string_view(plainFontFamily), osl_getThreadTextEncoding())); -+ aStdFont.SetStyleName(OStringToOUString(std::string_view(plainFontStyle), osl_getThreadTextEncoding())); -+ } else { -+ aStdFont.SetFamilyName("Noto Sans Display"); -+ } -+#else - if (!utl::ConfigManager::IsFuzzing()) - aStdFont.SetFamilyName(utl::DefaultFontConfiguration::get().getUserInterfaceFont(LanguageTag("en"))); - else - aStdFont.SetFamilyName("Liberation Sans"); -+#endif -+ - maAppFont = aStdFont; - maHelpFont = aStdFont; - maMenuFont = aStdFont; --- -2.43.2 - - -From b4a4099ed0ec9475cda2b15491c227b60fafc570 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 18 Feb 2024 00:05:45 +1000 -Subject: Don't use Cairo - - -diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx -index f87cdef..8736077 100644 ---- a/vcl/qt5/QtInstance.cxx -+++ b/vcl/qt5/QtInstance.cxx -@@ -220,7 +220,11 @@ OUString QtInstance::constructToolkitID(std::u16string_view sTKname) - - QtInstance::QtInstance(std::unique_ptr& pQApp) - : SalGenericInstance(std::make_unique()) -+#ifdef __HAIKU__ -+ , m_bUseCairo(false) -+#else - , m_bUseCairo(nullptr == getenv("SAL_VCL_QT_USE_QFONT")) -+#endif - , m_pTimer(nullptr) - , m_bSleeping(false) - , m_pQApplication(std::move(pQApp)) --- -2.43.2 - - -From c31b2a184645363f9baff49a4176b80a335d7c25 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 18 Mar 2024 20:44:31 +1000 -Subject: Add alias for SIGIOT signal - - -diff --git a/sal/osl/unx/signal.cxx b/sal/osl/unx/signal.cxx -index 50c260f..5bcdd1b 100644 ---- a/sal/osl/unx/signal.cxx -+++ b/sal/osl/unx/signal.cxx -@@ -47,6 +47,10 @@ - #include - #include - -+#ifdef __HAIKU__ -+#define SIGIOT SIGABRT -+#endif -+ - namespace - { - extern "C" using Handler1 = void (*)(int); --- -2.43.2 - - -From e1b13c4b5d8236ecaf85cc063c1d79d234099647 Mon Sep 17 00:00:00 2001 -From: Alfred Wingate -Date: Mon, 20 Nov 2023 14:47:28 +0200 -Subject: Remove use of the now removed LBCMNoChain options - -* This change removes its use and explicitly prevents chaining where - the rule would have applied. - -diff --git a/i18npool/source/breakiterator/data/line.txt b/i18npool/source/breakiterator/data/line.txt -index ff3f3ea..206e212 100644 ---- a/i18npool/source/breakiterator/data/line.txt -+++ b/i18npool/source/breakiterator/data/line.txt -@@ -14,7 +14,6 @@ - # - - !!chain; --!!LBCMNoChain; - - - !!lookAheadHardBreak; -@@ -206,13 +205,13 @@ $CR $LF {100}; - # - $LB4NonBreaks? $LB4Breaks {100}; # LB 5 do not break before hard breaks. - $CAN_CM $CM* $LB4Breaks {100}; --$CM+ $LB4Breaks {100}; -+^$CM+ $LB4Breaks {100}; - - # LB 7 x SP - # x ZW - $LB4NonBreaks [$SP $ZW]; - $CAN_CM $CM* [$SP $ZW]; --$CM+ [$SP $ZW]; -+^$CM+ [$SP $ZW]; - - # - # LB 8 Break after zero width space -@@ -226,14 +225,14 @@ $LB8NonBreaks = [[$LB4NonBreaks] - [$ZW]]; - # See definition of $CAN_CM. - - $CAN_CM $CM+; # Stick together any combining sequences that don't match other rules. --$CM+; -+^$CM+; - - # - # LB 11 Do not break before or after WORD JOINER & related characters. - # - $CAN_CM $CM* $WJcm; - $LB8NonBreaks $WJcm; --$CM+ $WJcm; -+^$CM+ $WJcm; - - $WJcm [^$CAN_CM]; - $WJcm $CAN_CM $CM*; -@@ -243,7 +242,7 @@ $WJcm $CAN_CM $CM*; - # - # (!SP) x GL - [$LB8NonBreaks-$SP] $CM* $GLcm; --$CM+ $GLcm; -+^$CM+ $GLcm; - - # GL x - $GLcm ($LB8Breaks | $SP); -@@ -260,19 +259,19 @@ $GLcm [$LB8NonBreaks-$SP] $CM*; # Don't let a combining mark go onto $CR, $B - # - $LB8NonBreaks $CL; - $CAN_CM $CM* $CL; --$CM+ $CL; # by rule 10, stand-alone CM behaves as AL -+^$CM+ $CL; # by rule 10, stand-alone CM behaves as AL - - $LB8NonBreaks $EX; - $CAN_CM $CM* $EX; --$CM+ $EX; # by rule 10, stand-alone CM behaves as AL -+^$CM+ $EX; # by rule 10, stand-alone CM behaves as AL - - $LB8NonBreaks $IS; - $CAN_CM $CM* $IS; --$CM+ $IS; # by rule 10, stand-alone CM behaves as AL -+^$CM+ $IS; # by rule 10, stand-alone CM behaves as AL - - $LB8NonBreaks $SY; - $CAN_CM $CM* $SY; --$CM+ $SY; # by rule 10, stand-alone CM behaves as AL -+^$CM+ $SY; # by rule 10, stand-alone CM behaves as AL - - - # -@@ -302,7 +301,7 @@ $LB18Breaks = [$LB8Breaks $SP]; - # LB 19 - # x QU - $LB18NonBreaks $CM* $QUcm; --$CM+ $QUcm; -+^$CM+ $QUcm; - - # QU x - $QUcm .?; -@@ -331,7 +330,7 @@ $HLcm ($HYcm | $BAcm) [^$CB]?; - - # LB 22 - ($ALcm | $HLcm) $INcm; --$CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL -+^$CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL - $IDcm $INcm; - $INcm $INcm; - $NUcm $INcm; -@@ -341,7 +340,7 @@ $NUcm $INcm; - $IDcm $POcm; - $ALcm $NUcm; # includes $LB19 - $HLcm $NUcm; --$CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL -+^$CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL - $NUcm $ALcm; - $NUcm $HLcm; - -@@ -373,7 +372,7 @@ $PRcm ($JLcm | $JVcm | $JTcm | $H2cm | $H3cm); - # LB 28 Do not break between alphabetics - # - ($ALcm | $HLcm) ($ALcm | $HLcm); --$CM+ ($ALcm | $HLcm); # The $CM+ is from rule 10, an unattached CM is treated as AL -+^$CM+ ($ALcm | $HLcm); # The $CM+ is from rule 10, an unattached CM is treated as AL - - # LB 29 - $IScm ($ALcm | $NUcm); -@@ -383,7 +382,7 @@ $IScm ($ALcm | $NUcm); - # and opening or closing punctuation - # - ($ALcm | $HLcm | $NUcm) $OPcm; --$CM+ $OPcm; -+^$CM+ $OPcm; - $CLcm ($ALcm | $HLcm | $NUcm); - - # -@@ -393,32 +392,32 @@ $CLcm ($ALcm | $HLcm | $NUcm); - - !!reverse; - --$CM+ $ALPlus; --$CM+ $BA; --$CM+ $BB; --$CM+ $B2; --$CM+ $CL; --$CM+ $EX; --$CM+ $GL; --$CM+ $HL; --$CM+ $HY; --$CM+ $H2; --$CM+ $H3; --$CM+ $ID; --$CM+ $IN; --$CM+ $IS; --$CM+ $JL; --$CM+ $JV; --$CM+ $JT; --$CM+ $NS; --$CM+ $NU; --$CM+ $OP; --$CM+ $PO; --$CM+ $PR; --$CM+ $QU; --$CM+ $SY; --$CM+ $WJ; --$CM+; -+^$CM+ $ALPlus; -+^$CM+ $BA; -+^$CM+ $BB; -+^$CM+ $B2; -+^$CM+ $CL; -+^$CM+ $EX; -+^$CM+ $GL; -+^$CM+ $HL; -+^$CM+ $HY; -+^$CM+ $H2; -+^$CM+ $H3; -+^$CM+ $ID; -+^$CM+ $IN; -+^$CM+ $IS; -+^$CM+ $JL; -+^$CM+ $JV; -+^$CM+ $JT; -+^$CM+ $NS; -+^$CM+ $NU; -+^$CM+ $OP; -+^$CM+ $PO; -+^$CM+ $PR; -+^$CM+ $QU; -+^$CM+ $SY; -+^$CM+ $WJ; -+^$CM+; - - - # -@@ -468,7 +467,7 @@ $LF $CR; - # X $CM needs to behave like X, where X is not $SP or controls. - # $CM not covered by the above needs to behave like $AL - # Stick together any combining sequences that don't match other rules. --$CM+ $CAN_CM; -+^$CM+ $CAN_CM; - - - # LB 11 -@@ -606,8 +605,8 @@ $CM* ($ALPlus | $HL | $NU) $CM* ($CL | $SY)+ [^$SP]; - !!safe_reverse; - - # LB 7 --$CM+ [^$CM $BK $CR $LF $NL $ZW $SP]; --$CM+ $SP / .; -+^$CM+ [^$CM $BK $CR $LF $NL $ZW $SP]; -+^$CM+ $SP / .; - - # LB 9 - $SP+ $CM* $OP; --- -2.43.2 - - -From 14bfa224a89d8c94dbb76f54f888cde6bda6102f Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 26 Apr 2024 21:31:54 +1000 -Subject: Fix fullscreen mode - - -diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx -index 91fdbe0..29dcc9f 100644 ---- a/vcl/qt5/QtFrame.cxx -+++ b/vcl/qt5/QtFrame.cxx -@@ -309,7 +309,6 @@ QWindow* QtFrame::windowHandle() const +@@ -310,7 +310,6 @@ QWindow* QtFrame::windowHandle() const // no idea, why Qt::WA_NativeWindow breaks the menubar for EMSCRIPTEN break; case SystemEnvData::Platform::Invalid: @@ -719,7 +335,7 @@ index 91fdbe0..29dcc9f 100644 break; } return pChild->windowHandle(); -@@ -714,14 +713,14 @@ void QtFrame::ShowFullScreen(bool bFullScreen, sal_Int32 nScreen) +@@ -731,14 +730,14 @@ void QtFrame::ShowFullScreen(bool bFullScreen, sal_Int32 nScreen) m_nRestoreScreen = maGeometry.screen(); SetScreenNumber(m_bFullScreenSpanAll ? m_nRestoreScreen : nScreen); if (!m_bFullScreenSpanAll) @@ -737,6 +353,149 @@ index 91fdbe0..29dcc9f 100644 m_pTopLevel->setGeometry(m_aRestoreGeometry); } } +diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx +index 5f2a001..ad6c093 100644 +--- a/vcl/qt5/QtWidget.cxx ++++ b/vcl/qt5/QtWidget.cxx +@@ -184,9 +184,11 @@ void QtWidget::handleMouseButtonEvent(const QtFrame& rFrame, const QMouseEvent* + void QtWidget::mousePressEvent(QMouseEvent* pEvent) + { + handleMouseButtonEvent(m_rFrame, pEvent); ++#ifndef __HAIKU__ + if (m_rFrame.isPopup() + && !geometry().translated(geometry().topLeft() * -1).contains(pEvent->pos())) + closePopup(); ++#endif + } + + void QtWidget::mouseReleaseEvent(QMouseEvent* pEvent) { handleMouseButtonEvent(m_rFrame, pEvent); } -- -2.43.2 +2.45.2 + + +From 10a1c329aafc5d3eada890e6e8b253f99292ab10 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 27 Aug 2024 13:36:26 +1000 +Subject: Use Noto Sans as default font + + +diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx +index aafa524..492fbc5 100644 +--- a/unotools/source/config/fontcfg.cxx ++++ b/unotools/source/config/fontcfg.cxx +@@ -229,6 +229,11 @@ OUString DefaultFontConfiguration::getUserInterfaceFont( const LanguageTag& rLan + if( !aUIFont.isEmpty() ) + return aUIFont; + ++#ifdef __HAIKU__ ++ static constexpr OUStringLiteral HAIKU_UI_SANS = u"Noto Sans"; ++ return HAIKU_UI_SANS; ++#endif ++ + // fallback mechanism (either no configuration or no entry in configuration + + static constexpr OUStringLiteral FALLBACKFONT_UI_SANS = u"Andale Sans UI;Albany;Albany AMT;Tahoma;Arial Unicode MS;Arial;Nimbus Sans L;Bitstream Vera Sans;gnu-unifont;Interface User;Geneva;WarpSans;Dialog;Swiss;Lucida;Helvetica;Charcoal;Chicago;MS Sans Serif;Helv;Times;Times New Roman;Interface System"; +-- +2.45.2 + + +From 65fd0a008dc1ea08f5b6028916b5687fe116973f Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 27 Aug 2024 13:37:05 +1000 +Subject: Use system font + + +diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx +index 3a9df91..1ad50bc 100644 +--- a/vcl/source/app/settings.cxx ++++ b/vcl/source/app/settings.cxx +@@ -25,6 +25,12 @@ + #include + #endif + ++#ifdef __HAIKU__ ++#include ++#include ++#include ++#endif ++ + #include + #include + +@@ -645,10 +651,22 @@ void ImplStyleData::SetStandardStyles() + vcl::Font aStdFont( FAMILY_SWISS, Size( 0, 8 ) ); + aStdFont.SetCharSet( osl_getThreadTextEncoding() ); + aStdFont.SetWeight( WEIGHT_NORMAL ); ++#ifdef __HAIKU__ ++ if (be_app) { ++ font_family plainFontFamily; ++ font_style plainFontStyle; ++ be_plain_font->GetFamilyAndStyle(&plainFontFamily, &plainFontStyle); ++ aStdFont.SetFamilyName(OStringToOUString(std::string_view(plainFontFamily), osl_getThreadTextEncoding())); ++ aStdFont.SetStyleName(OStringToOUString(std::string_view(plainFontStyle), osl_getThreadTextEncoding())); ++ } else { ++ aStdFont.SetFamilyName("Noto Sans Display"); ++ } ++#else + if (!comphelper::IsFuzzing()) + aStdFont.SetFamilyName(utl::DefaultFontConfiguration::get().getUserInterfaceFont(LanguageTag(u"en"_ustr))); + else + aStdFont.SetFamilyName(u"Liberation Sans"_ustr); ++#endif + maAppFont = aStdFont; + maHelpFont = aStdFont; + maMenuFont = aStdFont; +-- +2.45.2 + + +From b5ca53b58e035cfea0cb0fb46578e827dadfd3c1 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 27 Aug 2024 20:57:22 +1000 +Subject: Don't use Cairo by default + + +diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx +index 6872fb0..a4d5143 100644 +--- a/vcl/qt5/QtInstance.cxx ++++ b/vcl/qt5/QtInstance.cxx +@@ -252,7 +252,11 @@ OUString QtInstance::constructToolkitID(std::u16string_view sTKname) + + QtInstance::QtInstance(std::unique_ptr& pQApp) + : SalGenericInstance(std::make_unique()) ++#ifdef __HAIKU__ ++ , m_bUseCairo(nullptr != getenv("SAL_VCL_QT_USE_CAIRO")) ++#else + , m_bUseCairo(nullptr == getenv("SAL_VCL_QT_USE_QFONT")) ++#endif + , m_pTimer(nullptr) + , m_bSleeping(false) + , m_pQApplication(std::move(pQApp)) +-- +2.45.2 + + +From 1f765f20991f98d2098336c01372070b12b5c15a Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 27 Aug 2024 20:57:53 +1000 +Subject: Add alias for SIGIOT signal + + +diff --git a/sal/osl/unx/signal.cxx b/sal/osl/unx/signal.cxx +index 463d051..86fd640 100644 +--- a/sal/osl/unx/signal.cxx ++++ b/sal/osl/unx/signal.cxx +@@ -48,6 +48,10 @@ + #include + #include + ++#ifdef __HAIKU__ ++#define SIGIOT SIGABRT ++#endif ++ + namespace + { + extern "C" using Handler1_t = void (*)(int); +-- +2.45.2