mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
LibreOffice: bump version
This commit is contained in:
@@ -17,14 +17,15 @@ and Open Source office suite on the market:
|
||||
HOMEPAGE="https://www.libreoffice.org/"
|
||||
COPYRIGHT="2000-2023 LibreOffice contributors"
|
||||
LICENSE="MPL v2.0"
|
||||
REVISION="2"
|
||||
REVISION="1"
|
||||
|
||||
SOURCE_URI="https://github.com/LibreOffice/core/archive/libreoffice-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="46c8bf9538bbf9b5e7d23775b4a55a89e341b11ff5c605dbdad2d27374600a16"
|
||||
SOURCE_DIR="core-libreoffice-$portVersion"
|
||||
CHECKSUM_SHA256="fa47398c89ff3fba92a21e2f8c681413b0a5b419b0088db43241d5e8249b883b"
|
||||
SOURCE_FILENAME="core-libreoffice-$portVersion.tar.gz"
|
||||
|
||||
SOURCE_URI_2="https://github.com/LibreOffice/translations/archive/libreoffice-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256_2="f78ef6d348ee4c7f365f00419867b3f395e9525bfd71189f7c265c74b1307d1a"
|
||||
CHECKSUM_SHA256_2="e45b7e546b6d6044d5a1735d709a08c25c76fb6cb2421aa701d8a7fdfc72b039"
|
||||
SOURCE_DIR_2="translations-libreoffice-$portVersion"
|
||||
SOURCE_FILENAME_2="translations-libreoffice-$portVersion.tar.gz"
|
||||
|
||||
@@ -34,11 +35,17 @@ CHECKSUM_SHA256_3="0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e71
|
||||
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"
|
||||
SOURCE_URI_5="https://dev-www.libreoffice.org/src/dragonbox-1.1.3.tar.gz#noarchive"
|
||||
CHECKSUM_SHA256_5="09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384"
|
||||
|
||||
SOURCE_URI_6="https://dev-www.libreoffice.org/src/frozen-1.1.1.tar.gz#noarchive"
|
||||
CHECKSUM_SHA256_6="f7c7075750e8fceeac081e9ef01944f221b36d9725beac8681cbd2838d26be45"
|
||||
|
||||
srcGitRevision7="cd5a5ee2cc0e3b3a62a5827d22035752ec7813a3"
|
||||
SOURCE_URI_7="https://github.com/threedeyes/LibreOfficeLauncher/archive/$srcGitRevision7.tar.gz"
|
||||
CHECKSUM_SHA256_7="5314962ca770369398599e175dc2c35c685d3fc968c9894390490c737036e528"
|
||||
SOURCE_DIR_7="LibreOfficeLauncher-$srcGitRevision7"
|
||||
SOURCE_FILENAME_7="LibreOfficeLauncher-$srcGitRevision7.tar.gz"
|
||||
|
||||
PATCHES="libreoffice-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="
|
||||
@@ -51,7 +58,7 @@ POST_INSTALL_SCRIPTS="$relativePostInstallDir/create_buildid.sh"
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="!x86"
|
||||
|
||||
boostMinimumVersion=1.70.0
|
||||
boostMinimumVersion=1.83.0
|
||||
libreofficeLanguages="af ar be bg bn br brx bs ca ca-valencia cs cy da de dsb el en-GB en-ZA eo es et eu fa fi fr fy ga gd gl he hi hr hu id is it ja ka kk kmr-Latn ko lb lt lv mk mn nb ne nl nn pl pt pt-BR ro ru sa-IN sd sk sl sq sr sr-Latn sv szl tg th tr tt ug uk uz vi zh-CN zh-TW"
|
||||
|
||||
PROVIDES="
|
||||
@@ -66,7 +73,6 @@ 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.5$secondaryArchSuffix
|
||||
@@ -107,19 +113,19 @@ REQUIRES="
|
||||
lib:libnssutil3$secondaryArchSuffix
|
||||
lib:libnumbertext_1.0$secondaryArchSuffix
|
||||
lib:libodfgen_0.1$secondaryArchSuffix
|
||||
lib:liborcus_0.17$secondaryArchSuffix
|
||||
lib:liborcus_0.18$secondaryArchSuffix
|
||||
lib:libpagemaker_0.0$secondaryArchSuffix
|
||||
lib:libplc4$secondaryArchSuffix
|
||||
lib:libplds4$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libpoppler$secondaryArchSuffix
|
||||
lib:libpoppler_qt6$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
lib:libqxp_0.0$secondaryArchSuffix
|
||||
lib:libraptor2$secondaryArchSuffix
|
||||
lib:librdf$secondaryArchSuffix
|
||||
lib:libreadline$secondaryArchSuffix >= 7
|
||||
lib:libreadline$secondaryArchSuffix
|
||||
lib:librevenge_0.0$secondaryArchSuffix
|
||||
lib:librevenge_stream_0.0$secondaryArchSuffix
|
||||
lib:libsmime3$secondaryArchSuffix
|
||||
@@ -128,6 +134,7 @@ REQUIRES="
|
||||
lib:libstaroffice_0.0$secondaryArchSuffix
|
||||
lib:libuuid$secondaryArchSuffix
|
||||
lib:libvisio_0.1$secondaryArchSuffix
|
||||
lib:libwebp$secondaryArchSuffix
|
||||
lib:libwpd_0.10$secondaryArchSuffix
|
||||
lib:libwpg_0.3$secondaryArchSuffix
|
||||
lib:libwps_0.4$secondaryArchSuffix
|
||||
@@ -170,7 +177,6 @@ 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
|
||||
@@ -204,9 +210,9 @@ BUILD_REQUIRES="
|
||||
devel:libnss3$secondaryArchSuffix
|
||||
devel:libnumbertext_1.0$secondaryArchSuffix
|
||||
devel:libodfgen_0.1$secondaryArchSuffix
|
||||
devel:liborcus_0.17$secondaryArchSuffix
|
||||
devel:liborcus_0.18$secondaryArchSuffix
|
||||
devel:libpagemaker_0.0$secondaryArchSuffix
|
||||
devel:libpoppler$secondaryArchSuffix
|
||||
devel:libpoppler_qt6$secondaryArchSuffix
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libqrcodegen$secondaryArchSuffix
|
||||
devel:libqxp_0.0$secondaryArchSuffix
|
||||
@@ -218,6 +224,7 @@ BUILD_REQUIRES="
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libstaroffice_0.0$secondaryArchSuffix
|
||||
devel:libvisio_0.1$secondaryArchSuffix
|
||||
devel:libwebp$secondaryArchSuffix
|
||||
devel:libwpd_0.10$secondaryArchSuffix
|
||||
devel:libwpg_0.3$secondaryArchSuffix
|
||||
devel:libwps_0.4$secondaryArchSuffix
|
||||
@@ -226,7 +233,7 @@ BUILD_REQUIRES="
|
||||
devel:libxslt$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libzmf_0.0$secondaryArchSuffix
|
||||
devel:mdds >= 2
|
||||
devel:mdds >= 2.1
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
@@ -242,13 +249,13 @@ BUILD_PREREQUIRES="
|
||||
cmd:git
|
||||
cmd:gperf
|
||||
cmd:grep
|
||||
cmd:kf5_config$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtool$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:patch
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:python3.9
|
||||
cmd:ucpp
|
||||
cmd:which
|
||||
cmd:xz
|
||||
@@ -257,9 +264,16 @@ BUILD_PREREQUIRES="
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export DISABLE_ASLR=1
|
||||
export CFLAGS="-fPIC"
|
||||
export CXXFLAGS=$CFLAGS
|
||||
export LDFLAGS=$CFLAGS
|
||||
|
||||
mkdir -p external/tarballs
|
||||
cp $sourceDir3/dtoa-20180411.tgz external/tarballs
|
||||
cp $sourceDir4/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz external/tarballs
|
||||
cp $sourceDir5/dragonbox-1.1.3.tar.gz external/tarballs
|
||||
cp $sourceDir6/frozen-1.1.1.tar.gz external/tarballs
|
||||
|
||||
rm -rf translations
|
||||
ln -s $sourceDir2 translations
|
||||
@@ -275,9 +289,12 @@ BUILD()
|
||||
--enable-readonly-installset \
|
||||
--enable-python=no \
|
||||
--enable-build-opensymbol \
|
||||
--enable-cairo-canvas=no \
|
||||
--enable-sal-log \
|
||||
\
|
||||
--disable-ccache \
|
||||
--disable-firebird-sdbc \
|
||||
--disable-postgresql-sdbc \
|
||||
--disable-fetch-external \
|
||||
--disable-dependency-tracking \
|
||||
--disable-zxing \
|
||||
@@ -286,17 +303,22 @@ BUILD()
|
||||
--with-vendor="HaikuPorts" \
|
||||
--with-system-libs \
|
||||
--with-tls="openssl" \
|
||||
--with-system-nss \
|
||||
--with-boost-libdir=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir \
|
||||
--with-system-ucpp \
|
||||
--with-system-cairo \
|
||||
--with-system-nss \
|
||||
--with-system-openssl \
|
||||
\
|
||||
--without-doxygen \
|
||||
--without-system-dragonbox \
|
||||
--without-system-frozen \
|
||||
--without-system-libfixmath \
|
||||
--without-helppack-integration \
|
||||
--without-java \
|
||||
--without-system-jars \
|
||||
--with-lang="$libreofficeLanguages"
|
||||
|
||||
make $jobArgs build-nocheck
|
||||
make $jobArgs
|
||||
|
||||
pushd $sourceDir5/src
|
||||
pushd $sourceDir7/src
|
||||
make
|
||||
popd
|
||||
}
|
||||
@@ -307,7 +329,7 @@ INSTALL()
|
||||
mkdir -p $appDir
|
||||
cp -r instdir/* $appDir
|
||||
mv $appDir/program/soffice.bin $appDir/program/LibreOffice
|
||||
cp $sourceDir5/src/LibreOffice\ {Calc,Database,Draw,Impress,Math,Writer} $appDir
|
||||
cp $sourceDir7/src/LibreOffice\ {Calc,Database,Draw,Impress,Math,Writer} $appDir
|
||||
|
||||
# make sure we do not copy default profile
|
||||
rm -rf $appDir/user $appDir/share/xdg
|
||||
@@ -1,707 +0,0 @@
|
||||
From 04a798df18355fb87edf035d42e5420e07c9c7d3 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
|
||||
|
||||
|
||||
diff --git a/vcl/source/app/IconThemeSelector.cxx b/vcl/source/app/IconThemeSelector.cxx
|
||||
index 5abb7b2..478a781 100644
|
||||
--- a/vcl/source/app/IconThemeSelector.cxx
|
||||
+++ b/vcl/source/app/IconThemeSelector.cxx
|
||||
@@ -56,6 +56,9 @@ IconThemeSelector::GetIconThemeForDesktopEnvironment(const OUString& desktopEnvi
|
||||
#ifdef _WIN32
|
||||
(void)desktopEnvironment;
|
||||
return "colibre";
|
||||
+#elif defined(__HAIKU__)
|
||||
+ (void)desktopEnvironment;
|
||||
+ return "elementary";
|
||||
#else
|
||||
OUString r;
|
||||
if ( desktopEnvironment.equalsIgnoreAsciiCase("plasma5") ||
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 57e7112c55054ab1ab9b482daa873f11c07f5913 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 66c030d..6ba2c53 100644
|
||||
--- a/vcl/source/app/svapp.cxx
|
||||
+++ b/vcl/source/app/svapp.cxx
|
||||
@@ -1198,7 +1198,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize
|
||||
#endif
|
||||
appendDetails(u"", Localize(SV_APP_DEFAULT, bLocalize));
|
||||
|
||||
-#if (defined LINUX || defined _WIN32 || defined MACOSX || defined __FreeBSD__)
|
||||
+#if (defined LINUX || defined _WIN32 || defined MACOSX || defined __FreeBSD__ || defined __HAIKU__)
|
||||
appendDetails(u"; ", SV_APP_VCLBACKEND + GetToolkitName());
|
||||
#endif
|
||||
}
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From bab5c7c19f76e34bc625110e4c6267de6ddb4633 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
|
||||
|
||||
|
||||
diff --git a/vcl/unx/generic/app/geninst.cxx b/vcl/unx/generic/app/geninst.cxx
|
||||
index 0093f64..04042bd 100644
|
||||
--- a/vcl/unx/generic/app/geninst.cxx
|
||||
+++ b/vcl/unx/generic/app/geninst.cxx
|
||||
@@ -26,6 +26,11 @@
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <sys/utsname.h>
|
||||
+# include <private/libroot/system_revision.h>
|
||||
+#endif
|
||||
+
|
||||
#include <config_features.h>
|
||||
#if HAVE_FEATURE_OPENGL
|
||||
#include <vcl/opengl/OpenGLContext.hxx>
|
||||
@@ -89,6 +94,16 @@ OUString SalGenericInstance::getOSVersion()
|
||||
}
|
||||
return OUString::createFromAscii( stName.sysname ) + " " +
|
||||
aKernelVer.copy( 0, nIndex );
|
||||
+#elif defined(__HAIKU__)
|
||||
+ struct utsname stName;
|
||||
+ if ( uname( &stName ) != 0 )
|
||||
+ return aKernelVer;
|
||||
+
|
||||
+ const char *haikuRevision = __get_haiku_revision();
|
||||
+ if (haikuRevision[0] != '\0')
|
||||
+ return OUString::createFromAscii( stName.sysname ) + " " + OUString::createFromAscii(haikuRevision);
|
||||
+
|
||||
+ return OUString::createFromAscii( stName.sysname );
|
||||
#else
|
||||
return aKernelVer;
|
||||
#endif
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From a730a4ba26d3194a2664e5ad5772e84a87331297 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 ddfb2e6..24ce539 100644
|
||||
--- a/shell/source/unix/exec/shellexec.cxx
|
||||
+++ b/shell/source/unix/exec/shellexec.cxx
|
||||
@@ -174,6 +174,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
|
||||
aBuffer.append(" -R");
|
||||
}
|
||||
aBuffer.append(" --");
|
||||
+
|
||||
+#elif __HAIKU__
|
||||
+ aBuffer.append("open");
|
||||
#else
|
||||
// Just use xdg-open on non-Mac
|
||||
aBuffer.append("xdg-open");
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 6784899788feb85ff2a4b3ed87166d5f2d9a1048 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 0cec2ec..f7cc49d 100644
|
||||
--- a/solenv/gbuild/platform/unxgcc.mk
|
||||
+++ b/solenv/gbuild/platform/unxgcc.mk
|
||||
@@ -45,9 +45,9 @@ gb_CFLAGS := \
|
||||
# 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
|
||||
+#ifneq ($(HAVE_LIBSTDCPP),)
|
||||
+#gb_CXX_LINKFLAGS := -pthread
|
||||
+#endif
|
||||
|
||||
gb_CXXFLAGS := \
|
||||
$(gb_CXXFLAGS_COMMON) \
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 1475d275cb3dacecf81accfda565ca7aee11aa88 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 6e79be4..3dfa25d 100644
|
||||
--- a/svl/Library_svl.mk
|
||||
+++ b/svl/Library_svl.mk
|
||||
@@ -183,6 +183,12 @@ $(eval $(call gb_Library_add_exception_objects,svl,\
|
||||
svl/source/uno/pathservice \
|
||||
))
|
||||
|
||||
+ifeq ($(OS),HAIKU)
|
||||
+$(eval $(call gb_Library_add_defs,svl,\
|
||||
+ -DXP_HAIKU=1 \
|
||||
+))
|
||||
+endif
|
||||
+
|
||||
ifeq ($(OS),WNT)
|
||||
$(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 450e19b..568ff83 100644
|
||||
--- a/xmlsecurity/Library_xsec_xmlsec.mk
|
||||
+++ b/xmlsecurity/Library_xsec_xmlsec.mk
|
||||
@@ -124,6 +124,12 @@ endif
|
||||
|
||||
else # !$(OS),WNT
|
||||
|
||||
+ifeq ($(OS),HAIKU)
|
||||
+$(eval $(call gb_Library_add_defs,xsec_xmlsec,\
|
||||
+ -DXP_HAIKU=1 \
|
||||
+))
|
||||
+endif
|
||||
+
|
||||
ifeq ($(SYSTEM_XMLSEC),)
|
||||
$(eval $(call gb_Library_add_libs,xsec_xmlsec,\
|
||||
$(call gb_UnpackedTarball_get_dir,xmlsec)/src/nss/.libs/libxmlsec1-nss.a \
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 0805f660b0304e7a9b6edbdec358babf6d646ab7 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
|
||||
|
||||
|
||||
diff --git a/vcl/source/filter/jpeg/jpegc.cxx b/vcl/source/filter/jpeg/jpegc.cxx
|
||||
index 8807927..c570173 100644
|
||||
--- a/vcl/source/filter/jpeg/jpegc.cxx
|
||||
+++ b/vcl/source/filter/jpeg/jpegc.cxx
|
||||
@@ -172,13 +172,13 @@ static void ReadJPEG(JpegStuff& rContext, JPEGReader* pJPEGReader, void* pInputS
|
||||
rContext.aOwner.set(&rContext.cinfo);
|
||||
jpeg_svstream_src(&rContext.cinfo, pInputStream);
|
||||
SourceManagerStruct *source = reinterpret_cast<SourceManagerStruct*>(rContext.cinfo.src);
|
||||
- jpeg_read_header(&rContext.cinfo, TRUE);
|
||||
+ jpeg_read_header(&rContext.cinfo, static_cast<boolean>(TRUE));
|
||||
|
||||
rContext.cinfo.scale_num = 1;
|
||||
rContext.cinfo.scale_denom = 1;
|
||||
rContext.cinfo.output_gamma = 1.0;
|
||||
- rContext.cinfo.raw_data_out = FALSE;
|
||||
- rContext.cinfo.quantize_colors = FALSE;
|
||||
+ rContext.cinfo.raw_data_out = static_cast<boolean>(FALSE);
|
||||
+ rContext.cinfo.quantize_colors = static_cast<boolean>(FALSE);
|
||||
|
||||
jpeg_calc_output_dimensions(&rContext.cinfo);
|
||||
|
||||
@@ -372,7 +372,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream,
|
||||
}
|
||||
|
||||
jpeg_set_defaults( &cinfo );
|
||||
- jpeg_set_quality( &cinfo, static_cast<int>(nQualityPercent), FALSE );
|
||||
+ jpeg_set_quality( &cinfo, static_cast<int>(nQualityPercent), static_cast<boolean>(FALSE) );
|
||||
|
||||
if (o3tl::convertsToAtMost(rPPI.getX(), 65535) && o3tl::convertsToAtMost(rPPI.getY(), 65535))
|
||||
{
|
||||
@@ -404,7 +404,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream,
|
||||
cinfo.comp_info[0].v_samp_factor = 2;
|
||||
}
|
||||
|
||||
- jpeg_start_compress( &cinfo, TRUE );
|
||||
+ jpeg_start_compress( &cinfo, static_cast<boolean>(TRUE) );
|
||||
|
||||
for( nY = 0; nY < nHeight; nY++ )
|
||||
{
|
||||
@@ -439,10 +439,10 @@ void Transform(void* pInputStream, void* pOutputStream, Degree10 nAngle)
|
||||
jvirt_barray_ptr* aSourceCoefArrays = nullptr;
|
||||
jvirt_barray_ptr* aDestinationCoefArrays = nullptr;
|
||||
|
||||
- aTransformOption.force_grayscale = FALSE;
|
||||
- aTransformOption.trim = FALSE;
|
||||
- aTransformOption.perfect = FALSE;
|
||||
- aTransformOption.crop = FALSE;
|
||||
+ aTransformOption.force_grayscale = static_cast<boolean>(FALSE);
|
||||
+ aTransformOption.trim = static_cast<boolean>(FALSE);
|
||||
+ aTransformOption.perfect = static_cast<boolean>(FALSE);
|
||||
+ aTransformOption.crop = static_cast<boolean>(FALSE);
|
||||
|
||||
// Angle to transform option
|
||||
// 90 Clockwise = 270 Counterclockwise
|
||||
@@ -471,7 +471,7 @@ void Transform(void* pInputStream, void* pOutputStream, Degree10 nAngle)
|
||||
aDestinationInfo.err->error_exit = errorExit;
|
||||
aDestinationInfo.err->output_message = outputMessage;
|
||||
|
||||
- aDestinationInfo.optimize_coding = TRUE;
|
||||
+ aDestinationInfo.optimize_coding = static_cast<boolean>(TRUE);
|
||||
|
||||
JpegDecompressOwner aDecompressOwner;
|
||||
JpegCompressOwner aCompressOwner;
|
||||
@@ -497,7 +497,7 @@ void Transform(void* pInputStream, void* pOutputStream, Degree10 nAngle)
|
||||
jpeg_svstream_src (&aSourceInfo, pInputStream);
|
||||
|
||||
jcopy_markers_setup(&aSourceInfo, aCopyOption);
|
||||
- jpeg_read_header(&aSourceInfo, TRUE);
|
||||
+ jpeg_read_header(&aSourceInfo, static_cast<boolean>(TRUE));
|
||||
jtransform_request_workspace(&aSourceInfo, &aTransformOption);
|
||||
|
||||
aSourceCoefArrays = jpeg_read_coefficients(&aSourceInfo);
|
||||
@@ -507,7 +507,7 @@ void Transform(void* pInputStream, void* pOutputStream, Degree10 nAngle)
|
||||
jpeg_svstream_dest (&aDestinationInfo, pOutputStream);
|
||||
|
||||
// Compute optimal Huffman coding tables instead of precomputed tables
|
||||
- aDestinationInfo.optimize_coding = TRUE;
|
||||
+ aDestinationInfo.optimize_coding = static_cast<boolean>(TRUE);
|
||||
jpeg_write_coefficients(&aDestinationInfo, aDestinationCoefArrays);
|
||||
jcopy_markers_execute(&aSourceInfo, &aDestinationInfo, aCopyOption);
|
||||
jtransform_execute_transformation(&aSourceInfo, &aDestinationInfo, aSourceCoefArrays, &aTransformOption);
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 84c98e91fffb3ece96a1d30fb10c3f26ca7c691a 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/QtGraphics_GDI.cxx b/vcl/qt5/QtGraphics_GDI.cxx
|
||||
index 6849a3b..b457e81 100644
|
||||
--- a/vcl/qt5/QtGraphics_GDI.cxx
|
||||
+++ b/vcl/qt5/QtGraphics_GDI.cxx
|
||||
@@ -711,6 +711,10 @@ void QtGraphics::GetResolution(sal_Int32& rDPIX, sal_Int32& rDPIY)
|
||||
rDPIX = rDPIY = sForceDPI.toInt32();
|
||||
return;
|
||||
}
|
||||
+#ifdef __HAIKU__
|
||||
+ rDPIX = rDPIY = 100;
|
||||
+ return;
|
||||
+#endif
|
||||
|
||||
if (!m_pFrame)
|
||||
return;
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From a5e842fbbedc068397b2e49cc1e94e3ba638bfae 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/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> QtInstance::CreateQApplication(int& nArgc, char** pArgv)
|
||||
{
|
||||
-#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);
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From e354fc5ace0a3271fa12e73fe3470e2231e83953 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/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);
|
||||
}
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
if (bUseFontconfig)
|
||||
SalGenericInstance::RegisterFontSubstitutors(pPFC);
|
||||
-
|
||||
+#endif
|
||||
for (auto& family : aFDB.families())
|
||||
for (auto& style : aFDB.styles(family))
|
||||
pPFC->Add(QtFontFace::fromQFontDatabase(family, style));
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 56edbe8cab1d4fd9d5c607d0c8365ccc855b7b2e 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
|
||||
9db11a8ab648f4d04e59e6bb94cd640f64835447
|
||||
|
||||
|
||||
diff --git a/config_host.mk.in b/config_host.mk.in
|
||||
index df934f4..65056ea 100644
|
||||
--- a/config_host.mk.in
|
||||
+++ b/config_host.mk.in
|
||||
@@ -275,6 +275,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 5430110..e57f0ec 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -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
|
||||
@@ -7119,6 +7120,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
+ AC_MSG_CHECKING([whether $CC_BASE supports -fstack-protector-strong])
|
||||
+ save_CFLAGS=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS -O0 -Werror -fstack-protector-strong"
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ char a[8]; a[7] = 0; ]])],[ HAVE_GCC_STACK_PROTECTOR_STRONG=TRUE ],[])
|
||||
+ CFLAGS=$save_CFLAGS
|
||||
+ if test "$HAVE_GCC_STACK_PROTECTOR_STRONG" = "TRUE"; then
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ fi
|
||||
+
|
||||
AC_MSG_CHECKING([whether $CC_BASE supports atomic functions])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
|
||||
int v = 0;
|
||||
@@ -7256,6 +7268,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)
|
||||
|
||||
@@ -12993,16 +13006,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"
|
||||
@@ -13016,7 +13029,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".])
|
||||
@@ -13093,7 +13106,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 589c9ee..0cf6a91 100644
|
||||
--- a/solenv/gbuild/platform/com_GCC_defs.mk
|
||||
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
|
||||
@@ -70,7 +70,7 @@ gb_CFLAGS_COMMON := \
|
||||
-fmessage-length=0 \
|
||||
-fno-common \
|
||||
-pipe \
|
||||
- $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \
|
||||
+ $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong) \
|
||||
$(if $(gb_COLOR),-fdiagnostics-color=always) \
|
||||
|
||||
gb_CXXFLAGS_COMMON := \
|
||||
@@ -88,7 +88,7 @@ gb_CXXFLAGS_COMMON := \
|
||||
-fmessage-length=0 \
|
||||
-fno-common \
|
||||
-pipe \
|
||||
- $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong) \
|
||||
+ $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong) \
|
||||
$(if $(gb_COLOR),-fdiagnostics-color=always) \
|
||||
|
||||
ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE)
|
||||
@@ -153,7 +153,7 @@ endif
|
||||
gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden
|
||||
gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX)
|
||||
|
||||
-gb_LinkTarget_LDFLAGS += $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong)
|
||||
+gb_LinkTarget_LDFLAGS += $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong)
|
||||
|
||||
ifneq ($(gb_ENABLE_PCH),)
|
||||
ifeq ($(COM_IS_CLANG),TRUE)
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 13c58262d4b09eb56eb39f7647664f066c9fa1ad 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/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
|
||||
index 6c5f3b7..05feec3 100644
|
||||
--- a/vcl/qt5/QtFrame.cxx
|
||||
+++ b/vcl/qt5/QtFrame.cxx
|
||||
@@ -117,10 +117,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);
|
||||
@@ -149,7 +146,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
|
||||
else if ((nStyle & SalFrameStyleFlags::FLOAT)
|
||||
&& (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION))
|
||||
aWinFlags = Qt::Tool | Qt::FramelessWindowHint;
|
||||
- else if (nStyle & SalFrameStyleFlags::TOOLTIP)
|
||||
+ else if (nStyle & (nStyle & SalFrameStyleFlags::FLOAT | SalFrameStyleFlags::TOOLTIP))
|
||||
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.
|
||||
@@ -206,6 +203,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")
|
||||
@@ -217,7 +215,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 8c545fd..a7d5e89 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 QtWidget::mousePressEvent(QMouseEvent* pEvent)
|
||||
-{
|
||||
- handleMousePressEvent(m_rFrame, pEvent);
|
||||
- if (m_rFrame.isPopup()
|
||||
- && !geometry().translated(geometry().topLeft() * -1).contains(pEvent->pos()))
|
||||
- closePopup();
|
||||
-}
|
||||
+void QtWidget::mousePressEvent(QMouseEvent* pEvent) { handleMousePressEvent(m_rFrame, pEvent); }
|
||||
|
||||
void QtWidget::mouseReleaseEvent(QMouseEvent* pEvent) { handleMouseReleaseEvent(m_rFrame, pEvent); }
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From f7138ae9f0712337a4eca5727b47ebe25814b6b5 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
|
||||
|
||||
|
||||
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();
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ static constexpr OUStringLiteral HAIKU_UI_SANS = u"Noto Sans Display";
|
||||
+ return HAIKU_UI_SANS;
|
||||
+#endif
|
||||
+
|
||||
OUString aUIFont = getDefaultFont( aLanguageTag, DefaultFontType::UI_SANS );
|
||||
|
||||
if( !aUIFont.isEmpty() )
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From dd049b9136fb5bec2195a76378656bbddb612891 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.37.3
|
||||
|
||||
|
||||
From cd831b40068b77dd798bb80db87f7d43a94ac8f2 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.37.3
|
||||
|
||||
|
||||
From 7e5b719fe7823a94771d07f8bc1fe94ec964e951 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.37.3
|
||||
|
||||
|
||||
From 56e125b0f82ad78fc9eb2ffed6e10655a6bb7377 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 186013e..5c6cba4 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.37.3
|
||||
|
||||
462
app-office/libreoffice/patches/libreoffice-7.6.2.1.patchset
Normal file
462
app-office/libreoffice/patches/libreoffice-7.6.2.1.patchset
Normal file
@@ -0,0 +1,462 @@
|
||||
From 80f2f59e1d6945023d70277087db3aed1bccaf1b 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
|
||||
|
||||
|
||||
diff --git a/vcl/source/app/IconThemeSelector.cxx b/vcl/source/app/IconThemeSelector.cxx
|
||||
index 6b8dfc0..3d557ad 100644
|
||||
--- a/vcl/source/app/IconThemeSelector.cxx
|
||||
+++ b/vcl/source/app/IconThemeSelector.cxx
|
||||
@@ -67,6 +67,9 @@ IconThemeSelector::GetIconThemeForDesktopEnvironment(const OUString& desktopEnvi
|
||||
return "colibre";
|
||||
else
|
||||
return "colibre_dark";
|
||||
+#elif defined(__HAIKU__)
|
||||
+ (void)desktopEnvironment;
|
||||
+ return "elementary";
|
||||
#else
|
||||
OUString r;
|
||||
if ( desktopEnvironment.equalsIgnoreAsciiCase("plasma5") ||
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From c8c1e803eda7036f2330bcd724dbd5b1ef56c3b4 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 6ee03f1..3c1653e 100644
|
||||
--- a/vcl/source/app/svapp.cxx
|
||||
+++ b/vcl/source/app/svapp.cxx
|
||||
@@ -1208,7 +1208,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize
|
||||
#endif
|
||||
appendDetails(u"", Localize(SV_APP_DEFAULT, bLocalize));
|
||||
|
||||
-#if (defined LINUX || defined _WIN32 || defined MACOSX || defined __FreeBSD__ || defined EMSCRIPTEN)
|
||||
+#if (defined LINUX || defined _WIN32 || defined MACOSX || defined __FreeBSD__ || defined EMSCRIPTEN || defined __HAIKU__)
|
||||
appendDetails(u"; ", SV_APP_VCLBACKEND + GetToolkitName());
|
||||
#endif
|
||||
}
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From f9391b7dcd11f833851db3b20982a6705e80c1d6 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
|
||||
|
||||
|
||||
diff --git a/vcl/unx/generic/app/geninst.cxx b/vcl/unx/generic/app/geninst.cxx
|
||||
index 191d87c..949155f 100644
|
||||
--- a/vcl/unx/generic/app/geninst.cxx
|
||||
+++ b/vcl/unx/generic/app/geninst.cxx
|
||||
@@ -26,6 +26,11 @@
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <sys/utsname.h>
|
||||
+# include <private/libroot/system_revision.h>
|
||||
+#endif
|
||||
+
|
||||
#include <config_features.h>
|
||||
#if HAVE_FEATURE_OPENGL
|
||||
#include <vcl/opengl/OpenGLContext.hxx>
|
||||
@@ -92,6 +97,16 @@ OUString SalGenericInstance::getOSVersion()
|
||||
#define xstr(s) str(s)
|
||||
aKernelVer = "Emscripten " xstr(__EMSCRIPTEN_major__)
|
||||
"." xstr(__EMSCRIPTEN_minor__) "." xstr(__EMSCRIPTEN_tiny__);
|
||||
+#elif defined(__HAIKU__)
|
||||
+ struct utsname stName;
|
||||
+ if ( uname( &stName ) != 0 )
|
||||
+ return aKernelVer;
|
||||
+
|
||||
+ const char *haikuRevision = __get_haiku_revision();
|
||||
+ if (haikuRevision[0] != '\0')
|
||||
+ return OUString::createFromAscii( stName.sysname ) + " " + OUString::createFromAscii(haikuRevision);
|
||||
+
|
||||
+ return OUString::createFromAscii( stName.sysname );
|
||||
#endif
|
||||
return aKernelVer;
|
||||
}
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From defb4cca11b9b148add1fbae739c5ef707a1369b 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 71137c7..a5fcd27 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
|
||||
aBuffer.append(" -R");
|
||||
}
|
||||
aBuffer.append(" --");
|
||||
+
|
||||
+#elif __HAIKU__
|
||||
+ aBuffer.append("open");
|
||||
#else
|
||||
// Just use xdg-open on non-Mac
|
||||
aBuffer.append("xdg-open");
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 56e2681a95e2b01e29b4256788efe24904905455 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 a67184b..4cadd7f 100644
|
||||
--- a/svl/Library_svl.mk
|
||||
+++ b/svl/Library_svl.mk
|
||||
@@ -182,6 +182,12 @@ $(eval $(call gb_Library_add_exception_objects,svl,\
|
||||
svl/source/uno/pathservice \
|
||||
))
|
||||
|
||||
+ifeq ($(OS),HAIKU)
|
||||
+$(eval $(call gb_Library_add_defs,svl,\
|
||||
+ -DXP_HAIKU=1 \
|
||||
+))
|
||||
+endif
|
||||
+
|
||||
ifeq ($(OS),WNT)
|
||||
$(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
|
||||
--- a/xmlsecurity/Library_xsec_xmlsec.mk
|
||||
+++ b/xmlsecurity/Library_xsec_xmlsec.mk
|
||||
@@ -130,6 +130,12 @@ endif
|
||||
|
||||
else # !$(OS),WNT
|
||||
|
||||
+ifeq ($(OS),HAIKU)
|
||||
+$(eval $(call gb_Library_add_defs,xsec_xmlsec,\
|
||||
+ -DXP_HAIKU=1 \
|
||||
+))
|
||||
+endif
|
||||
+
|
||||
ifeq ($(SYSTEM_XMLSEC),)
|
||||
$(eval $(call gb_Library_add_libs,xsec_xmlsec,\
|
||||
$(call gb_UnpackedTarball_get_dir,xmlsec)/src/.libs/libxmlsec1.a \
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 8f0768fc0e9e14daab895e5878cbcb1afaabdfd5 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/QtGraphics_Text.cxx b/vcl/qt5/QtGraphics_Text.cxx
|
||||
index 1879008..e5b1e9d 100644
|
||||
--- a/vcl/qt5/QtGraphics_Text.cxx
|
||||
+++ b/vcl/qt5/QtGraphics_Text.cxx
|
||||
@@ -86,7 +86,11 @@ bool QtGraphics::GetFontCapabilities(vcl::FontCapabilities& rFontCapabilities) c
|
||||
|
||||
void QtGraphics::GetDevFontList(vcl::font::PhysicalFontCollection* pPFC)
|
||||
{
|
||||
+#ifdef __HAIKU__
|
||||
+ static const bool bUseFontconfig = false;
|
||||
+#else
|
||||
static const bool bUseFontconfig = (nullptr == getenv("SAL_VCL_QT5_NO_FONTCONFIG"));
|
||||
+#endif
|
||||
|
||||
if (pPFC->Count())
|
||||
return;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 06717fcdd172ac5ca478656e69e28e6d6811a791 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
|
||||
9db11a8ab648f4d04e59e6bb94cd640f64835447
|
||||
|
||||
|
||||
diff --git a/config_host.mk.in b/config_host.mk.in
|
||||
index eb5e751..5510ebd 100644
|
||||
--- a/config_host.mk.in
|
||||
+++ b/config_host.mk.in
|
||||
@@ -305,6 +305,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@
|
||||
+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 19c2ebf..64e1fd9 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1140,6 +1140,7 @@ haiku*)
|
||||
test_gtk3=no
|
||||
test_gtk3_kde5=no
|
||||
test_kf5=yes
|
||||
+ test_qt6=yes
|
||||
enable_odk=no
|
||||
enable_coinmp=no
|
||||
enable_pdfium=no
|
||||
@@ -7261,6 +7262,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
+ AC_MSG_CHECKING([whether $CC_BASE supports -fstack-protector-strong])
|
||||
+ save_CFLAGS=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS -O0 -Werror -fstack-protector-strong"
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ char a[8]; a[7] = 0; ]])],[ HAVE_GCC_STACK_PROTECTOR_STRONG=TRUE ],[])
|
||||
+ CFLAGS=$save_CFLAGS
|
||||
+ if test "$HAVE_GCC_STACK_PROTECTOR_STRONG" = "TRUE"; then
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ else
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ fi
|
||||
+
|
||||
AC_MSG_CHECKING([whether $CC_BASE supports atomic functions])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
|
||||
int v = 0;
|
||||
@@ -7398,6 +7410,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)
|
||||
|
||||
@@ -13057,16 +13070,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"
|
||||
@@ -13159,12 +13172,12 @@ then
|
||||
|
||||
for lib_dir in $qt6_libdirs; do
|
||||
if test -z "$qt6_libexec_dirs"; then
|
||||
- qt6_libexec_dirs="$lib_dir/libexec"
|
||||
+ qt6_libexec_dirs="$lib_dir/Qt6"
|
||||
else
|
||||
- qt6_libexec_dirs="$qt6_libexec_dirs:$lib_dir/libexec"
|
||||
+ qt6_libexec_dirs="$qt6_libexec_dirs:$lib_dir/Qt6"
|
||||
fi
|
||||
done
|
||||
- AC_PATH_PROGS( MOC6, [moc-qt6 moc], no, [`dirname $qt6_libdir`/libexec:$QT6DIR/libexec:$qt6_libexec_dirs:`echo $qt6_libdirs | $SED -e 's/ /:/g'`:$PATH])
|
||||
+ AC_PATH_PROGS( MOC6, [moc-qt6 moc], no, [`dirname $qt6_libdir`/Qt6:$QT6DIR/libexec:$qt6_libexec_dirs:`echo $qt6_libdirs | $SED -e 's/ /:/g'`:$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 8f99e91..cbcc408 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 \
|
||||
-fno-common \
|
||||
-pipe \
|
||||
- $(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 \
|
||||
-fno-common \
|
||||
-pipe \
|
||||
- $(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
|
||||
gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden
|
||||
gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX)
|
||||
|
||||
-gb_LinkTarget_LDFLAGS += $(if $(filter EMSCRIPTEN,$(OS)),-fno-stack-protector,-fstack-protector-strong)
|
||||
+gb_LinkTarget_LDFLAGS += $(if $(or $(filter EMSCRIPTEN,$(OS)),$(filter HAIKU,$(OS))),-fno-stack-protector,-fstack-protector-strong)
|
||||
|
||||
ifneq ($(gb_ENABLE_PCH),)
|
||||
ifeq ($(COM_IS_CLANG),TRUE)
|
||||
--
|
||||
2.42.0
|
||||
|
||||
|
||||
From 3d987e447e8fadd67a1ff753d49c18de13fcac54 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Fri, 20 Aug 2021 23:33:13 +1000
|
||||
Subject: Qt::Popup window handling
|
||||
|
||||
|
||||
diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx
|
||||
index 08d2062..beef21f 100644
|
||||
--- a/vcl/qt5/QtFrame.cxx
|
||||
+++ b/vcl/qt5/QtFrame.cxx
|
||||
@@ -143,7 +143,7 @@ QtFrame::QtFrame(QtFrame* pParent, SalFrameStyleFlags nStyle, bool bUseCairo)
|
||||
else if ((nStyle & SalFrameStyleFlags::FLOAT)
|
||||
&& (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION))
|
||||
aWinFlags = Qt::Tool | Qt::FramelessWindowHint;
|
||||
- else if (nStyle & SalFrameStyleFlags::TOOLTIP)
|
||||
+ else if (nStyle & (nStyle & SalFrameStyleFlags::FLOAT | SalFrameStyleFlags::TOOLTIP))
|
||||
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.
|
||||
@@ -206,7 +206,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;
|
||||
- else if (QGuiApplication::platformName() == "wasm")
|
||||
+ else if (QGuiApplication::platformName() == "wasm" || QGuiApplication::platformName() == "haiku")
|
||||
rData.platform = SystemEnvData::Platform::WASM;
|
||||
else
|
||||
{
|
||||
diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx
|
||||
index 83ada78..340c357 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.42.0
|
||||
|
||||
|
||||
From 08b5964034965c4f253c47e5e8df743380984ba2 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
|
||||
|
||||
|
||||
diff --git a/unotools/source/config/fontcfg.cxx b/unotools/source/config/fontcfg.cxx
|
||||
index beeba82..526249d 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.42.0
|
||||
|
||||
|
||||
From 5fab52bb11c8f00f6ab08f703d721e16230f02dc 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 a0385c4..36deeab 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>
|
||||
|
||||
@@ -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.42.0
|
||||
|
||||
|
||||
From 19ce4c24d457d1700bab69bc2fd1a9fe6ca4d3f4 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Tue, 17 Oct 2023 13:36:15 +1000
|
||||
Subject: Don't use Cairo
|
||||
|
||||
|
||||
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
|
||||
index df3df5d..25faac0 100644
|
||||
--- a/vcl/qt5/QtInstance.cxx
|
||||
+++ b/vcl/qt5/QtInstance.cxx
|
||||
@@ -751,7 +751,11 @@ void QtInstance::setActivePopup(QtFrame* pFrame)
|
||||
extern "C" {
|
||||
VCLPLUG_QT_PUBLIC SalInstance* create_SalInstance()
|
||||
{
|
||||
+#ifdef __HAIKU__
|
||||
+ static const bool bUseCairo = false;
|
||||
+#else
|
||||
static const bool bUseCairo = (nullptr == getenv("SAL_VCL_QT_USE_QFONT"));
|
||||
+#endif
|
||||
|
||||
std::unique_ptr<char* []> pFakeArgv;
|
||||
std::unique_ptr<int> pFakeArgc;
|
||||
--
|
||||
2.42.0
|
||||
|
||||
Reference in New Issue
Block a user