LibreOffice: bump version, switch to Qt6

This commit is contained in:
Gerasim Troeglazov
2022-05-06 15:06:43 +10:00
parent 73f4a19f16
commit daaa933cd0
2 changed files with 324 additions and 177 deletions

View File

@@ -15,27 +15,30 @@ and Open Source office suite on the market:
- Base (databases)
- Math (formula editing)"
HOMEPAGE="https://www.libreoffice.org/"
COPYRIGHT="2000-2021 LibreOffice contributors"
COPYRIGHT="2000-2022 LibreOffice contributors"
LICENSE="MPL v2.0"
REVISION="4"
REVISION="1"
SOURCE_URI="https://github.com/LibreOffice/core/archive/libreoffice-$portVersion.tar.gz"
SOURCE_DIR="core-libreoffice-$portVersion"
CHECKSUM_SHA256="e5deb8fd899e9018a4e21af04a2f34ed1e7a11e13563ef920a52e504d9de0f1b"
CHECKSUM_SHA256="508bee0d141f363eaac5cc6e0741fc4be2523333548c61980eeb80dbeb47e92d"
SOURCE_URI_2="https://github.com/LibreOffice/translations/archive/libreoffice-$portVersion.tar.gz"
CHECKSUM_SHA256_2="8792199a3cbab8a9bde90a9ed6026db2631b4b0b6908e29529f356164d072a88"
CHECKSUM_SHA256_2="66395e00a1f6fa996603b08e1a67b10352c23d10b7dfeece0754c434feadfa5b"
SOURCE_DIR_2="translations-libreoffice-$portVersion"
SOURCE_FILENAME_2="translations-libreoffice-$portVersion.tar.gz"
SOURCE_URI_3="https://dev-www.libreoffice.org/src/dtoa-20180411.tgz#noarchive"
CHECKSUM_SHA256_3="0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4"
srcGitRevision4="cd5a5ee2cc0e3b3a62a5827d22035752ec7813a3"
SOURCE_URI_4="https://github.com/threedeyes/LibreOfficeLauncher/archive/$srcGitRevision4.tar.gz"
CHECKSUM_SHA256_4="5314962ca770369398599e175dc2c35c685d3fc968c9894390490c737036e528"
SOURCE_DIR_4="LibreOfficeLauncher-$srcGitRevision4"
SOURCE_FILENAME_4="LibreOfficeLauncher-$srcGitRevision4.tar.gz"
SOURCE_URI_4="https://dev-www.libreoffice.org/src/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz#noarchive"
CHECKSUM_SHA256_4="471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e"
srcGitRevision5="cd5a5ee2cc0e3b3a62a5827d22035752ec7813a3"
SOURCE_URI_5="https://github.com/threedeyes/LibreOfficeLauncher/archive/$srcGitRevision5.tar.gz"
CHECKSUM_SHA256_5="5314962ca770369398599e175dc2c35c685d3fc968c9894390490c737036e528"
SOURCE_DIR_5="LibreOfficeLauncher-$srcGitRevision5"
SOURCE_FILENAME_5="LibreOfficeLauncher-$srcGitRevision5.tar.gz"
PATCHES="libreoffice-$portVersion.patchset"
ADDITIONAL_FILES="
@@ -89,13 +92,6 @@ REQUIRES="
lib:libicuuc$secondaryArchSuffix >= 66
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5KIOFileWidgets$secondaryArchSuffix
lib:libKF5KIOWidgets$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:liblangtag$secondaryArchSuffix
lib:liblber_2.4$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
@@ -111,16 +107,15 @@ REQUIRES="
lib:libnssutil3$secondaryArchSuffix
lib:libnumbertext_1.0$secondaryArchSuffix
lib:libodfgen_0.1$secondaryArchSuffix
lib:liborcus_0.16$secondaryArchSuffix
lib:liborcus_0.17$secondaryArchSuffix
lib:libpagemaker_0.0$secondaryArchSuffix
lib:libplc4$secondaryArchSuffix
lib:libplds4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpoppler$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libqxp_0.0$secondaryArchSuffix
lib:libraptor2$secondaryArchSuffix
lib:librdf$secondaryArchSuffix
@@ -167,6 +162,7 @@ done
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
unixodbc${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
devel:glm
devel:libabw_0.1$secondaryArchSuffix
devel:libboost_date_time$secondaryArchSuffix >= $boostMinimumVersion
@@ -196,13 +192,6 @@ BUILD_REQUIRES="
devel:libhyphen$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix >= 66
devel:libjpeg$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5KIOFileWidgets$secondaryArchSuffix
devel:libKF5KIOWidgets$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:liblangtag$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
devel:libldap$secondaryArchSuffix
@@ -215,9 +204,10 @@ BUILD_REQUIRES="
devel:libnss3$secondaryArchSuffix
devel:libnumbertext_1.0$secondaryArchSuffix
devel:libodfgen_0.1$secondaryArchSuffix
devel:liborcus_0.16$secondaryArchSuffix
devel:liborcus_0.17$secondaryArchSuffix
devel:libpagemaker_0.0$secondaryArchSuffix
devel:libpoppler$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libqrcodegen$secondaryArchSuffix
devel:libqxp_0.0$secondaryArchSuffix
devel:libraptor2$secondaryArchSuffix
@@ -236,7 +226,7 @@ BUILD_REQUIRES="
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzmf_0.0$secondaryArchSuffix
devel:mdds >= 1.5
devel:mdds >= 2
"
BUILD_PREREQUIRES="
cmd:aclocal
@@ -266,17 +256,11 @@ BUILD_PREREQUIRES="
cmd:zip
"
PATCH()
{
# disable tooltips as they crash libreoffice currently
cd officecfg/registry/schema/org/openoffice/Office
sed -i '/Activates the Tip/{n;n;n;s/true/false/}' Common.xcs
}
BUILD()
{
mkdir -p external/tarballs
cp $sourceDir3/dtoa-20180411.tgz external/tarballs
cp $sourceDir4/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz external/tarballs
rm -rf translations
ln -s $sourceDir2 translations
@@ -287,8 +271,7 @@ BUILD()
./autogen.sh \
--with-distro=LibreOfficeHaiku \
--enable-kf5 \
--enable-qt5 \
--enable-qt6 \
--enable-release-build \
--enable-readonly-installset \
--enable-python=no \
@@ -311,6 +294,7 @@ BUILD()
--with-system-cairo \
\
--without-doxygen \
--without-system-cuckoo \
--without-helppack-integration \
--without-java \
--without-system-jars \
@@ -318,7 +302,7 @@ BUILD()
make $jobArgs build-nocheck
pushd $sourceDir4/src
pushd $sourceDir5/src
make
popd
}
@@ -329,7 +313,7 @@ INSTALL()
mkdir -p $appDir
cp -r instdir/* $appDir
mv $appDir/program/soffice.bin $appDir/program/LibreOffice
mv $sourceDir4/src/LibreOffice\ {Calc,Database,Draw,Impress,Math,Writer} $appDir
cp $sourceDir5/src/LibreOffice\ {Calc,Database,Draw,Impress,Math,Writer} $appDir
# make sure we do not copy default profile
rm -rf $appDir/user $appDir/share/xdg
@@ -382,6 +366,7 @@ INSTALL()
$portDir/additional-files/libreoffice.rdef.in > libreoffice.rdef
addResourcesToBinaries libreoffice.rdef $appDir/program/LibreOffice
mimeset -f $appDir/program/LibreOffice
addAppDeskbarSymlink $appDir/program/LibreOffice "LibreOffice/LibreOffice"
addAppDeskbarSymlink "$appDir/LibreOffice Calc" "LibreOffice/LibreOffice Calc"

View File

@@ -1,4 +1,4 @@
From 5ab0e302b5319c27292b49eeec9877582f1f77e3 Mon Sep 17 00:00:00 2001
From 545b9b2fc67913ced00ace53d5e8dbcd9e52d008 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Sat, 15 Feb 2020 14:52:59 +0300
Subject: Make Elementary the default on Haiku
@@ -22,17 +22,17 @@ index 253242b..6b55799 100644
2.30.2
From 1bedbb1c2eaa36d0e1d2b875b5e125c90045fd47 Mon Sep 17 00:00:00 2001
From 45761a551b443b5914acf38621d52d79dadb234a Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 7 Aug 2020 12:14:40 +0300
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 79d6dfa..6071ffe 100644
index 66c030d..6ba2c53 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1195,7 +1195,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize
@@ -1198,7 +1198,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize
#endif
appendDetails(u"", Localize(SV_APP_DEFAULT, bLocalize));
@@ -45,7 +45,7 @@ index 79d6dfa..6071ffe 100644
2.30.2
From 7c49d4b9b8e1b6669d0739318321c71e4e4c4efd Mon Sep 17 00:00:00 2001
From a3d4b12471969cbdcd9b781f2303f4d98d6981c4 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 24 Oct 2018 17:01:34 +0300
Subject: Identify Haiku in about window
@@ -88,17 +88,17 @@ index 0093f64..04042bd 100644
2.30.2
From dd1936ff5962dfcd89a0a9fd972d7675cc846623 Mon Sep 17 00:00:00 2001
From c9793d3936aec02b9a798d5ddb3fe89487106344 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Sat, 15 Feb 2020 15:04:53 +0300
Subject: Implement ShellExec on Haiku
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
index 87b78fe..7588126 100644
index ddfb2e6..24ce539 100644
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -171,6 +171,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
@@ -174,6 +174,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
aBuffer.append(" -R");
}
aBuffer.append(" --");
@@ -112,24 +112,24 @@ index 87b78fe..7588126 100644
2.30.2
From dfec624de1fc74f21a29fcb3b7ef322ceb90a845 Mon Sep 17 00:00:00 2001
From 9428ff3ea52169a10868ac660286ac41266fe006 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Sat, 20 Jul 2019 01:18:50 +0300
Subject: Comment out linking with pthread
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 4a96547..49f872b 100644
index 0cec2ec..f7cc49d 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -45,9 +45,9 @@ gb_CFLAGS := \
# At least libstdc++ (which is approximated here with !HAVE_LIBCXX) needs -pthread when including
# various C++ headers like <thread>, see <https://gcc.gnu.org/onlinedocs/gcc-8.3.0/libstdc++/manual/
# manual/using.html#manual.intro.using.flags>:
-ifeq ($(HAVE_LIBCXX),)
# At least libstdc++ needs -pthread when including various C++ headers like <thread>, see
# <https://gcc.gnu.org/onlinedocs/gcc-8.3.0/libstdc++/manual/manual/using.html
# #manual.intro.using.flags>:
-ifneq ($(HAVE_LIBSTDCPP),)
-gb_CXX_LINKFLAGS := -pthread
-endif
+#ifeq ($(HAVE_LIBCXX),)
+#ifneq ($(HAVE_LIBSTDCPP),)
+#gb_CXX_LINKFLAGS := -pthread
+#endif
@@ -139,14 +139,14 @@ index 4a96547..49f872b 100644
2.30.2
From baae0c588fc4ccf6d9e02ce1b615ce09fe56fb9c Mon Sep 17 00:00:00 2001
From 93b7f9b46921ecf493badb56ce91069b11a1af68 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 11 Aug 2019 11:47:40 +1000
Subject: Add XP_HAIKU defs for xmlsec
diff --git a/svl/Library_svl.mk b/svl/Library_svl.mk
index 17d64fe..5693089 100644
index 4e388ca..21a3ef4 100644
--- a/svl/Library_svl.mk
+++ b/svl/Library_svl.mk
@@ -184,6 +184,12 @@ $(eval $(call gb_Library_add_exception_objects,svl,\
@@ -183,7 +183,7 @@ index 450e19b..568ff83 100644
2.30.2
From ee13859a22ee1df556c28afe1d71f7e28ac88e85 Mon Sep 17 00:00:00 2001
From 979731d734363387abdb60aea01c16987d6f0f7d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 7 Aug 2020 12:37:45 +0300
Subject: Cast to boolean
@@ -274,17 +274,17 @@ index 8807927..c570173 100644
2.30.2
From c6d997672800388b766a33b1855c568935abe761 Mon Sep 17 00:00:00 2001
From fd03c28a70c4ca0f97f1c6220ffef90cd214784c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 8 Feb 2021 15:50:11 +1000
Subject: Use dpi=100 for qt5 backend
diff --git a/vcl/qt5/Qt5Graphics_GDI.cxx b/vcl/qt5/Qt5Graphics_GDI.cxx
index a2730be..9be0a6e 100644
--- a/vcl/qt5/Qt5Graphics_GDI.cxx
+++ b/vcl/qt5/Qt5Graphics_GDI.cxx
@@ -747,6 +747,10 @@ void Qt5Graphics::GetResolution(sal_Int32& rDPIX, sal_Int32& rDPIY)
diff --git a/vcl/qt5/QtGraphics_GDI.cxx b/vcl/qt5/QtGraphics_GDI.cxx
index f87de50..ae98b42 100644
--- a/vcl/qt5/QtGraphics_GDI.cxx
+++ b/vcl/qt5/QtGraphics_GDI.cxx
@@ -745,6 +745,10 @@ void QtGraphics::GetResolution(sal_Int32& rDPIX, sal_Int32& rDPIY)
rDPIX = rDPIY = sForceDPI.toInt32();
return;
}
@@ -293,50 +293,46 @@ index a2730be..9be0a6e 100644
+ return;
+#endif
if (!m_pFrame || !m_pFrame->GetQWidget()->window()->windowHandle())
if (!m_pFrame)
return;
--
2.30.2
From 117aec49dfca2c4be21e16539e40824fe1f91ea9 Mon Sep 17 00:00:00 2001
From 467bd4d0c1ba40b8a429d6f9b8ba5f6679f204fd Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 8 Feb 2021 15:52:13 +1000
Subject: Disable hidpi for Haiku
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
index bf8d529..e8dca9a 100644
--- a/vcl/qt5/Qt5Instance.cxx
+++ b/vcl/qt5/Qt5Instance.cxx
@@ -637,10 +637,11 @@ void Qt5Instance::MoveFakeCmdlineArgs(std::unique_ptr<char* []>& rFakeArgv,
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index 2470014..dbbe3b6 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -696,7 +696,7 @@ void QtInstance::MoveFakeCmdlineArgs(std::unique_ptr<char* []>& rFakeArgv,
std::unique_ptr<QApplication> Qt5Instance::CreateQApplication(int& nArgc, char** pArgv)
std::unique_ptr<QApplication> QtInstance::CreateQApplication(int& nArgc, char** pArgv)
{
+#ifndef __HAIKU__
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && !defined(__HAIKU__)
// for Qt 6, setting Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps
// is deprecated, they're always enabled
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
// for scaled icons in the native menus
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
-
+#endif
FreeableCStr session_manager;
if (getenv("SESSION_MANAGER") != nullptr)
{
--
2.30.2
From afd76d862076e22b2e042065bb9bf426687ffd67 Mon Sep 17 00:00:00 2001
From c86db72eb53e86a8347a50de3a2eb7a081c5a8f8 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 8 Feb 2021 21:47:12 +1000
Subject: Don't use fontconfig
diff --git a/vcl/qt5/Qt5Graphics_Text.cxx b/vcl/qt5/Qt5Graphics_Text.cxx
index b429485..0719575 100644
--- a/vcl/qt5/Qt5Graphics_Text.cxx
+++ b/vcl/qt5/Qt5Graphics_Text.cxx
@@ -111,10 +111,10 @@ void Qt5Graphics::GetDevFontList(PhysicalFontCollection* pPFC)
diff --git a/vcl/qt5/QtGraphics_Text.cxx b/vcl/qt5/QtGraphics_Text.cxx
index b509c2a..6668fb6 100644
--- a/vcl/qt5/QtGraphics_Text.cxx
+++ b/vcl/qt5/QtGraphics_Text.cxx
@@ -113,10 +113,10 @@ void QtGraphics::GetDevFontList(vcl::font::PhysicalFontCollection* pPFC)
const OString& rFileName = rMgr.getFontFileSysPath(aInfo.m_nID);
rFontManager.AddFontFile(rFileName, nFaceNum, nVariantNum, aInfo.m_nID, aDFA);
}
@@ -348,12 +344,12 @@ index b429485..0719575 100644
+#endif
for (auto& family : aFDB.families())
for (auto& style : aFDB.styles(family))
pPFC->Add(Qt5FontFace::fromQFontDatabase(family, style));
pPFC->Add(QtFontFace::fromQFontDatabase(family, style));
--
2.30.2
From 560b63239cf935af041793ed25e7115b9bb0337a Mon Sep 17 00:00:00 2001
From 6333a2858e9c4ec058a4890435006fc5535c6767 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 7 Aug 2020 12:47:56 +0300
Subject: Revert fstack-protector check removal in
@@ -361,22 +357,30 @@ Subject: Revert fstack-protector check removal in
diff --git a/config_host.mk.in b/config_host.mk.in
index 8bce24c..783a2f0 100644
index 02f6ec6..ac26d1d 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -266,6 +266,7 @@ export HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED=@HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZE
export HAVE_BROKEN_GCC_WSTRINGOP_OVERFLOW=@HAVE_BROKEN_GCC_WSTRINGOP_OVERFLOW@
export HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR=@HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR@
@@ -276,6 +276,7 @@ export HAVE_CXX20_ATOMIC_REF=@HAVE_CXX20_ATOMIC_REF@
export HAVE_DLLEXPORTINLINES=@HAVE_DLLEXPORTINLINES@
export HAVE_LO_CLANG_DLLEXPORTINLINES=@HAVE_LO_CLANG_DLLEXPORTINLINES@
export HAVE_GCC_AVX=@HAVE_GCC_AVX@
+export HAVE_GCC_STACK_PROTECTOR_STRONG=@HAVE_GCC_STACK_PROTECTOR_STRONG@
export HAVE_GCC_BUILTIN_ATOMIC=@HAVE_GCC_BUILTIN_ATOMIC@
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 b629d5a..828fa22 100644
index 2a08a4b..d4d3d47 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6993,6 +6993,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
@@ -1093,6 +1093,7 @@ haiku*)
using_x11=no
test_gtk3_kde5=no
test_kf5=yes
+ test_qt6=yes
enable_odk=no
enable_coinmp=no
enable_pdfium=no
@@ -7100,6 +7101,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
AC_MSG_RESULT([no])
fi
@@ -394,7 +398,7 @@ index b629d5a..828fa22 100644
AC_MSG_CHECKING([whether $CC_BASE supports atomic functions])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
int v = 0;
@@ -7130,6 +7141,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
@@ -7237,6 +7249,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
fi
AC_SUBST(HAVE_GCC_AVX)
@@ -402,11 +406,49 @@ index b629d5a..828fa22 100644
AC_SUBST(HAVE_GCC_BUILTIN_ATOMIC)
AC_SUBST(HAVE_GCC_STACK_CLASH_PROTECTION)
@@ -12957,16 +12970,16 @@ dnl ===================================================================
QT6_CFLAGS=""
QT6_LIBS=""
-QMAKE6="qmake"
+QMAKE6="qmake6"
MOC6="moc"
QT6_PLATFORMS_SRCDIR=""
if test \( "$test_qt6" = "yes" -a "$ENABLE_QT6" = "TRUE" \)
then
qt6_incdirs="$QT6INC /usr/include/qt6 /usr/include $x_includes"
- qt6_libdirs="$QT6LIB /usr/lib/qt6 /usr/lib $x_libraries"
+ 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"
@@ -12980,7 +12993,7 @@ then
if test -n "$QT6DIR"; then
AC_PATH_PROG(QMAKE6, [qmake], no, [$QT6DIR/bin])
else
- AC_PATH_PROGS(QMAKE6, [qmake-qt6 qmake], no)
+ AC_PATH_PROGS(QMAKE6, [qmake6], no)
fi
if test "$QMAKE6" = "no"; then
AC_MSG_ERROR([Qmake not found. Please specify the root of your Qt6 installation by exporting QT6DIR before running "configure".])
@@ -13057,7 +13070,7 @@ then
dnl Check for Meta Object Compiler
- AC_PATH_PROGS( MOC6, [moc-qt6 moc], no, [`dirname $qt6_libdir`/libexec:$QT6DIR/libexec:$PATH])
+ AC_PATH_PROGS( MOC6, [moc], no, [`dirname $qt6_libdir`/libexec:/system/lib/Qt6:$QT6DIR/libexec:$PATH])
if test "$MOC6" = "no"; then
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 09ca90a..9248195 100644
index 589c9ee..0cf6a91 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -62,7 +62,7 @@ gb_CFLAGS_COMMON := \
@@ -70,7 +70,7 @@ gb_CFLAGS_COMMON := \
-fmessage-length=0 \
-fno-common \
-pipe \
@@ -415,7 +457,7 @@ index 09ca90a..9248195 100644
$(if $(gb_COLOR),-fdiagnostics-color=always) \
gb_CXXFLAGS_COMMON := \
@@ -79,7 +79,7 @@ gb_CXXFLAGS_COMMON := \
@@ -88,7 +88,7 @@ gb_CXXFLAGS_COMMON := \
-fmessage-length=0 \
-fno-common \
-pipe \
@@ -424,7 +466,7 @@ index 09ca90a..9248195 100644
$(if $(gb_COLOR),-fdiagnostics-color=always) \
ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE)
@@ -144,7 +144,7 @@ endif
@@ -153,7 +153,7 @@ endif
gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden
gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX)
@@ -437,109 +479,229 @@ index 09ca90a..9248195 100644
2.30.2
From bf6d867eb750ebe9e5d1b3464f0b775807a71172 Mon Sep 17 00:00:00 2001
From ec074e2ab5fd388c2aaf9e860c043036c81aa0a8 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 20 Aug 2021 23:33:13 +1000
Subject: Revert Qt::Popup window handling
diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx
index 02032d1..e0000bd 100644
--- a/vcl/qt5/Qt5Frame.cxx
+++ b/vcl/qt5/Qt5Frame.cxx
@@ -144,7 +144,7 @@ Qt5Frame::Qt5Frame(Qt5Frame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
index f6f4b6c..d5df2a2 100644
--- a/vcl/qt5/QtFrame.cxx
+++ b/vcl/qt5/QtFrame.cxx
@@ -114,10 +114,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
, m_bDefaultPos(true)
, m_bFullScreen(false)
, m_bFullScreenSpanAll(false)
-#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && QT5_USING_X11) \
- || (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT6_USING_X11)
, m_nKeyModifiers(ModKeyFlags::NONE)
-#endif
, m_nInputLanguage(LANGUAGE_DONTKNOW)
{
QtInstance* pInst = static_cast<QtInstance*>(GetSalData()->m_pInstance);
@@ -146,7 +143,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
else if ((nStyle & SalFrameStyleFlags::FLOAT)
&& (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION))
aWinFlags |= Qt::Tool | Qt::FramelessWindowHint;
aWinFlags = Qt::Tool | Qt::FramelessWindowHint;
- else if (nStyle & SalFrameStyleFlags::TOOLTIP)
+ else if (nStyle & (nStyle & SalFrameStyleFlags::FLOAT | SalFrameStyleFlags::TOOLTIP))
aWinFlags |= Qt::ToolTip;
else if ((nStyle & SalFrameStyleFlags::FLOAT)
&& !(nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION))
diff --git a/vcl/qt5/Qt5Widget.cxx b/vcl/qt5/Qt5Widget.cxx
index ebb11ce..dcbc2cc 100644
--- a/vcl/qt5/Qt5Widget.cxx
+++ b/vcl/qt5/Qt5Widget.cxx
@@ -177,14 +177,7 @@ void Qt5Widget::handleMouseButtonEvent(const Qt5Frame& rFrame, const QMouseEvent
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.
@@ -203,6 +200,7 @@ void QtFrame::screenChanged(QScreen*) { m_pQWidget->fakeResize(); }
void QtFrame::FillSystemEnvData(SystemEnvData& rData, sal_IntPtr pWindow, QWidget* pWidget)
{
+#ifndef __HAIKU__
if (QGuiApplication::platformName() == "wayland")
rData.platform = SystemEnvData::Platform::Wayland;
else if (QGuiApplication::platformName() == "xcb")
@@ -214,7 +212,7 @@ void QtFrame::FillSystemEnvData(SystemEnvData& rData, sal_IntPtr pWindow, QWidge
"Unsupported qt VCL platform: " << toOUString(QGuiApplication::platformName()));
std::abort();
}
-
+#endif
rData.toolkit = SystemEnvData::Toolkit::Qt;
rData.aShellWindow = pWindow;
rData.pWidget = pWidget;
diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx
index 663e9b5..ab5d6f8 100644
--- a/vcl/qt5/QtWidget.cxx
+++ b/vcl/qt5/QtWidget.cxx
@@ -187,13 +187,7 @@ void QtWidget::handleMouseButtonEvent(const QtFrame& rFrame, const QMouseEvent*
rFrame.CallCallback(nEventType, &aEvent);
}
-void Qt5Widget::mousePressEvent(QMouseEvent* pEvent)
-void QtWidget::mousePressEvent(QMouseEvent* pEvent)
-{
- if ((windowFlags() & Qt::Popup)
- handleMousePressEvent(m_rFrame, pEvent);
- if (m_rFrame.isPopup()
- && !geometry().translated(geometry().topLeft() * -1).contains(pEvent->pos()))
- close();
- else
- handleMousePressEvent(m_rFrame, pEvent);
- closePopup();
-}
+void Qt5Widget::mousePressEvent(QMouseEvent* pEvent) { handleMousePressEvent(m_rFrame, pEvent); }
+void QtWidget::mousePressEvent(QMouseEvent* pEvent) { handleMousePressEvent(m_rFrame, pEvent); }
void Qt5Widget::mouseReleaseEvent(QMouseEvent* pEvent)
{
@@ -608,8 +601,7 @@ Qt5Widget::Qt5Widget(Qt5Frame& rFrame, Qt::WindowFlags f)
{
create();
setMouseTracking(true);
- if (!(f & Qt::Popup))
- setFocusPolicy(Qt::StrongFocus);
+ setFocusPolicy(Qt::StrongFocus);
}
void QtWidget::mouseReleaseEvent(QMouseEvent* pEvent) { handleMouseReleaseEvent(m_rFrame, pEvent); }
static ExtTextInputAttr lcl_MapUndrelineStyle(QTextCharFormat::UnderlineStyle us)
--
2.30.2
From 1123e2cb9c5754f813da94ddfbf36fe0d35dfcbb Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Tue, 14 Sep 2021 12:20:48 +0200
Subject: Adapt to Bison 3.8 internal yyn -> yyrule rename
From 3e571b370d740b473215ed077f05843a64bec056 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 May 2022 21:46:48 +1000
Subject: Use Noto Sans as default font
see
<https://git.savannah.gnu.org/cgit/bison.git/commit/?id=f30067ed51f23802fc91761ede1506dfa72b2865>
"glr2.cc: log the execution of deferred actions" including "Rename argument yyn
as yyrule for clarity."
YYBISON was defined as 1 rather than as a representation of the Bison version
prior to
<https://git.savannah.gnu.org/cgit/bison.git/commit/?id=21c147b6e5372563b7c4741deadaddb9354f4b09>
"yacc.c: provide the Bison version as an integral macro", which shouldn't be a
problem here. And YYBISON is apparently completely undefined with
/usr/bin/bison on macOS.
(The preceding comment always mentioned "yyi" and "yyrmap" in apparent mismatch
with the actually used "yyn" and "yyr1" ever since
c25ec0608a167bcf1d891043f02273761c351701 "initial import", so just leave it
untouched.)
Change-Id: I4f901407aa21ed4abec84e661d813ee7599f02f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122082
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit 45227d9b79dc4f2a2aa6874cd4e3c02b7934b197)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122069
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/connectivity/source/parse/sqlbison.y b/connectivity/source/parse/sqlbison.y
index d14f36e..c4be0bc 100644
--- a/connectivity/source/parse/sqlbison.y
+++ b/connectivity/source/parse/sqlbison.y
@@ -74,9 +74,15 @@ inline connectivity::OSQLInternalNode* newNode(const OUString& _newValue,
diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx
index ef94981..1747a8e 100644
--- a/unotools/source/config/fontcfg.cxx
+++ b/unotools/source/config/fontcfg.cxx
@@ -225,6 +225,11 @@ OUString DefaultFontConfiguration::getUserInterfaceFont( const LanguageTag& rLan
if( aLanguageTag.isSystemLocale() )
aLanguageTag = SvtSysLocale().GetUILanguageTag();
// yyi is the internal number of the rule that is currently being reduced
// This can be mapped to external rule number via the yyrmap.
+#if defined YYBISON && YYBISON >= 30800
+#define SQL_NEW_RULE newNode("", SQLNodeType::Rule, yyr1[yyrule])
+#define SQL_NEW_LISTRULE newNode("", SQLNodeType::ListRule, yyr1[yyrule])
+#define SQL_NEW_COMMALISTRULE newNode("", SQLNodeType::CommaListRule, yyr1[yyrule])
+#else
#define SQL_NEW_RULE newNode("", SQLNodeType::Rule, yyr1[yyn])
#define SQL_NEW_LISTRULE newNode("", SQLNodeType::ListRule, yyr1[yyn])
#define SQL_NEW_COMMALISTRULE newNode("", SQLNodeType::CommaListRule, yyr1[yyn])
+#ifdef __HAIKU__
+ static constexpr OUStringLiteral HAIKU_UI_SANS = u"Noto Sans Display";
+ return HAIKU_UI_SANS;
+#endif
+
OUString aUIFont = getDefaultFont( aLanguageTag, DefaultFontType::UI_SANS );
extern connectivity::OSQLParser* xxx_pGLOBAL_SQLPARSER;
if( !aUIFont.isEmpty() )
--
2.30.2
From b99b61518befc06bf39a55213bcbdf38e7cd3fe9 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 May 2022 21:48:43 +1000
Subject: Style tune
diff --git a/vcl/qt5/QtGraphics_Controls.cxx b/vcl/qt5/QtGraphics_Controls.cxx
index e6e3d82..9a05d5a 100644
--- a/vcl/qt5/QtGraphics_Controls.cxx
+++ b/vcl/qt5/QtGraphics_Controls.cxx
@@ -1010,6 +1010,8 @@ bool QtGraphics_Controls::getNativeControlRegion(ControlType type, ControlPart p
QSize aMinSize = upscale(sizeFromContents(QStyle::CT_TabBarTab, &sot,
downscale(contentRect.size(), Round::Ceil)),
Round::Ceil);
+ aMinSize.rwidth() += 12;
+ aMinSize.rheight() += 2;
contentRect.setSize(aMinSize);
boundingRect = contentRect;
retVal = true;
--
2.30.2
From ca1309b8dee8425d2fb7656a7237f626de9b07d4 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 May 2022 21:49:34 +1000
Subject: Reorder vcl plugins for Haiku
diff --git a/vcl/source/app/salplug.cxx b/vcl/source/app/salplug.cxx
index 7c2a91c..a3b2726 100644
--- a/vcl/source/app/salplug.cxx
+++ b/vcl/source/app/salplug.cxx
@@ -282,9 +282,13 @@ SalInstance *CreateSalInstance()
#else
#ifdef MACOSX
"osx"
+#else
+#ifdef __HAIKU__
+ "qt6", "kf5", "qt5"
#else
"gtk3", "kf5", "gen"
#endif
+#endif
#endif
};
--
2.30.2
From 7f4ae9583a7146d4eec32069323ab49ee14c3fbb Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 4 May 2022 21:50:08 +1000
Subject: FIx build for Qt6
diff --git a/vcl/inc/qt5/QtFrame.hxx b/vcl/inc/qt5/QtFrame.hxx
index 23a4fd9..f9c71e5 100644
--- a/vcl/inc/qt5/QtFrame.hxx
+++ b/vcl/inc/qt5/QtFrame.hxx
@@ -104,10 +104,7 @@ class VCLPLUG_QT_PUBLIC QtFrame : public QObject, public SalFrame
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && QT5_USING_X11
ScreenSaverInhibitor m_ScreenSaverInhibitor;
#endif
-#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && QT5_USING_X11) \
- || (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT6_USING_X11)
ModKeyFlags m_nKeyModifiers;
-#endif
LanguageType m_nInputLanguage;
--
2.30.2
From 719e9c2ab90079e26c5f1c7eead92b4b01193f10 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 6 May 2022 10:55:46 +1000
Subject: Use system font
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 0e64a42..02c03a4 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -25,6 +25,12 @@
#include <win/svsys.h>
#endif
+#ifdef __HAIKU__
+#include <kernel/image.h>
+#include <Application.h>
+#include <Font.h>
+#endif
+
#include <comphelper/processfactory.hxx>
#include <rtl/bootstrap.hxx>
@@ -622,13 +628,26 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) :
void ImplStyleData::SetStandardStyles()
{
- vcl::Font aStdFont( FAMILY_SWISS, Size( 0, 8 ) );
+ vcl::Font aStdFont( FAMILY_SWISS, Size( 0, 9 ) );
aStdFont.SetCharSet( osl_getThreadTextEncoding() );
aStdFont.SetWeight( WEIGHT_NORMAL );
+#ifdef __HAIKU__
+ if (be_app) {
+ font_family plainFontFamily;
+ font_style plainFontStyle;
+ BFont haikuPlainFont = *be_plain_font;
+ haikuPlainFont.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.30.2