diff --git a/app-office/libreoffice/additional-files/libreoffice.rdef.in b/app-office/libreoffice/additional-files/libreoffice.rdef.in index af21408b4..8345f3b01 100644 --- a/app-office/libreoffice/additional-files/libreoffice.rdef.in +++ b/app-office/libreoffice/additional-files/libreoffice.rdef.in @@ -15,6 +15,8 @@ resource app_version { resource app_signature "@APP_SIGNATURE@"; +resource("QT:QPA_FLAGS") "Q_KILL_ON_EXIT|Q_REF_TO_ARGV|Q_REF_TO_FORK"; + resource file_types message { "types" = "application/msword", "types" = "text/plain", diff --git a/app-office/libreoffice/libreoffice-6.4.3.1.recipe b/app-office/libreoffice/libreoffice-7.0.1.2.recipe similarity index 93% rename from app-office/libreoffice/libreoffice-6.4.3.1.recipe rename to app-office/libreoffice/libreoffice-7.0.1.2.recipe index 0ad0491a6..88663375c 100644 --- a/app-office/libreoffice/libreoffice-6.4.3.1.recipe +++ b/app-office/libreoffice/libreoffice-7.0.1.2.recipe @@ -17,16 +17,20 @@ and Open Source office suite on the market: HOMEPAGE="https://www.libreoffice.org/" COPYRIGHT="2000-2020 LibreOffice contributors" LICENSE="MPL v2.0" -REVISION="8" +REVISION="1" SOURCE_URI="https://github.com/LibreOffice/core/archive/libreoffice-$portVersion.tar.gz" SOURCE_DIR="core-libreoffice-$portVersion" -CHECKSUM_SHA256="2ee684b73fcedf013b4a5353571d89e7725fa079e4dfc39aacc978cd31edd637" +CHECKSUM_SHA256="1a5451fb26fdeeac130c34278cb80ad2c59c17cf864fe7f21fef635eb3830c75" SOURCE_URI_2="https://github.com/LibreOffice/translations/archive/libreoffice-$portVersion.tar.gz" -CHECKSUM_SHA256_2="075a794acb232cb01ddfd63e57e6e5ba311a99615e051f15be8354c0f21f163e" +CHECKSUM_SHA256_2="38896caccc80ab83a44982b71db29dac52c790444fa179e0ad826e14830e7806" 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" + PATCHES="libreoffice-$portVersion.patchset" ADDITIONAL_FILES=" libreoffice.iom @@ -37,7 +41,7 @@ ADDITIONAL_FILES=" POST_INSTALL_SCRIPTS="$relativePostInstallDir/create_buildid.sh" ARCHITECTURES="!x86_gcc2 ?x86 x86_64" if [ "$targetArchitecture" = x86_gcc2 ]; then -SECONDARY_ARCHITECTURES="x86" + SECONDARY_ARCHITECTURES="x86" fi boostMinimumVersion=1.69.0 @@ -118,6 +122,7 @@ REQUIRES=" lib:librevenge_0.0$secondaryArchSuffix lib:librevenge_stream_0.0$secondaryArchSuffix lib:libsmime3$secondaryArchSuffix + lib:libssl$secondaryArchSuffix lib:libssl3$secondaryArchSuffix lib:libstaroffice_0.0$secondaryArchSuffix lib:libuuid$secondaryArchSuffix @@ -212,6 +217,7 @@ BUILD_REQUIRES=" devel:librdf$secondaryArchSuffix devel:librevenge_0.0$secondaryArchSuffix devel:libsane$secondaryArchSuffix + devel:libssl$secondaryArchSuffix devel:libstaroffice_0.0$secondaryArchSuffix devel:libvisio_0.1$secondaryArchSuffix devel:libwpd_0.10$secondaryArchSuffix @@ -245,7 +251,6 @@ BUILD_PREREQUIRES=" cmd:patch cmd:perl cmd:pkg_config$secondaryArchSuffix - cmd:python2.7 cmd:python3.6 cmd:ucpp cmd:which @@ -262,10 +267,8 @@ PATCH() BUILD() { - # rename $sourceDir to something shorter, otherwise build fails with - # execv: Argument too big /sources/core/sw/Library_sw.mk:20 - cd .. ; mv core-libreoffice-$portVersion core - ln -s core core-libreoffice-$portVersion; cd core + mkdir -p external/tarballs + cp $sourceDir3/dtoa-20180411.tgz external/tarballs rm -rf translations ln -s $sourceDir2 translations @@ -293,6 +296,7 @@ BUILD() --with-fonts=no \ --with-vendor="HaikuPorts" \ --with-system-libs \ + --with-tls="openssl" \ --with-boost-libdir=`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir \ --with-system-ucpp \ \ @@ -309,12 +313,11 @@ INSTALL() { appDir=$appsDir/LibreOffice mkdir -p $appDir - cp -r ../core/instdir/* $appDir + cp -r instdir/* $appDir mv $appDir/program/soffice.bin $appDir/program/LibreOffice # make sure we do not copy default profile - rm -rf $appDir/user - rm -rf $appDir/share/xdg + rm -rf $appDir/user $appDir/share/xdg packageEntries galleries \ $appDir/share/gallery $appDir/presets/gallery @@ -359,10 +362,8 @@ INSTALL() -e "s|@MIDDLE@|$MIDDLE|" \ -e "s|@MINOR@|$MINOR|" \ -e "s|@LONG_INFO@|$LONG_INFO|" \ - $portDir/additional-files/libreoffice.rdef.in > \ - $sourceDir/../core/libreoffice.rdef + $portDir/additional-files/libreoffice.rdef.in > libreoffice.rdef - addResourcesToBinaries $sourceDir/../core/libreoffice.rdef \ - $appDir/program/LibreOffice + addResourcesToBinaries libreoffice.rdef $appDir/program/LibreOffice addAppDeskbarSymlink $appDir/program/LibreOffice } diff --git a/app-office/libreoffice/patches/libreoffice-6.4.3.1.patchset b/app-office/libreoffice/patches/libreoffice-7.0.1.2.patchset similarity index 63% rename from app-office/libreoffice/patches/libreoffice-6.4.3.1.patchset rename to app-office/libreoffice/patches/libreoffice-7.0.1.2.patchset index d603ab976..bb1555f6e 100644 --- a/app-office/libreoffice/patches/libreoffice-6.4.3.1.patchset +++ b/app-office/libreoffice/patches/libreoffice-7.0.1.2.patchset @@ -1,11 +1,11 @@ -From c03536371bc767970d464a0bde4dc30970421e8e Mon Sep 17 00:00:00 2001 +From e37b69bec65d206fc8bdf3ec8f567d74c6007498 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov 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 225414f..a971e11 100644 +index e98d636..f154f7c 100644 --- a/vcl/source/app/IconThemeSelector.cxx +++ b/vcl/source/app/IconThemeSelector.cxx @@ -58,6 +58,9 @@ IconThemeSelector::GetIconThemeForDesktopEnvironment(const OUString& desktopEnvi @@ -19,33 +19,33 @@ index 225414f..a971e11 100644 OUString r; if ( desktopEnvironment.equalsIgnoreAsciiCase("plasma5") || -- -2.26.0 +2.28.0 -From 9b04dafc3824d3d433b42d3fe66ac1848d53d58f Mon Sep 17 00:00:00 2001 +From 50339c962f784cb1cf9907b83d17a5f39c5c7cbb Mon Sep 17 00:00:00 2001 From: Sergei Reznikov -Date: Wed, 24 Oct 2018 17:01:09 +0300 -Subject: Show used vcl backend on Haiku +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 c4c3be9..119380d 100644 +index faf2d6f..684a925 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx -@@ -1155,7 +1155,7 @@ OUString Application::GetHWOSConfInfo() - aDetails.append( VclResId(SV_APP_DEFAULT) ); - aDetails.append( "; " ); +@@ -1191,7 +1191,7 @@ OUString Application::GetHWOSConfInfo(const int bSelection, const bool bLocalize + #endif + appendDetails("", Localize(SV_APP_DEFAULT, bLocalize)); -#if (defined LINUX || defined _WIN32 || defined MACOSX) -+#if (defined LINUX || defined _WIN32 || defined MACOSX || defined (__HAIKU__)) - aDetails.append( SV_APP_VCLBACKEND ); - aDetails.append( GetToolkitName() ); - aDetails.append( "; " ); ++#if (defined LINUX || defined _WIN32 || defined MACOSX || defined __HAIKU__) + appendDetails("; ", SV_APP_VCLBACKEND + GetToolkitName()); + #endif + } -- -2.26.0 +2.28.0 -From 1053d9e72ecc2d89410bc877c6b667b2048035b9 Mon Sep 17 00:00:00 2001 +From f5b956b120f4b6abafe6e0c48d99fc2493902442 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Wed, 24 Oct 2018 17:01:34 +0300 Subject: Identify Haiku in about window @@ -65,54 +65,17 @@ index b661163..329265a 100644 return aKernelVer; } -- -2.26.0 +2.28.0 -From e63502e45d5c100a5bbd80269c9dc9f14d2c1b8b Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Wed, 24 Oct 2018 17:02:04 +0300 -Subject: Workaround a crash on quit. See Haiku #13159 - - -diff --git a/desktop/source/app/main.c b/desktop/source/app/main.c -index 643c42a..d4b47cb 100644 ---- a/desktop/source/app/main.c -+++ b/desktop/source/app/main.c -@@ -17,6 +17,12 @@ - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -+#ifdef __HAIKU__ -+#include -+#include -+#include -+#endif -+ - #include - - #include "sofficemain.h" -@@ -50,6 +56,9 @@ SAL_IMPLEMENT_MAIN() { - #ifdef __gnu_linux__ - g_Exiting = 1; - #endif -+#endif -+#ifdef __HAIKU__ -+ kill (getpid(), SIGKILL); - #endif - return ret; - } --- -2.26.0 - - -From e96b7cda0014ad783122c456a76cde523b5c8cc5 Mon Sep 17 00:00:00 2001 +From 8378a870dbddf61c75f0f7a39223085ce3db60ab Mon Sep 17 00:00:00 2001 From: Sergei Reznikov 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 3daea4a..d114d79 100644 +index 58c5ef4..93f7f7b 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -180,6 +180,9 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar @@ -126,17 +89,17 @@ index 3daea4a..d114d79 100644 // Just use xdg-open on non-Mac aBuffer.append("/usr/bin/xdg-open"); -- -2.26.0 +2.28.0 -From 5299c0b1c26ecce9ee151b89f85a710b5f710a1f Mon Sep 17 00:00:00 2001 +From 0fa91ab00f2a6c5f257f96fe682237799b3ba209 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov 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 8854aab..f0489a8 100644 +index 6abfb75..69b8d0e 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -45,9 +45,9 @@ gb_CFLAGS := \ @@ -153,17 +116,17 @@ index 8854aab..f0489a8 100644 gb_CXXFLAGS := \ $(gb_CXXFLAGS_COMMON) \ -- -2.26.0 +2.28.0 -From 9d72216b26b85f0a5abbd8e29485b66364f202ef Mon Sep 17 00:00:00 2001 +From c50439ee9d08097ba112eddcb978d40e96c3923f Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sun, 11 Aug 2019 11:46:49 +1000 Subject: Workaround for ambiguous methods diff --git a/include/o3tl/sorted_vector.hxx b/include/o3tl/sorted_vector.hxx -index 088f5a2..1288061 100644 +index 28ef758..6f63c2e 100644 --- a/include/o3tl/sorted_vector.hxx +++ b/include/o3tl/sorted_vector.hxx @@ -92,6 +92,17 @@ public: @@ -185,7 +148,7 @@ index 088f5a2..1288061 100644 { m_vector.erase(m_vector.begin() + index); diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx -index 8636d6b..0defdfc 100644 +index a4c57ca..bbe89ce 100644 --- a/sc/source/core/data/attarray.cxx +++ b/sc/source/core/data/attarray.cxx @@ -375,7 +375,7 @@ void ScAttrArray::RemoveCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 n @@ -198,20 +161,20 @@ index 8636d6b..0defdfc 100644 pPatternAttr->GetItemSet().Put( aItem ); SetPatternArea( nTempStartRow, nTempEndRow, std::move(pPatternAttr), true ); -- -2.26.0 +2.28.0 -From 2c1bab9663a4338ef01868308d6cd5b601510e23 Mon Sep 17 00:00:00 2001 +From 123dd581edb1177fea906a0ff03299c2caefd743 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 c49417d..ec75755 100644 +index b2ed3f5..384dfb9 100644 --- a/svl/Library_svl.mk +++ b/svl/Library_svl.mk -@@ -95,6 +95,12 @@ $(eval $(call gb_Library_use_system_win32_libs,svl,\ +@@ -96,6 +96,12 @@ $(eval $(call gb_Library_use_system_win32_libs,svl,\ shlwapi \ )) @@ -242,20 +205,20 @@ index bd2cb6a..9d6a90c 100644 $(eval $(call gb_Library_add_libs,xsec_xmlsec,\ $(call gb_UnpackedTarball_get_dir,xmlsec)/src/nss/.libs/libxmlsec1-nss.a \ -- -2.26.0 +2.28.0 -From 632ddc27944cfa8be5db73aa0d0be9b62970a487 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Sat, 15 Feb 2020 15:08:51 +0300 +From a2caa65906da40f2e482d2e443150957f4740179 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 8a57f55..4835901 100644 +index c1fbb53..4dddb21 100644 --- a/vcl/source/filter/jpeg/jpegc.cxx +++ b/vcl/source/filter/jpeg/jpegc.cxx -@@ -163,13 +163,13 @@ static void ReadJPEG(JpegStuff& rContext, JPEGReader* pJPEGReader, void* pInputS +@@ -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(rContext.cinfo.src); @@ -270,29 +233,18 @@ index 8a57f55..4835901 100644 + rContext.cinfo.raw_data_out = static_cast(FALSE); + rContext.cinfo.quantize_colors = static_cast(FALSE); - /* change scale for preview import */ - long nPreviewWidth = previewSize.Width(); -@@ -204,8 +204,8 @@ static void ReadJPEG(JpegStuff& rContext, JPEGReader* pJPEGReader, void* pInputS - if (rContext.cinfo.scale_denom > 1) - { - rContext.cinfo.dct_method = JDCT_FASTEST; -- rContext.cinfo.do_fancy_upsampling = FALSE; -- rContext.cinfo.do_block_smoothing = FALSE; -+ rContext.cinfo.do_fancy_upsampling = static_cast(FALSE); -+ rContext.cinfo.do_block_smoothing = static_cast(FALSE); - } - } + jpeg_calc_output_dimensions(&rContext.cinfo); -@@ -394,7 +394,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream, +@@ -365,7 +365,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream, } jpeg_set_defaults( &cinfo ); - jpeg_set_quality( &cinfo, static_cast(nQualityPercent), FALSE ); + jpeg_set_quality( &cinfo, static_cast(nQualityPercent), static_cast(FALSE) ); - cinfo.density_unit = 1; - cinfo.X_density = rPPI.getX(); -@@ -419,7 +419,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream, + if (o3tl::convertsToAtMost(rPPI.getX(), 65535) && o3tl::convertsToAtMost(rPPI.getY(), 65535)) + { +@@ -397,7 +397,7 @@ bool WriteJPEG( JPEGWriter* pJPEGWriter, void* pOutputStream, cinfo.comp_info[0].v_samp_factor = 2; } @@ -301,7 +253,7 @@ index 8a57f55..4835901 100644 for( nY = 0; nY < nHeight; nY++ ) { -@@ -454,10 +454,10 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) +@@ -432,10 +432,10 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) jvirt_barray_ptr* aSourceCoefArrays = nullptr; jvirt_barray_ptr* aDestinationCoefArrays = nullptr; @@ -316,7 +268,7 @@ index 8a57f55..4835901 100644 // Angle to transform option // 90 Clockwise = 270 Counterclockwise -@@ -486,7 +486,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) +@@ -464,7 +464,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) aDestinationInfo.err->error_exit = errorExit; aDestinationInfo.err->output_message = outputMessage; @@ -325,7 +277,7 @@ index 8a57f55..4835901 100644 JpegDecompressOwner aDecompressOwner; JpegCompressOwner aCompressOwner; -@@ -506,7 +506,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) +@@ -490,7 +490,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) jpeg_svstream_src (&aSourceInfo, pInputStream); jcopy_markers_setup(&aSourceInfo, aCopyOption); @@ -334,7 +286,7 @@ index 8a57f55..4835901 100644 jtransform_request_workspace(&aSourceInfo, &aTransformOption); aSourceCoefArrays = jpeg_read_coefficients(&aSourceInfo); -@@ -516,7 +516,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) +@@ -500,7 +500,7 @@ void Transform(void* pInputStream, void* pOutputStream, long nAngle) jpeg_svstream_dest (&aDestinationInfo, pOutputStream); // Compute optimal Huffman coding tables instead of precomputed tables @@ -344,33 +296,33 @@ index 8a57f55..4835901 100644 jcopy_markers_execute(&aSourceInfo, &aDestinationInfo, aCopyOption); jtransform_execute_transformation(&aSourceInfo, &aDestinationInfo, aSourceCoefArrays, &aTransformOption); -- -2.26.0 +2.28.0 -From e116706a86fc12824929f9d769b72a89d08841f8 Mon Sep 17 00:00:00 2001 +From 348adbe95eab841ea6cc52becacf424d9d90d6d6 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov -Date: Sat, 15 Feb 2020 17:45:08 +0300 +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 e47ca61..3c3eb35 100644 +index a14fb82..80744be 100644 --- a/config_host.mk.in +++ b/config_host.mk.in -@@ -244,6 +244,7 @@ export USING_X11=@USING_X11@ - export HAMCREST_JAR=@HAMCREST_JAR@ +@@ -270,6 +270,7 @@ export HAMCREST_JAR=@HAMCREST_JAR@ export HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED=@HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED@ + export HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR=@HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR@ 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_BUILTIN_FFS=@HAVE_GCC_BUILTIN_FFS@ 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 c0a09f1..b3a1eec 100644 +index ada4e42..014f6f5 100644 --- a/configure.ac +++ b/configure.ac -@@ -6203,6 +6203,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then +@@ -6294,6 +6294,17 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then AC_MSG_RESULT([no]) fi @@ -388,16 +340,16 @@ index c0a09f1..b3a1eec 100644 AC_MSG_CHECKING([whether $CC_BASE supports atomic functions]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ int v = 0; -@@ -6374,6 +6385,7 @@ AC_LANG_POP([C++]) +@@ -6445,6 +6456,7 @@ AC_LANG_POP([C++]) fi AC_SUBST(HAVE_GCC_AVX) +AC_SUBST(HAVE_GCC_STACK_PROTECTOR_STRONG) AC_SUBST(HAVE_GCC_BUILTIN_ATOMIC) - AC_SUBST(HAVE_GCC_BUILTIN_FFS) AC_SUBST(HAVE_GCC_STACK_CLASH_PROTECTION) + diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk -index 712a61d..2c3d5f1 100644 +index 1707a74..901f0e6 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -67,7 +67,6 @@ gb_CFLAGS_COMMON := \ @@ -405,18 +357,18 @@ index 712a61d..2c3d5f1 100644 -fno-common \ -pipe \ - -fstack-protector-strong \ + $(if $(gb_COLOR),-fdiagnostics-color=always) \ gb_CXXFLAGS_COMMON := \ - -Wall \ -@@ -82,7 +81,6 @@ gb_CXXFLAGS_COMMON := \ +@@ -84,7 +83,6 @@ gb_CXXFLAGS_COMMON := \ -fmessage-length=0 \ -fno-common \ -pipe \ - -fstack-protector-strong \ + $(if $(gb_COLOR),-fdiagnostics-color=always) \ - gb_CXXFLAGS_DISABLE_WARNINGS = -w - -@@ -136,7 +134,11 @@ endif + ifeq ($(HAVE_WDEPRECATED_COPY_DTOR),TRUE) +@@ -143,7 +141,11 @@ endif gb_VISIBILITY_FLAGS_CXX := -fvisibility-inlines-hidden gb_CXXFLAGS_COMMON += $(gb_VISIBILITY_FLAGS_CXX) @@ -426,8 +378,129 @@ index 712a61d..2c3d5f1 100644 gb_LinkTarget_LDFLAGS += -fstack-protector-strong +endif - ifneq ($(ENABLE_PCH),) + ifneq ($(gb_ENABLE_PCH),) ifeq ($(COM_IS_CLANG),TRUE) -- -2.26.0 +2.28.0 + + +From 0fe9f6c5f6e1df6764d2fc8ec89164e3e9b523cb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Mon, 20 Jul 2020 09:52:27 +0100 +Subject: fix some warnings with --with-tls=openssl + +diff --git a/oox/source/crypto/CryptTools.cxx b/oox/source/crypto/CryptTools.cxx +index ff11ebb..77b6f8c 100644 +--- a/oox/source/crypto/CryptTools.cxx ++++ b/oox/source/crypto/CryptTools.cxx +@@ -27,16 +27,46 @@ + namespace oox::crypto { + + #if USE_TLS_OPENSSL ++ ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) ++ ++static HMAC_CTX *HMAC_CTX_new(void) ++{ ++ HMAC_CTX *pContext = new HMAC_CTX; ++ HMAC_CTX_init(pContext); ++ return pContext; ++} ++ ++static void HMAC_CTX_free(HMAC_CTX *pContext) ++{ ++ HMAC_CTX_cleanup(pContext); ++ delete pContext; ++} ++#endif ++ ++namespace ++{ ++ struct cipher_delete ++ { ++ void operator()(EVP_CIPHER_CTX* p) { EVP_CIPHER_CTX_free(p); } ++ }; ++ ++ struct hmac_delete ++ { ++ void operator()(HMAC_CTX* p) { HMAC_CTX_free(p); } ++ }; ++} ++ + struct CryptoImpl + { +- std::unique_ptr mpContext; +- std::unique_ptr mpHmacContext; ++ std::unique_ptr mpContext; ++ std::unique_ptr mpHmacContext; + + CryptoImpl() = default; + + void setupEncryptContext(std::vector& key, std::vector& iv, Crypto::CryptoType eType) + { +- mpContext.reset(new EVP_CIPHER_CTX); ++ mpContext.reset(EVP_CIPHER_CTX_new()); + EVP_CIPHER_CTX_init(mpContext.get()); + + const EVP_CIPHER* cipher = getCipher(eType); +@@ -44,7 +74,7 @@ struct CryptoImpl + return; + + if (iv.empty()) +- EVP_EncryptInit_ex(mpContext.get(), cipher, nullptr, key.data(), 0); ++ EVP_EncryptInit_ex(mpContext.get(), cipher, nullptr, key.data(), nullptr); + else + EVP_EncryptInit_ex(mpContext.get(), cipher, nullptr, key.data(), iv.data()); + EVP_CIPHER_CTX_set_padding(mpContext.get(), 0); +@@ -52,7 +82,7 @@ struct CryptoImpl + + void setupDecryptContext(std::vector& key, std::vector& iv, Crypto::CryptoType eType) + { +- mpContext.reset(new EVP_CIPHER_CTX); ++ mpContext.reset(EVP_CIPHER_CTX_new()); + EVP_CIPHER_CTX_init(mpContext.get()); + + const EVP_CIPHER* pCipher = getCipher(eType); +@@ -64,7 +94,7 @@ struct CryptoImpl + key.resize(nMinKeySize, 0); + + if (iv.empty()) +- EVP_DecryptInit_ex(mpContext.get(), pCipher, nullptr, key.data(), 0); ++ EVP_DecryptInit_ex(mpContext.get(), pCipher, nullptr, key.data(), nullptr); + else + { + const size_t nMinIVSize = EVP_CIPHER_iv_length(pCipher); +@@ -78,8 +108,7 @@ struct CryptoImpl + + void setupCryptoHashContext(std::vector& rKey, CryptoHashType eType) + { +- mpHmacContext.reset(new HMAC_CTX); +- HMAC_CTX_init(mpHmacContext.get()); ++ mpHmacContext.reset(HMAC_CTX_new()); + const EVP_MD* aEvpMd; + switch (eType) + { +@@ -90,18 +119,16 @@ struct CryptoImpl + case CryptoHashType::SHA512: + aEvpMd = EVP_sha512(); break; + } +- HMAC_Init(mpHmacContext.get(), rKey.data(), rKey.size(), aEvpMd); ++ HMAC_Init_ex(mpHmacContext.get(), rKey.data(), rKey.size(), aEvpMd, nullptr); + } + + ~CryptoImpl() + { + if (mpContext) + EVP_CIPHER_CTX_cleanup(mpContext.get()); +- if (mpHmacContext) +- HMAC_CTX_cleanup(mpHmacContext.get()); + } + +- const EVP_CIPHER* getCipher(Crypto::CryptoType type) ++ static const EVP_CIPHER* getCipher(Crypto::CryptoType type) + { + switch(type) + { +-- +2.28.0