LibreOffice: bump version

This commit is contained in:
Gerasim Troeglazov
2020-09-01 12:23:18 +10:00
parent ef28c7574a
commit d2a6961765
3 changed files with 204 additions and 128 deletions

View File

@@ -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",

View File

@@ -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
}

View File

@@ -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 <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 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 <diver@gelios.net>
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 <diver@gelios.net>
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 <diver@gelios.net>
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 <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#endif
+
#include <sal/main.h>
#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 <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 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 <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 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 <diver@gelios.net>
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<SourceManagerStruct*>(rContext.cinfo.src);
@@ -270,29 +233,18 @@ index 8a57f55..4835901 100644
+ rContext.cinfo.raw_data_out = static_cast<boolean>(FALSE);
+ rContext.cinfo.quantize_colors = static_cast<boolean>(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<boolean>(FALSE);
+ rContext.cinfo.do_block_smoothing = static_cast<boolean>(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<int>(nQualityPercent), FALSE );
+ jpeg_set_quality( &cinfo, static_cast<int>(nQualityPercent), static_cast<boolean>(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 <diver@gelios.net>
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?= <caolanm@redhat.com>
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<EVP_CIPHER_CTX> mpContext;
- std::unique_ptr<HMAC_CTX> mpHmacContext;
+ std::unique_ptr<EVP_CIPHER_CTX, cipher_delete> mpContext;
+ std::unique_ptr<HMAC_CTX, hmac_delete> mpHmacContext;
CryptoImpl() = default;
void setupEncryptContext(std::vector<sal_uInt8>& key, std::vector<sal_uInt8>& 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<sal_uInt8>& key, std::vector<sal_uInt8>& 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<sal_uInt8>& 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