Makefile.fetch                                                 |    6 
 RepositoryExternal.mk                                          |    6 
 canvas/source/directx/dx_canvasbitmap.cxx                      |    3 
 configure.ac                                                   |  336 +++---
 desktop/unx/source/pagein.c                                    |    1 
 download.lst                                                   |   12 
 external/curl/ExternalProject_curl.mk                          |   14 
 external/curl/UnpackedTarball_curl.mk                          |    1 
 external/curl/curl-msvc-disable-protocols.patch.1              |   24 
 external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 |   25 
 external/libmwaw/UnpackedTarball_libmwaw.mk                    |    1 
 external/libwpd/UnpackedTarball_libwpd.mk                      |    1 
 external/libwpd/libwpd-tdf112269.patch.1                       |   42 
 external/nss/UnpackedTarball_nss.mk                            |    1 
 external/nss/nss.patch                                         |  116 +-
 external/nss/nss.vs2015.patch                                  |   10 
 external/nss/nss.windowbuild.patch.0                           |   55 -
 external/poppler/ExternalProject_poppler.mk                    |   51 -
 external/poppler/Module_poppler.mk                             |    2 
 external/poppler/StaticLibrary_poppler.mk                      |  144 ++
 external/poppler/UnpackedTarball_poppler.mk                    |    8 
 external/poppler/poppler-0.46.0-std-max.patch.1                |   10 
 external/poppler/poppler-0.46.0-unused-private-field.patch.1   |   11 
 external/poppler/poppler-config.patch.1                        |  484 
++++++++++
 external/poppler/poppler-libjpeg.patch.1                       |   23 
 external/poppler/poppler-mac-fake.patch.1                      |   13 
 external/poppler/poppler-notests.patch.1                       |   11 
 external/poppler/poppler-snprintf.patch.1                      |    2 
 external/poppler/poppler-vs2013.patch.1                        |   11 
 external/poppler/ubsan.patch.0                                 |   58 -
 external/python3/ExternalProject_python3.mk                    |    2 
 external/python3/internal-zlib.patch.0                         |   55 +
 package/source/zipapi/ZipFile.cxx                              |    1 
 postprocess/CustomTarget_signing.mk                            |    1 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx          |   22 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx          |    4 
 solenv/gbuild/platform/com_MSC_defs.mk                         |    4 
 solenv/gdb/libreoffice/sal.py                                  |    4 
 solenv/gdb/libreoffice/util/string.py                          |    6 
 xmlsecurity/source/xmlsec/nss/nssinitializer.cxx               |   14 
 40 files changed, 1102 insertions(+), 493 deletions(-)

New commits:
commit 1fe51e08e0e4a913c10ca5521051b45909e75cde
Author:     David Tardon <dtar...@redhat.com>
AuthorDate: Wed Mar 8 10:37:38 2017 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:10:01 2018 +0100

    WaE: include needed header
    
    "error: In the GNU C Library, "major" is defined
    by <sys/sysmacros.h>. For historical compatibility, it is
    currently defined by <sys/types.h> as well, but we plan to
    remove this soon. To use "major", include <sys/sysmacros.h>
    directly. If you did not intend to use a system-defined macro
    "major", you should undefine it after including <sys/types.h>."
    
    Change-Id: I7f5741d4c2eae277e316c5fc97aa73b9430fbdc1
    (cherry picked from commit 01bf741a79241829b0d5c048e8f45e3cf6914d3e)

diff --git a/desktop/unx/source/pagein.c b/desktop/unx/source/pagein.c
index 56baffa79ca3..a401419fc162 100644
--- a/desktop/unx/source/pagein.c
+++ b/desktop/unx/source/pagein.c
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <sys/stat.h>
+#include <sys/sysmacros.h>
 #include <sys/types.h>
 
 /* do_pagein */
commit b5a8faf8559f98bdd0e51cfc00bbbd1ea18d2f4a
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Fri Sep 29 16:53:35 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:01:03 2018 +0100

    gdb pretty-printers: fix StringPrinterHelper for gdb 8.0
    
    Latest gdb release "lazy_string" validates the array size:
    
      Traceback (most recent call last):
        File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
    29, in to_string
          return self.make_string(data, self.encoding, len)
        File "/work/lo/master/solenv/gdb/libreoffice/util/string.py", line
    66, in make_string
          return data.lazy_string(encoding, length)
      gdb.error: Length is larger than array size.
    
    rtl_uString has "sal_Unicode buffer[1];", which is a lie
    as the real size is the same as "length".
    
    Taking the address of "buffer" appears to avoid the exception.
    
    Change-Id: I85710b1adfae584ba09c8d517e9b49b290e79d8a
    (cherry picked from commit 205677c88cb01e2bbee278443867baed2c89e5fe)
    (cherry picked from commit 8c3874409539440cae7eda4ab74f2b73f272fbe1)

diff --git a/solenv/gdb/libreoffice/sal.py b/solenv/gdb/libreoffice/sal.py
index c2e8384537be..8dcfaebe66e1 100644
--- a/solenv/gdb/libreoffice/sal.py
+++ b/solenv/gdb/libreoffice/sal.py
@@ -21,7 +21,7 @@ class RtlStringPrinter(StringPrinterHelper):
         super(RtlStringPrinter, self).__init__(typename, val, encoding)
 
     def data(self):
-        return self.val['buffer']
+        return self.val['buffer'].address
 
     def length(self):
         return self.val['length']
@@ -37,7 +37,7 @@ class StringPrinter(StringPrinterHelper):
 
     def data(self):
         assert self.val['pData']
-        return self.val['pData'].dereference()['buffer']
+        return self.val['pData'].dereference()['buffer'].address
 
     def length(self):
         assert self.val['pData']
diff --git a/solenv/gdb/libreoffice/util/string.py 
b/solenv/gdb/libreoffice/util/string.py
index 4583f5960ae1..9f7cb70028b5 100644
--- a/solenv/gdb/libreoffice/util/string.py
+++ b/solenv/gdb/libreoffice/util/string.py
@@ -52,15 +52,15 @@ class StringPrinterHelper(object):
         if not encoding:
             encoding = ''
 
-        if use_lazy_string:
-            return data.lazy_string(encoding, length)
-
         # we need to determine length, if not given (for sal_Unicode*)
         if length < 0:
             length = 0
             while data[length] != 0 and length <= 512: # arbitrary limit
                 length += 1
 
+        if use_lazy_string:
+            return data.lazy_string(encoding, length)
+
         # The gdb.Value.string() conversion works on array of bytes, but
         # the length we have is the length of the string. So we must
         # multiply it by width of character if the string is Unicode.
commit 687d98a3f1b34f3d8e10064604f388109638b65e
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Tue Aug 7 18:11:41 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:00:53 2018 +0100

    nss: upgrade to release 3.38
    
    Fixes CVE-2018-0495 and "the ASN.1 code".
    
    (Remove one hunk of nss-android.patch.1 that should be obsolete with the
    current Android toolchain baseline (but that hunk didn't exist in
    libreoffice-6-0 or older anyway).)
    
    Change-Id: I5516edec17b72f53acd2749e8840805eead077bc
    Reviewed-on: https://gerrit.libreoffice.org/58697
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit 3ef76067bfa1f9f60ec3989bd6b40a5760137903)
    Reviewed-on: https://gerrit.libreoffice.org/58722
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    (cherry picked from commit e4874f777048535650a2bb1ce875e1a6e3e4b7ef)
    (cherry picked from commit 88c54effcdfa2fb044add69da3a47d06ef796271)

diff --git a/download.lst b/download.lst
index 82edfc596493..36bf1e2b366a 100644
--- a/download.lst
+++ b/download.lst
@@ -110,8 +110,8 @@ export MWAW_TARBALL := 
libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.bz2
 export MYSQLCPPCONN_TARBALL := 
7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
 export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
 export NEON_TARBALL := 231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz
-export NSS_MD5SUM := b47a61cb90571c0b88a531037114685a
-export NSS_TARBALL := nss-3.31.1-with-nspr-4.15.tar.gz
+export NSS_MD5SUM := cd649be8ee61fe15d64d7bef361b37ba
+export NSS_TARBALL := nss-3.38-with-nspr-4.19.tar.gz
 export ODFGEN_MD5SUM := 32572ea48d9021bbd6fa317ddb697abc
 export ODFGEN_VERSION_MICRO := 6
 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2
diff --git a/external/nss/nss.vs2015.patch b/external/nss/nss.vs2015.patch
index de4f8762fd5b..c3e6b5a5acaa 100755
--- a/external/nss/nss.vs2015.patch
+++ b/external/nss/nss.vs2015.patch
@@ -10,3 +10,13 @@ diff -ru nss.org/nss/coreconf/WIN32.mk 
nss/nss/coreconf/WIN32.mk
      ifeq ($(_MSC_VER_GE_12),1)
        OS_CFLAGS += -FS
      endif
+--- a/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc    2018-08-08 
11:08:42.922939267 +0200
++++ b/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc    2018-08-08 
11:08:47.778929835 +0200
+@@ -6,6 +6,7 @@
+ #include "config.h"
+ 
+ #include <algorithm>
++#include <iterator>
+ #include <cstdlib>
+ #include <iostream>
+ #include <memory>
commit b278d92c34993e776cdb7835e8c76061fa70420f
Author:     Gautam Prajapati <gautamprajapat...@gmail.com>
AuthorDate: Mon Aug 28 18:17:29 2017 +0530
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:00:47 2018 +0100

    nss: Upgrade to release 3.31.1 and update patches
    
    This commit updates the NSS to release 3.31.1 and NSPR
    to 4.15. It also updates the external/nss/nss.patch and
    external/nss/nss-android.patch to incorporate the
    NSS source changes.
    
    Change-Id: Icdd933b67e717f8d91622cd5f6001e34e261b746
    Reviewed-on: https://gerrit.libreoffice.org/41636
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit c6df07f905cd9562132b06e44f90b0479b250f7a)
    (cherry picked from commit fc5aafb1478affadce79a82c3504182e65e2525e)

diff --git a/download.lst b/download.lst
index 49ed2b743f72..82edfc596493 100644
--- a/download.lst
+++ b/download.lst
@@ -110,8 +110,8 @@ export MWAW_TARBALL := 
libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.bz2
 export MYSQLCPPCONN_TARBALL := 
7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
 export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
 export NEON_TARBALL := 231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz
-export NSS_MD5SUM := e55ee06b22687df68fafc6a30c0554b2
-export NSS_TARBALL := nss-3.29.5-with-nspr-4.13.1.tar.gz
+export NSS_MD5SUM := b47a61cb90571c0b88a531037114685a
+export NSS_TARBALL := nss-3.31.1-with-nspr-4.15.tar.gz
 export ODFGEN_MD5SUM := 32572ea48d9021bbd6fa317ddb697abc
 export ODFGEN_VERSION_MICRO := 6
 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2
diff --git a/external/nss/nss.patch b/external/nss/nss.patch
index b3b932343d83..1eb0bf70d866 100644
--- a/external/nss/nss.patch
+++ b/external/nss/nss.patch
@@ -1,5 +1,16 @@
---- a/nss.orig/nspr/pr/src/misc/prnetdb.c      2016-02-12 14:51:25.000000000 
+0100
-+++ b/nss/nspr/pr/src/misc/prnetdb.c   2016-03-04 19:23:00.462892600 +0100
+--- a/a/nspr/configure 2017-08-29 23:44:13.686045013 +0530
++++ b/b/nspr/configure 2017-08-29 23:46:53.774768655 +0530
+@@ -7034,7 +7034,7 @@
+     PR_MD_CSRCS=linux.c
+     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++    DSO_LDOPTS='-shared -Wl,-z,origin -Wl,-rpath,\$$ORIGIN -Wl,-soname 
-Wl,$(notdir $@)'
+     _OPTIMIZE_FLAGS=-O2
+     _DEBUG_FLAGS="-g -fno-inline"  # most people on linux use gcc/gdb, and 
that
+                                    # combo is not yet good at debugging 
inlined
+--- a/nss.orig/nspr/pr/src/misc/prnetdb.c      2017-08-29 23:44:13.690045031 
+0530
++++ b/nss/nspr/pr/src/misc/prnetdb.c   2017-08-29 23:47:03.810814019 +0530
 @@ -438,7 +438,7 @@
        char *buf = *bufp;
        PRIntn buflen = *buflenp;
@@ -9,21 +20,8 @@
                PRIntn skip = align - ((ptrdiff_t)buf & (align - 1));
                if (buflen < skip) {
                        return 0;
-diff -ru a/nspr/configure b/nspr/configure
---- a/a/nspr/configure 2014-09-29 16:46:38.427423757 +0100
-+++ b/b/nspr/configure 2014-09-29 16:47:42.984012225 +0100
-@@ -7018,7 +7018,7 @@
-     PR_MD_CSRCS=linux.c
-     MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
-     DSO_CFLAGS=-fPIC
--    DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
-+    DSO_LDOPTS='-shared -Wl,-z,origin -Wl,-rpath,\$$ORIGIN -Wl,-soname 
-Wl,$(notdir $@)'
-     _OPTIMIZE_FLAGS=-O2
-     _DEBUG_FLAGS="-g -fno-inline"  # most people on linux use gcc/gdb, and 
that
-                                    # combo is not yet good at debugging 
inlined
-diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
---- a/a/nss/cmd/platlibs.mk    2014-09-29 16:46:38.306422654 +0100
-+++ b/b/nss/cmd/platlibs.mk    2014-09-29 16:47:42.987012253 +0100
+--- a/a/nss/cmd/platlibs.mk    2017-08-29 23:44:13.554044416 +0530
++++ b/b/nss/cmd/platlibs.mk    2017-08-29 23:46:09.638569150 +0530
 @@ -10,17 +10,22 @@
  
  ifeq ($(OS_ARCH), SunOS) 
@@ -51,10 +49,9 @@ diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
  endif
  endif
  
-diff -ru nss.orig/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk
---- a/nss.orig/nss/coreconf/arch.mk    2016-02-12 15:36:18.000000000 +0100
-+++ b/nss/nss/coreconf/arch.mk 2016-02-23 20:48:31.595941079 +0100
-@@ -280,11 +280,17 @@
+--- a/nss.org/nss/coreconf/arch.mk     2017-08-29 23:44:13.646044832 +0530
++++ b/nss/nss/coreconf/arch.mk 2017-08-29 23:45:51.494487134 +0530
+@@ -305,11 +305,17 @@
      OBJDIR_NAME_COMPILER = $(COMPILER_TAG)
  endif
  OBJDIR_NAME_BASE = 
$(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(OBJDIR_NAME_COMPILER)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG)
@@ -74,9 +71,8 @@ diff -ru nss.orig/nss/coreconf/arch.mk 
nss/nss/coreconf/arch.mk
  #
  # Define USE_DEBUG_RTL if you want to use the debug runtime library
  # (RTL) in the debug build
-diff -ru a/nss/coreconf/FreeBSD.mk b/nss/coreconf/FreeBSD.mk
---- a/a/nss/coreconf/FreeBSD.mk        2014-09-29 16:46:38.189421588 +0100
-+++ b/b/nss/coreconf/FreeBSD.mk        2014-09-29 16:47:42.984012225 +0100
+--- a/nss.org/nss/coreconf/FreeBSD.mk  2017-08-29 23:44:13.642044814 +0530
++++ b/nss/nss/coreconf/FreeBSD.mk      2017-08-29 23:45:20.850348615 +0530
 @@ -25,6 +25,7 @@
  
  DSO_CFLAGS            = -fPIC
@@ -85,19 +81,18 @@ diff -ru a/nss/coreconf/FreeBSD.mk b/nss/coreconf/FreeBSD.mk
  
  #
  # The default implementation strategy for FreeBSD is pthreads.
-diff -ru a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk
---- a/a/nss/coreconf/Linux.mk  2014-09-29 16:46:38.189421588 +0100
-+++ b/b/nss/coreconf/Linux.mk  2014-09-29 16:47:42.985012235 +0100
-@@ -157,7 +160,7 @@
+--- a/nss.org/nss/coreconf/Linux.mk    2017-08-29 23:44:13.642044814 +0530
++++ b/nss/nss/coreconf/Linux.mk        2017-08-29 23:47:26.318915759 +0530
+@@ -147,7 +147,7 @@
+ # Also, -z defs conflicts with Address Sanitizer, which emits relocations
  # against the libsanitizer runtime built into the main executable.
  ZDEFS_FLAG            = -Wl,-z,defs
- ifneq ($(USE_ASAN),1)
 -DSO_LDOPTS            += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG))
-+DSO_LDOPTS             += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG)) -Wl,-z,origin '-Wl,-rpath,$$ORIGIN'
- endif
- LDFLAGS                       += $(ARCHFLAG)
++DSO_LDOPTS      += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG)) -Wl,-z,origin '-Wl,-rpath,$$ORIGIN'
+ LDFLAGS                       += $(ARCHFLAG) -z noexecstack
  
-@@ -189,8 +192,13 @@
+ # On Maemo, we need to use the -rpath-link flag for even the standard system
+@@ -177,8 +177,13 @@
  endif
  endif
  
@@ -111,9 +106,8 @@ diff -ru a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk
  
  # The -rpath '$$ORIGIN' linker option instructs this library to search for its
  # dependencies in the same directory where it resides.
-diff -ru a/nss/coreconf/rules.mk b/nss/coreconf/rules.mk
---- a/a/nss/coreconf/rules.mk  2014-09-29 16:46:38.188421578 +0100
-+++ b/b/nss/coreconf/rules.mk  2014-09-29 16:47:42.986012244 +0100
+--- a/nss.org/nss/coreconf/rules.mk    2017-08-29 23:44:13.646044832 +0530
++++ b/nss/nss/coreconf/rules.mk        2017-08-29 23:47:37.442966042 +0530
 @@ -261,7 +261,7 @@
  ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
        $(AR) $(subst /,\\,$(OBJS))
@@ -123,34 +117,43 @@ diff -ru a/nss/coreconf/rules.mk b/nss/coreconf/rules.mk
  endif
        $(RANLIB) $@
  
-diff -ru a/nss/coreconf/SunOS5.mk b/nss/coreconf/SunOS5.mk
---- a/a/nss/coreconf/SunOS5.mk 2014-09-29 16:46:38.175421471 +0100
-+++ b/b/nss/coreconf/SunOS5.mk 2014-09-29 16:47:42.985012235 +0100
-@@ -48,8 +48,12 @@
+--- a/nss.org/nss/coreconf/SunOS5.mk   2017-08-29 23:44:13.646044832 +0530
++++ b/nss/nss/coreconf/SunOS5.mk       2017-08-29 23:45:00.902258445 +0530
+@@ -48,8 +48,11 @@
            # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
        endif
  else
 -      CC         = cc
 -      CCC        = CC
-+# CC is taken from environment automatically.
-+#     CC         = cc
-+# Use CXX from environment.
-+#     CCC        = CC
-+        CCC       = $(CXX)
-+
++      # CC is taken from environment automatically.
++      #       CC         = cc
++      # Use CXX from environment.
++      #       CCC        = CC
++    CCC       = $(CXX)
        ASFLAGS   += -Wa,-P
        OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
        ifndef BUILD_OPT
-diff -ru a/nss/Makefile b/nss/Makefile
---- a/a/nss/Makefile   2014-09-29 16:46:38.171421425 +0100
-+++ b/b/nss/Makefile   2014-09-29 16:47:42.987012253 +0100
+--- a/nss.org/nss/coreconf/Werror.mk   2017-08-29 23:44:13.646044832 +0530
++++ b/nss/nss/coreconf/Werror.mk       2017-08-29 23:44:23.994091608 +0530
+@@ -94,7 +94,8 @@
+     endif #ndef NSS_ENABLE_WERROR
+ 
+     ifeq ($(NSS_ENABLE_WERROR),1)
+-      WARNING_CFLAGS += -Werror
++      # We do not treat warnings as errors.
++        # WARNING_CFLAGS += -Werror
+     else
+       # Old versions of gcc (< 4.8) don't support #pragma diagnostic in 
functions.
+       # Use this to disable use of that #pragma and the warnings it 
suppresses.
+--- a/nss.org/nss/Makefile     2017-08-29 23:44:13.402043729 +0530
++++ b/nss/nss/Makefile 2017-08-29 23:44:39.774162939 +0530
 @@ -1,3 +1,5 @@
 +export AR
 +export RANLIB
  #! gmake
  #
  # This Source Code Form is subject to the terms of the Mozilla Public
-@@ -91,10 +91,10 @@
+@@ -89,10 +91,10 @@
  NSPR_CONFIGURE_ENV = CC=gcc CXX=g++
  endif
  ifdef CC
@@ -163,16 +166,3 @@ diff -ru a/nss/Makefile b/nss/Makefile
  endif
  # Remove -arch definitions. NSPR can't handle that.
  NSPR_CONFIGURE_ENV := $(filter-out -arch x86_64,$(NSPR_CONFIGURE_ENV))
-diff -ru nss.orig/nss/coreconf/Werror.mk nss/nss/coreconf/Werror.mk
---- a/nss.orig/nss/coreconf/Werror.mk  2016-02-12 15:36:18.000000000 +0100
-+++ b/nss/nss/coreconf/Werror.mk       2016-02-23 23:58:15.119584046 +0100
-@@ -94,7 +94,8 @@
-     endif #ndef NSS_ENABLE_WERROR
- 
-     ifeq ($(NSS_ENABLE_WERROR),1)
--      WARNING_CFLAGS += -Werror
-+# We do not treat warnings as errors.
-+#    WARNING_CFLAGS += -Werror
-     else
-       # Old versions of gcc (< 4.8) don't support #pragma diagnostic in 
functions.
-       # Use this to disable use of that #pragma and the warnings it 
suppresses.
commit 3c16600844cc77b0f7d3bb5913544338ac615494
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Fri Apr 21 14:41:53 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:00:39 2018 +0100

    nss: try to remove nss.windowbuild.patch.0
    
    It's not obvious to me what problem this solves.  Maybe the problem no
    longer exsists in the new upstream release?
    
    Change-Id: I16762e0024536afb821eac70c6ba3929d5b8927a
    Reviewed-on: https://gerrit.libreoffice.org/36798
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    Tested-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit 489414f2395b6c8008ebcda7c37a150fd4ed7ad5)
    (cherry picked from commit e2ec351222a76644f61800363274bb702fedbc36)

diff --git a/external/nss/UnpackedTarball_nss.mk 
b/external/nss/UnpackedTarball_nss.mk
index 4a90853f543a..1a7ed1373230 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -25,7 +25,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
                external/nss/nss.mingw.patch.3) \
     external/nss/ubsan.patch.0 \
     external/nss/clang-cl.patch.0 \
-    external/nss/nss.windowbuild.patch.0 \
     $(if $(filter IOS,$(OS)), \
         external/nss/nss-chromium-nss-static.patch \
         external/nss/nss-more-static.patch \
diff --git a/external/nss/nss.windowbuild.patch.0 
b/external/nss/nss.windowbuild.patch.0
deleted file mode 100644
index c25ff4d6437b..000000000000
--- a/external/nss/nss.windowbuild.patch.0
+++ /dev/null
@@ -1,55 +0,0 @@
---- ./nss/gtests/ssl_gtest/tls_connect.cc
-+++ ./nss/gtests/ssl_gtest/tls_connect.cc
-@@ -375,6 +375,12 @@
-   }
- }
- 
-+// A simple value of "a", "b".  Note that the preferred value of "a" is placed
-+// at the end, because the NSS API follows the now defunct NPN specification,
-+// which places the preferred (and default) entry at the end of the list.
-+// NSS will move this final entry to the front when used with ALPN.
-+const uint8_t alpn_dummy_val_[4] = { 0x01, 0x62, 0x01, 0x61 };
-+
- void TlsConnectTestBase::EnableAlpn() {
-   client_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_));
-   server_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_));
---- ./nss/gtests/ssl_gtest/tls_connect.h
-+++ ./nss/gtests/ssl_gtest/tls_connect.h
-@@ -113,12 +113,6 @@
-   SessionResumptionMode expected_resumption_mode_;
-   std::vector<std::vector<uint8_t>> session_ids_;
- 
--  // A simple value of "a", "b".  Note that the preferred value of "a" is 
placed
--  // at the end, because the NSS API follows the now defunct NPN 
specification,
--  // which places the preferred (and default) entry at the end of the list.
--  // NSS will move this final entry to the front when used with ALPN.
--  const uint8_t alpn_dummy_val_[4] = {0x01, 0x62, 0x01, 0x61};
--
-  private:
-   static inline Mode ToMode(const std::string& str) {
-     return str == "TLS" ? STREAM : DGRAM;
---- ./nss/gtests/ssl_gtest/ssl_loopback_unittest.cc
-+++ ./nss/gtests/ssl_gtest/ssl_loopback_unittest.cc
-@@ -51,6 +51,12 @@
-   CheckAlpn("a");
- }
- 
-+// A simple value of "a", "b".  Note that the preferred value of "a" is placed
-+// at the end, because the NSS API follows the now defunct NPN specification,
-+// which places the preferred (and default) entry at the end of the list.
-+// NSS will move this final entry to the front when used with ALPN.
-+const uint8_t alpn_dummy_val_[4] = { 0x01, 0x62, 0x01, 0x61 };
-+
- TEST_P(TlsConnectGeneric, ConnectAlpnClone) {
-   EnsureModelSockets();
-   client_model_->EnableAlpn(alpn_dummy_val_, sizeof(alpn_dummy_val_));
---- ./nss/gtests/ssl_gtest/databuffer.h
-+++ ./nss/gtests/ssl_gtest/databuffer.h
-@@ -10,6 +10,7 @@
- #include <algorithm>
- #include <cassert>
- #include <cstring>
-+#include <cstdint>
- #include <iomanip>
- #include <iostream>
- #if defined(WIN32) || defined(WIN64)
commit 4aa36ddd63d39435d26e3cc24bf29de9cf1734af
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Thu Aug 9 11:55:09 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 18:00:27 2018 +0100

    xmlsecurity: nsscrypto_initialize: try to avoid profile migration
    
    
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.35_release_notes
    
    NSS 3.35 and later will automatically migrate migrate profiles from the
    old "dbm:" BDB format to the new "sql:" SQLite format.
    
    The new format can be read by NSS 3.12 and later, which is old enough that
    it can be assumed to be available.
    
    However LibreOffice still shouldn't migrate the profile on its own:
    LO typically uses a Mozilla Firefox or Thunderbird profile, and if it is
    a system Firefox with system NSS libraries, then it's probably a bad
    idea for LO to migrate the profile under Firefox's nose, particularly
    considering the "partial migration" scenario if the profile is
    password-protected.
    
    Try to avoid this by checking if the profile is the old format and
    explicitly using the "dbm:" prefix to prevent the migration.
    
    Change-Id: I06480522f830ce74e2fb7bf79fee84ad80979b82
    Reviewed-on: https://gerrit.libreoffice.org/58756
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    (cherry picked from commit 61688aa1abd9db9adbb8dc5d5aacc6269b21fd27)
    Reviewed-on: https://gerrit.libreoffice.org/58974
    (cherry picked from commit dc5474b2e2f361eec981c6955630dbb020442eae)
    (cherry picked from commit 32dfccb3b007f4aba75d2705a50e3d9f1a15c146)

diff --git a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx 
b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
index 136c8d6b79d6..907126b0c13c 100644
--- a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
+++ b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
@@ -257,6 +257,20 @@ bool nsscrypto_initialize( const css::uno::Reference< 
css::uno::XComponentContex
     // there might be no profile
     if ( !sCertDir.isEmpty() )
     {
+        if (sCertDir.indexOf(':') == -1) //might be env var with explicit 
prefix
+        {
+            OUString sCertDirURL;
+            osl::FileBase::getFileURLFromSystemPath(
+                OStringToOUString(sCertDir, osl_getThreadTextEncoding()),
+                sCertDirURL);
+            osl::DirectoryItem item;
+            if (osl::FileBase::E_NOENT != osl::DirectoryItem::get(sCertDirURL 
+ "/cert8.db", item) &&
+                osl::FileBase::E_NOENT == osl::DirectoryItem::get(sCertDirURL 
+ "/cert9.db", item))
+            {
+                SAL_INFO("xmlsecurity.xmlsec", "nsscrypto_initialize: trying 
to avoid profile migration");
+                sCertDir = "dbm:" + sCertDir;
+            }
+        }
         if( NSS_InitReadWrite( sCertDir.getStr() ) != SECSuccess )
         {
             SAL_INFO("xmlsecurity.xmlsec", "Initializing NSS with profile 
failed.");
commit 9c22c9d02aae236eaa848c8c765763e781996332
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Sep 7 13:37:30 2017 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:56 2018 +0100

    Resolves: tdf#112269 libwpd fix
    
    Change-Id: I0d8d6887fa360c05d5f9e2a070410c77926b9ce1
    Reviewed-on: https://gerrit.libreoffice.org/42056
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: David Tardon <dtar...@redhat.com>
    (cherry picked from commit 05da1c67e49a2d758799db735a826c4d292fea44)
    (cherry picked from commit 9618de6c0b58770d79761ad28386a701daf4f3df)

diff --git a/external/libwpd/UnpackedTarball_libwpd.mk 
b/external/libwpd/UnpackedTarball_libwpd.mk
index 7fb7c3b2181d..495824d804b5 100644
--- a/external/libwpd/UnpackedTarball_libwpd.mk
+++ b/external/libwpd/UnpackedTarball_libwpd.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libwpd,0))
 $(eval $(call gb_UnpackedTarball_add_patches,libwpd,\
        external/libwpd/libwpd-vs2013.patch.1 \
        $(if $(SYSTEM_REVENGE),,external/libwpd/rpath.patch) \
+       external/libwpd/libwpd-tdf112269.patch.1 \
 ))
 
 ifneq ($(OS),MACOSX)
diff --git a/external/libwpd/libwpd-tdf112269.patch.1 
b/external/libwpd/libwpd-tdf112269.patch.1
new file mode 100644
index 000000000000..bc79ab0eaccd
--- /dev/null
+++ b/external/libwpd/libwpd-tdf112269.patch.1
@@ -0,0 +1,42 @@
+--- libwpd/src/lib/WP5StylesListener.cpp
++++ libwpd/src/lib/WP5StylesListener.cpp
+@@ -85,8 +85,9 @@
+               m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 0.0);
+               m_currentPage.setPageSpan(1);
+ 
+-              for (std::vector<WPXHeaderFooter>::const_iterator HFiter = 
(m_nextPage.getHeaderFooterList()).begin();
+-                      HFiter != (m_nextPage.getHeaderFooterList()).end(); 
++HFiter)
++              std::vector<WPXHeaderFooter> headerFooterList = 
m_nextPage.getHeaderFooterList();
++              for (std::vector<WPXHeaderFooter>::const_iterator HFiter = 
headerFooterList.begin();
++                      HFiter != headerFooterList.end(); ++HFiter)
+               {
+                       if ((*HFiter).getOccurrence() != NEVER)
+                       {
+--- libwpd/src/lib/WP42StylesListener.cpp
++++ libwpd/src/lib/WP42StylesListener.cpp
+@@ -84,8 +84,9 @@
+                       m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 
0.0);
+                       m_currentPage.setPageSpan(1);
+ 
+-                      for (std::vector<WPXHeaderFooter>::const_iterator 
HFiter = (m_nextPage.getHeaderFooterList()).begin();
+-                              HFiter != 
(m_nextPage.getHeaderFooterList()).end(); ++HFiter)
++                      std::vector<WPXHeaderFooter> headerFooterList = 
m_nextPage.getHeaderFooterList();
++                      for (std::vector<WPXHeaderFooter>::const_iterator 
HFiter = headerFooterList.begin();
++                              HFiter != headerFooterList.end(); ++HFiter)
+                       {
+                               if ((*HFiter).getOccurrence() != NEVER)
+                               {
+--- libwpd/src/lib/WP1StylesListener.cpp
++++ libwpd/src/lib/WP1StylesListener.cpp
+@@ -83,8 +83,9 @@
+                       m_currentPage = WPXPageSpan(m_pageList.back(), 0.0, 
0.0);
+                       m_currentPage.setPageSpan(1);
+ 
+-                      for (std::vector<WPXHeaderFooter>::const_iterator 
HFiter = (m_nextPage.getHeaderFooterList()).begin();
+-                              HFiter != 
(m_nextPage.getHeaderFooterList()).end(); ++HFiter)
++                      std::vector<WPXHeaderFooter> headerFooterList = 
m_nextPage.getHeaderFooterList();
++                      for (std::vector<WPXHeaderFooter>::const_iterator 
HFiter = headerFooterList.begin();
++                              HFiter != headerFooterList.end(); ++HFiter)
+                       {
+                               if ((*HFiter).getOccurrence() != NEVER)
+                               {
commit 8bae87940b5ce773bc7439588da10804eec570ed
Author:     David Tardon <dtar...@redhat.com>
AuthorDate: Thu Jun 15 13:17:40 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:47 2018 +0100

    use correct size
    
    (cherry picked from commit d1ae31a1fc49ec7a68b2a07c5e5e97d95b346ca9)
    
    Change-Id: I620ada9b209bb2084eccaa81385beb6306d6a3d0
    Reviewed-on: https://gerrit.libreoffice.org/38827
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    Tested-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit 54e7b46718bf2f47c7f55a93cfbb23681429ffc6)
    (cherry picked from commit 2f3482382f4c07b5caf21dc26d34d621efdc66e8)

diff --git a/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 
b/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1
new file mode 100644
index 000000000000..9be6a007b85d
--- /dev/null
+++ b/external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1
@@ -0,0 +1,25 @@
+From 68b3b74569881248bfb6cbb4266177cc253b292f Mon Sep 17 00:00:00 2001
+From: David Tardon <dtar...@redhat.com>
+Date: Sat, 8 Apr 2017 14:03:29 +0200
+Subject: [PATCH] ofz#1037 resize vector correctly
+
+---
+ src/lib/MsWrd1Parser.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib/MsWrd1Parser.cxx b/src/lib/MsWrd1Parser.cxx
+index 63547e6..3626064 100644
+--- a/src/lib/MsWrd1Parser.cxx
++++ b/src/lib/MsWrd1Parser.cxx
+@@ -902,7 +902,7 @@ bool MsWrd1Parser::readFootnoteCorrespondance(MWAWVec2i 
limits)
+     int id = fIt++->second;
+     fPos[1] = fIt==footnoteMap.end() ? m_state->m_eot : fIt->first;
+     if (id >= int(m_state->m_footnotesList.size()))
+-      m_state->m_footnotesList.resize(size_t(id),0);
++      m_state->m_footnotesList.resize(size_t(id)+1,0);
+     m_state->m_footnotesList[size_t(id)]=fPos;
+   }
+   ascii().addDelimiter(input->tell(),'|');
+-- 
+2.13.0
+
diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk 
b/external/libmwaw/UnpackedTarball_libmwaw.mk
index 2adf7ffad639..068a7a241dea 100644
--- a/external/libmwaw/UnpackedTarball_libmwaw.mk
+++ b/external/libmwaw/UnpackedTarball_libmwaw.mk
@@ -37,6 +37,7 @@ endif
 
 $(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \
        
external/libmwaw/0001-if-ptr-to-member-var.-is-defined-ensure-the-class-is.patch.1
 \
+       external/libmwaw/0001-ofz-1037-resize-vector-correctly.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
commit cdb83707f884bd012c0926704f5919ea215da90e
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Mon Jul 9 12:33:33 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:25 2018 +0100

    curl: in 7.52.1, the parameter is documented as --with-libidn2,
    
    but actually it is --with-libidn (it's consistent in later versions).
    
    Change-Id: Ib24767974173e4c737fc10d9420e6dbad3440239
    (cherry picked from commit 66a2c1fe2e4fd57987ae62f6274a89fab0fab58a)

diff --git a/external/curl/ExternalProject_curl.mk 
b/external/curl/ExternalProject_curl.mk
index 831b57088dd6..122cac82a525 100644
--- a/external/curl/ExternalProject_curl.mk
+++ b/external/curl/ExternalProject_curl.mk
@@ -47,6 +47,7 @@ $(call gb_ExternalProject_get_state_target,curl,build):
                                --with-nss$(if $(SYSTEM_NSS),,="$(call 
gb_UnpackedTarball_get_dir,nss)/dist/out")) \
                        --without-ssl --without-gnutls --without-polarssl 
--without-cyassl --without-axtls \
                        --enable-ftp --enable-http --enable-ipv6 \
+                       --without-libidn \
                        --without-libidn2 --without-libpsl --without-librtmp \
                        --without-libssh2 --without-metalink --without-nghttp2 \
                        --disable-ares \
commit 1ed765e3528ce039df7ed855c01ffac495ddbe3a
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Wed Aug 9 16:52:18 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:18 2018 +0100

    curl: disable protocols nobody needs in MSVC build
    
    These are disabled via configure on other platforms.
    
    Change-Id: I4e27865396f3817ceb5645ab8589c21fdaa5afab
    (cherry picked from commit 152a1d279cbc81e7b5f076a2c4b20c12c6929ce6)
    (cherry picked from commit db39b7ec54f3a8875c083b064cc2c7a2a76f9fcf)

diff --git a/external/curl/UnpackedTarball_curl.mk 
b/external/curl/UnpackedTarball_curl.mk
index f9f3a8bf6016..1179153959a5 100644
--- a/external/curl/UnpackedTarball_curl.mk
+++ b/external/curl/UnpackedTarball_curl.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\
 
 $(eval $(call gb_UnpackedTarball_add_patches,curl,\
        external/curl/curl-msvc.patch.1 \
+       external/curl/curl-msvc-disable-protocols.patch.1 \
        external/curl/curl-msvc-schannel.patch.1 \
        external/curl/curl-7.26.0_mingw.patch \
        external/curl/curl-7.26.0_win-proxy.patch \
diff --git a/external/curl/curl-msvc-disable-protocols.patch.1 
b/external/curl/curl-msvc-disable-protocols.patch.1
new file mode 100644
index 000000000000..38ff5ccb5ac0
--- /dev/null
+++ b/external/curl/curl-msvc-disable-protocols.patch.1
@@ -0,0 +1,24 @@
+disable protocols nobody needs in MSVC build
+
+--- curl/lib/config-win32.h.orig       2017-08-09 16:43:29.464000000 +0200
++++ curl/lib/config-win32.h    2017-08-09 16:47:38.549200000 +0200
+@@ -733,4 +733,19 @@
+ #  define ENABLE_IPV6 1
+ #endif
+ 
++#define CURL_DISABLE_DICT 1
++#define CURL_DISABLE_FILE 1
++//#undef CURL_DISABLE_FTP
++#define CURL_DISABLE_GOPHER 1
++//#undef CURL_DISABLE_HTTP
++#define CURL_DISABLE_IMAP 1
++#define CURL_DISABLE_LDAP 1
++#define CURL_DISABLE_LDAPS 1
++#define CURL_DISABLE_POP3 1
++#define CURL_DISABLE_RTSP 1
++#define CURL_DISABLE_SMB 1
++#define CURL_DISABLE_SMTP 1
++#define CURL_DISABLE_TELNET 1
++#define CURL_DISABLE_TFTP 1
++
+ #endif /* HEADER_CURL_CONFIG_WIN32_H */
commit 377c8151e67674c6a90a0d98db2573142e7c2022
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Wed Aug 9 17:14:11 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:12 2018 +0100

    curl: disable more unnecessary stuff
    
    Only HTTP and FTP should be required.
    
    Add --without-libpsl --disable-ares --disable-rtsp --disable-smb,
    and --without-libidn was replaced with --without-libidn2.
    
    Change-Id: Icf6afc8bff4cc7ad7a5a95b0c3f9a345a7cf67a3
    (cherry picked from commit 9fd26734d3cbbd9b58f4b08058a75063632f57d1)
    (cherry picked from commit 9d75749f70ab4997b9450c855285fb2a2c89d777)

diff --git a/external/curl/ExternalProject_curl.mk 
b/external/curl/ExternalProject_curl.mk
index d1ddf7f81fdf..831b57088dd6 100644
--- a/external/curl/ExternalProject_curl.mk
+++ b/external/curl/ExternalProject_curl.mk
@@ -46,11 +46,14 @@ $(call gb_ExternalProject_get_state_target,curl,build):
                                --with-darwinssl,\
                                --with-nss$(if $(SYSTEM_NSS),,="$(call 
gb_UnpackedTarball_get_dir,nss)/dist/out")) \
                        --without-ssl --without-gnutls --without-polarssl 
--without-cyassl --without-axtls \
-                       --without-libidn --enable-ftp --enable-ipv6 
--enable-http --disable-gopher \
-                       --disable-file --disable-ldap --disable-telnet 
--disable-dict --without-libssh2 \
-                       --without-librtmp --disable-ldaps --disable-tftp 
--disable-pop3 \
-                       --disable-imap --disable-smtp --disable-manual 
--without-metalink \
-                       --without-nghttp2 \
+                       --enable-ftp --enable-http --enable-ipv6 \
+                       --without-libidn2 --without-libpsl --without-librtmp \
+                       --without-libssh2 --without-metalink --without-nghttp2 \
+                       --disable-ares \
+                       --disable-dict --disable-file --disable-gopher 
--disable-imap \
+                       --disable-ldap --disable-ldaps --disable-manual 
--disable-pop3 \
+                       --disable-rtsp --disable-smb --disable-smtp 
--disable-telnet  \
+                       --disable-tftp  \
                        $(if $(filter LINUX,$(OS)),--without-ca-bundle 
--without-ca-path) \
                        $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) 
--host=$(HOST_PLATFORM)) \
                        $(if $(filter 
TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \
commit c9e01f229f6222182efcb39a0098da4684b0f8cf
Author:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
AuthorDate: Tue May 9 13:23:59 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:59:04 2018 +0100

    cannot sign read-only files, so u+w the redistributables
    
    Change-Id: I5290d2093555d00e7b7cd4e21098d54af58ee6b8
    (cherry picked from commit 5e062501eb6c3abe5219777fd9267702689785c7)
    (cherry picked from commit 1e906500e36d9bd54ca3cc8ddb9a28b37c3737c3)

diff --git a/postprocess/CustomTarget_signing.mk 
b/postprocess/CustomTarget_signing.mk
index 1d7193cc517c..61336f40ac00 100644
--- a/postprocess/CustomTarget_signing.mk
+++ b/postprocess/CustomTarget_signing.mk
@@ -32,6 +32,7 @@ ifneq ($(ENABLE_DBGUTIL),TRUE)
        EXCLUDELIST=$(shell $(gb_MKTEMP)) && \
        cat $(SRCDIR)/postprocess/signing/no_signing.txt > $$EXCLUDELIST && \
        echo "$(foreach lib,$(gb_MERGEDLIBS),$(call 
gb_Library_get_filename,$(lib)))" | tr ' ' '\n' >> $$EXCLUDELIST && \
+       chmod u+w $(foreach 
lib,$(MSVC_DLLS),$(INSTDIR)/program/shlxthdl/$(lib)) && \
        $(PERL) $(SRCDIR)/postprocess/signing/signing.pl \
                        -e $$EXCLUDELIST \
                        -l $(subst .done,_log.txt,$@) \
commit 3f7bb10adfcb7ca1fb3a1ab2b94bc479cd344e65
Author:     David Ostrovsky <da...@ostrovsky.org>
AuthorDate: Sun Jan 15 11:05:03 2017 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:56 2018 +0100

    ZipFile: make it work on MSVC 14.0
    
    Change-Id: I99a00c61634375a75e15a8c1530213f5aad25b51
    (cherry picked from commit 32c9876d51fe0357ba66eb6292f772728080510b)
    (cherry picked from commit e06a33ee928240259649438951b81c118a2db925)

diff --git a/package/source/zipapi/ZipFile.cxx 
b/package/source/zipapi/ZipFile.cxx
index 037e08e2eaad..b297e858fa6b 100644
--- a/package/source/zipapi/ZipFile.cxx
+++ b/package/source/zipapi/ZipFile.cxx
@@ -34,6 +34,7 @@
 #include <osl/diagnose.h>
 
 #include <algorithm>
+#include <iterator>
 #include <vector>
 
 #include "blowfishcontext.hxx"
commit ba9e91e5c0ae33116cb4c9cd9664e94b32402864
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Thu May 26 20:34:09 2016 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:50 2018 +0100

    canvas: error C2397: conversion from 'size_t' to 'BYTE' requires ...
    
    a narrowing conversion (at least other people's MSVC says so, mine
    doesn't complain)
    
    Change-Id: Ic87da76567778884b81361067075fd9325e2d276
    (cherry picked from commit f2d039f67743c7588df5cfd725915627b6efb0ba)
    (cherry picked from commit a92e1e04ecfd04d799703f7daf66a8338c7326bc)

diff --git a/canvas/source/directx/dx_canvasbitmap.cxx 
b/canvas/source/directx/dx_canvasbitmap.cxx
index e2e249a9da47..35877ddb639b 100644
--- a/canvas/source/directx/dx_canvasbitmap.cxx
+++ b/canvas/source/directx/dx_canvasbitmap.cxx
@@ -68,7 +68,8 @@ namespace dxcanvas
             {
                 // this here fills palette with grey level colors, starting
                 // from 0,0,0 up to 255,255,255
-                bmiColors[i] = { i,i,i,i };
+                BYTE const b(i);
+                bmiColors[i] = { b,b,b,b };
             }
         }
     };
commit 5ded015dc0d7fb31e0b25fdbb1a1032503847f43
Author:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
AuthorDate: Fri Mar 24 12:57:11 2017 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:43 2018 +0100

    use VS 2015 to target XP with the 7.1A SDK
    
    Change-Id: I527a524c282d4314e57c30cdd9eb89bff38443db
    (cherry picked from commit 89513bf1ae4933405c65a04d57a2a585fa8213d8)

diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index 9cbba2dbc405..63b9e29d5d55 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -54,7 +54,7 @@ gb_COMPILERDEFS := \
        -D_MT \
        -D_DLL \
        -DCPPU_ENV=$(gb_CPPU_ENV) \
-       $(if $(findstring 
120_70,$(VCVER)_$(WINDOWS_SDK_VERSION)),-D_USING_V110_SDK71_) \
+       $(if $(findstring 
140_70,$(VCVER)_$(WINDOWS_SDK_VERSION)),-D_USING_V110_SDK71_) \
 
 ifeq ($(CPUNAME),INTEL)
 gb_COMPILERDEFS += \
commit 3ead6120f2c988d2b2f021890253c7435b0731cb
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Mon Oct 23 15:31:52 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:31 2018 +0100

    tdf#112928: don't use "magic statics" for 5.4 (fails on WinXP)
    
    
https://stackoverflow.com/questions/32517234/access-violation-on-static-initialization
    
    Change-Id: Ibda63c6307e6dc4ae1eec4b0c673a987f33bed94
    Reviewed-on: https://gerrit.libreoffice.org/43721
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    (cherry picked from commit e0c2c9658438e1d8f0a9423ae6e6a853b111008f)

diff --git a/configure.ac b/configure.ac
index 0b0050338ba5..ca948f29821f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6115,7 +6115,9 @@ if test "$GCC" = "yes"; then
 else
     # MSVC has sprouted C++11 thread-safe statics in 2015
     # 
http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
-    if test "$COM" = "MSC" -a "$VCVER" -ge "140"; then
+    # but it doesn't work on Windows XP, so don't use it for 32-bit builds 
baselined for Windows XP
+    if test "$COM" = "MSC" -a "$VCVER" -ge "140" -a "$with_windows_sdk" != 
"7.1A"; then
+        HAVE_THREADSAFE_STATICS=TRUE
         AC_DEFINE(HAVE_THREADSAFE_STATICS)
         AC_MSG_RESULT([yes])
     else
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index 382df3e61597..9cbba2dbc405 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -149,6 +149,7 @@ gb_CFLAGS := \
        -Gs \
        -GS \
        $(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+       $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
        -nologo \
        -W4 \
        -wd4091 \
@@ -190,6 +191,7 @@ gb_CXXFLAGS := \
        -GS \
        -Gy \
        $(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+       $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
        -nologo \
        -W4 \
        -wd4091 \
commit 26e09219f39f0af272b73f6229478468ea6c96df
Author:     David Tardon <dtar...@redhat.com>
AuthorDate: Thu Nov 3 17:16:29 2016 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:21 2018 +0100

    fix build of bundled python3 with bundled zlib
    
    Change-Id: I383a04ea926187263b1d7e11c548817fa9ca3fb6
    (cherry picked from commit b2c16b3563a4a8e4b54f6fc0cb1be597e7c5b27d)
    (cherry picked from commit c65e855d381bcc1e048252624009eeba09163e22)

diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index ee4c90243462..f91399c0af52 100755
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -93,6 +93,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
                        )" \
                && MAKEFLAGS= $(MAKE) \
                        $(if $(filter 
MACOSX,$(OS)),DESTDIR=$(EXTERNAL_WORKDIR)/python-inst install) \
+                       $(if 
$(SYSTEM_ZLIB),,ZLIB_INCDIR=$(WORKDIR)/UnpackedTarball/zlib) \
                && ln -s build/lib.* LO_lib \
        )
 
diff --git a/external/python3/internal-zlib.patch.0 
b/external/python3/internal-zlib.patch.0
index d045f468231c..abe2630bd2e7 100644
--- a/external/python3/internal-zlib.patch.0
+++ b/external/python3/internal-zlib.patch.0
@@ -19,6 +19,15 @@
  
 --- setup.py
 +++ setup.py
+@@ -1362,7 +1362,7 @@
+         #
+         # You can upgrade zlib to version 1.1.4 yourself by going to
+         # http://www.gzip.org/zlib/
+-        zlib_inc = find_file('zlib.h', [], inc_dirs)
++        zlib_inc = [os.environ.get('ZLIB_INCDIR')]
+         have_zlib = False
+         if zlib_inc is not None:
+             zlib_h = zlib_inc[0] + '/zlib.h'
 @@ -1379,13 +1379,13 @@
                          version = line.split()[2]
                          break
commit 3bfdcf1bfe26fdd7667fc67876f0a314eb6a7f25
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Fri Sep 16 16:07:47 2016 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:13 2018 +0100

    external/python3: Fix building against external/zlib
    
    ...whose (static) library is called "zlib" instead of just "z".
    
    (I ran into this when trying to do a 32-bit Linux build in a 64-bit 
environment,
    with only very limited 32-bit support installed in the system.)
    
    Reviewed-on: https://gerrit.libreoffice.org/28964
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    Tested-by: Stephan Bergmann <sberg...@redhat.com>
    (cherry picked from commit 5fb8a050210a7cabf49daac0da8f80b94d60de2c)
    
    Conflicts:
                external/python3/ExternalProject_python3.mk
    
    Change-Id: I9286975917ddf643a22803561677af035e66fb98
    (cherry picked from commit 4fd6effb6e85398d4143f09897cc6215d75686dc)

diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index 38ed6700435e..ee4c90243462 100755
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -85,6 +85,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
                LDFLAGS="$(strip $(LDFLAGS) \
                        $(if $(SYSTEM_OPENSSL),,-L$(call 
gb_UnpackedTarball_get_dir,openssl)) \
                        $(if $(SYSTEM_EXPAT),,-L$(gb_StaticLibrary_WORKDIR)) \
+                       $(if $(SYSTEM_ZLIB),,-L$(gb_StaticLibrary_WORKDIR)) \
                        $(if $(SYSBASE), -L$(SYSBASE)/usr/lib) \
                        $(if $(filter WNT-GCC,$(OS)-$(COM)), -shared-libgcc \
                                $(if 
$(MINGW_SHARED_GCCLIB),-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2 
-Wl$(COMMA)--export-all-symbols)) \
diff --git a/external/python3/internal-zlib.patch.0 
b/external/python3/internal-zlib.patch.0
new file mode 100644
index 000000000000..d045f468231c
--- /dev/null
+++ b/external/python3/internal-zlib.patch.0
@@ -0,0 +1,46 @@
+--- configure
++++ configure
+@@ -11607,13 +11607,13 @@
+       ;;
+ esac
+ 
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
+-$as_echo_n "checking for inflateCopy in -lz... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lzlib" 
>&5
++$as_echo_n "checking for inflateCopy in -lzlib... " >&6; }
+ if ${ac_cv_lib_z_inflateCopy+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lz  $LIBS"
++LIBS="-lzlib  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+--- setup.py
++++ setup.py
+@@ -1379,13 +1379,13 @@
+                         version = line.split()[2]
+                         break
+             if version >= version_req:
+-                if (self.compiler.find_library_file(lib_dirs, 'z')):
++                if (self.compiler.find_library_file(lib_dirs, 'zlib')):
+                     if host_platform == "darwin":
+                         zlib_extra_link_args = ('-Wl,-search_paths_first',)
+                     else:
+                         zlib_extra_link_args = ()
+                     exts.append( Extension('zlib', ['zlibmodule.c'],
+-                                           libraries = ['z'],
++                                           libraries = ['zlib'],
+                                            extra_link_args = 
zlib_extra_link_args))
+                     have_zlib = True
+                 else:
+@@ -1399,7 +1399,7 @@
+         # crc32 if we have it.  Otherwise binascii uses its own.
+         if have_zlib:
+             extra_compile_args = ['-DUSE_ZLIB_CRC32']
+-            libraries = ['z']
++            libraries = ['zlib']
+             extra_link_args = zlib_extra_link_args
+         else:
+             extra_compile_args = []
commit 85e0dfaefea39fe671b9b9508a206dd456a0e9f5
Author:     Thorsten Behrens <thorsten.behr...@cib.de>
AuthorDate: Mon Jul 23 03:07:29 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:58:05 2018 +0100

    Fix VS2015 build in the presence of newer SDKs
    
    This broke e.g. when installing VS2017 alongside - following
    commits or partial commits from master are included:
    
    - Fix include and library paths for at least me
      (cherry picked from commit b076e8f673d1714ee8b6f991eb2ca299b6fa8949)
      Change-Id: I647ec1d0924ba4c743e4c16d2fa0a05014e0b2e3
    
    - Adapt to Windows SDK 10.0.15063
      (cherry picked from commit a4d1ed6ba2a81b4284cd360f44b6723bc9bfaf85)
      Change-Id: Ia403e4bde7b1abf7e2c9d9f084a05af2d1311617
    
    - Part of 'Support MSVC 15.0'
      (cherry picked from commit b862cbdd345ec57c2595629ded6a3969e1e65d56)
      Change-Id: Id5783ac6a01612475ac2b62856a793337865d709
    
    - Lets see if basing WINDOWS_SDK_BINDIR_NO_ARCH on WINDOWS_SDK_HOME works 
better
      (cherry picked from commit e8ffe54dec568332c301f8510f3186c04421b911)
      Change-Id: I13a369ba34b63392ec42333dbc1e538b49a24ca1
    
    Change-Id: I13a369ba34b63392ec42333dbc1e538b59a24ca1
    (cherry picked from commit bac6421688c71a3ed4b6decdc060d7bd467432f6)

diff --git a/configure.ac b/configure.ac
index 984e6ed429f8..0b0050338ba5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3342,12 +3342,26 @@ find_ucrt()
         UCRTSDKDIR=$formatted_path
         reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v10.0/ProductVersion"
         UCRTVERSION=$regvalue
+        # Rest if not exist
+        if ! test -d "${UCRTSDKDIR}Include/$UCRTVERSION/ucrt"; then
+          UCRTSDKDIR=
+          AC_MSG_RESULT([UCRT: give up registry detection and retrieve from 
IDE env file])
+        fi
     fi
     if test -z "$UCRTSDKDIR"; then
         if test -f "$VC_PRODUCT_DIR/../Common7/Tools/vsvars32.bat"; then
             PathFormat "`win_get_env_from_vsvars32bat "UniversalCRTSdkDir"`"
             UCRTSDKDIR=$formatted_path
-            UCRTVERSION=`win_get_env_from_vsvars32bat "UCRTVersion"`
+            UCRTVERSION=$(win_get_env_from_vsvars32bat UCRTVersion)
+            dnl Hack needed at least by tml:
+            if test "$UCRTVERSION" = 10.0.15063.0 \
+                -a ! -f "${UCRTSDKDIR}Include/10.0.15063.0/um/sqlext.h" \
+                -a -f "${UCRTSDKDIR}Include/10.0.14393.0/um/sqlext.h"
+            then
+                UCRTVERSION=10.0.14393.0
+            fi
+        else
+          AC_MSG_ERROR([No UCRT found])
         fi
     fi
 }
@@ -5268,9 +5282,9 @@ find_dotnetsdk46()
 find_winsdk_version()
 {
     # Args: $1 : SDK version as in "6.0A", "7.0" etc
-    # Return values: $winsdktest, $winsdklibsubdir
+    # Return values: $winsdktest, $winsdkbinsubdir, $winsdklibsubdir
 
-    unset winsdktest winsdklibsubdir
+    unset winsdktest winsdkbinsubdir winsdklibsubdir
 
     # Why we look for them in this particular order I don't know. But OTOH I
     case "$1" in
@@ -5303,7 +5317,21 @@ find_winsdk_version()
         if test -n "$regvalue"; then
             winsdktest=$regvalue
             reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v${1}/ProductVersion"
+            if test -n "$regvalue"; then
+                winsdkbinsubdir="$regvalue".0
+            fi
             winsdklibsubdir=$regvalue
+            if test "$regvalue" = "10.0.14393"; then
+                winsdklibsubdir="10.0.14393.0"
+            elif test "$regvalue" = "10.0.15063"; then
+                winsdklibsubdir="10.0.15063.0"
+                dnl Hack needed at least by tml:
+                if test ! -f "${winsdktest}/Include/10.0.15063.0/um/sqlext.h" \
+                    -a -f "${winsdktest}/Include/10.0.14393.0/um/sqlext.h"
+                then
+                    winsdklibsubdir="10.0.14393.0"
+                fi
+            fi
             return
         fi
         ;;
@@ -5313,7 +5341,7 @@ find_winsdk_version()
 find_winsdk()
 {
     # Args: $1 (optional) : list of acceptable SDK versions
-    # Return value: $winsdktest
+    # Return value: From find_winsdk_version
 
     unset winsdktest
 
@@ -5385,15 +5413,137 @@ find_msvc_x64_dlls()
     done
 }
 
+dnl =========================================
+dnl Check for the Windows  SDK.
+dnl =========================================
+if test "$_os" = "WINNT"; then
+    AC_MSG_CHECKING([for Windows SDK])
+    if test "$build_os" = "cygwin"; then
+        find_winsdk
+        WINDOWS_SDK_HOME=$winsdktest
+
+        # normalize if found
+        if test -n "$WINDOWS_SDK_HOME"; then
+            WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
+            WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
+        fi
+
+        WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir
+    fi
+
+    if test -n "$WINDOWS_SDK_HOME"; then
+        # Remove a possible trailing backslash
+        WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'`
+
+        if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then
+            have_windows_sdk_headers=yes
+        elif test -f "$WINDOWS_SDK_HOME/Include/um/adoint.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/um/SqlUcode.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/um/usp10.h"; then
+            have_windows_sdk_headers=yes
+        elif test -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/adoint.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/SqlUcode.h" \
+             -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/usp10.h"; 
then
+            have_windows_sdk_headers=yes
+        else
+            have_windows_sdk_headers=no
+        fi
+
+        if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then
+            have_windows_sdk_libs=yes
+        elif test -f 
"$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/$WINDOWS_SDK_ARCH/user32.lib"; then
+            have_windows_sdk_libs=yes
+        else
+            have_windows_sdk_libs=no
+        fi
+
+        if test $have_windows_sdk_headers = no -o $have_windows_sdk_libs = no; 
then
+            AC_MSG_ERROR([Some (all?) Windows SDK files not found, please 
check if all needed parts of
+the  Windows SDK are installed.])
+        fi
+    fi
+
+    if test -z "$WINDOWS_SDK_HOME"; then
+        AC_MSG_RESULT([no, hoping the necessary headers and libraries will be 
found anyway!?])
+    elif echo $WINDOWS_SDK_HOME | grep "v7.1" >/dev/null 2>/dev/null; then
+        WINDOWS_SDK_VERSION=70
+        AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)])
+    elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then
+        WINDOWS_SDK_VERSION=80
+        AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)])
+        dnl compatibility warning if not explicitly choosing the 80 SDK:
+        if test -z "$with_windows_sdk"; then
+            AC_MSG_WARN([If a build should run on Windows XP,])
+            AC_MSG_WARN([use --with-windows-sdk=7.1A])
+            add_warning "If a build should run on Windows XP,"
+            add_warning "use --with-windows-sdk=7.1A"
+        fi
+    elif echo $WINDOWS_SDK_HOME | grep "8.1" >/dev/null 2>/dev/null; then
+        WINDOWS_SDK_VERSION=81
+        AC_MSG_RESULT([found Windows SDK 8.1 ($WINDOWS_SDK_HOME)])
+    elif echo $WINDOWS_SDK_HOME | grep "/10" >/dev/null 2>/dev/null; then
+        WINDOWS_SDK_VERSION=10
+        AC_MSG_RESULT([found Windows SDK 10.0 ($WINDOWS_SDK_HOME)])
+    else
+        AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
+    fi
+    PathFormat "$WINDOWS_SDK_HOME"
+    WINDOWS_SDK_HOME="$formatted_path"
+    if test "$build_os" = "cygwin"; then
+        SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/Include"
+        if test -d "$WINDOWS_SDK_HOME/include/um"; then
+            SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um 
-I$WINDOWS_SDK_HOME/include/shared"
+        elif test -d "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um"; then
+            SOLARINC="$SOLARINC 
-I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um 
-I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/shared"
+        fi
+    fi
+
+    dnl TODO: solenv/bin/modules/installer/windows/msiglobal.pm wants to use a
+    dnl WiLangId.vbs that is included only in some SDKs (e.g., included in v7.1
+    dnl but not in v8.0), so allow this to be overridden with a
+    dnl WINDOWS_SDK_WILANGID for now; a full-blown --with-windows-sdk-wilangid
+    dnl and configuration error if no WiLangId.vbs is found would arguably be
+    dnl better, but I do not know under which conditions exactly it is needed 
by
+    dnl msiglobal.pm:
+    if test -z "$WINDOWS_SDK_WILANGID" -a -n "$WINDOWS_SDK_HOME"; then
+        
WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/Samples/sysmgmt/msi/scripts/WiLangId.vbs
+        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
+            
WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs
+        fi
+        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
+            WINDOWS_SDK_WILANGID=$(cygpath -sm "C:/Program Files (x86)/Windows 
Kits/8.1/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs")
+        fi
+        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
+            AC_MSG_WARN([WiLangId.vbs not found - building translated packages 
will fail])
+            add_warning "WiLangId.vbs not found - building translated packages 
will fail"
+        fi
+    fi
+fi
+AC_SUBST(WINDOWS_SDK_HOME)
+AC_SUBST(WINDOWS_SDK_LIB_SUBDIR)
+AC_SUBST(WINDOWS_SDK_VERSION)
+AC_SUBST(WINDOWS_SDK_WILANGID)
+
 if test "$build_os" = "cygwin"; then
-    dnl Check midl.exe
+    dnl Check midl.exe; this being the first check for a tool in the SDK bin
+    dnl dir, it also determines that dir's path w/o an arch segment if any,
+    dnl WINDOWS_SDK_BINDIR_NO_ARCH:
     AC_MSG_CHECKING([for midl.exe])
 
     find_winsdk
-    if test -f "$winsdktest/Bin/midl.exe"; then
-        MIDL_PATH="$winsdktest/Bin"
+    if test -n "$winsdkbinsubdir" \
+        -a -f "$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH/midl.exe"
+    then
+        MIDL_PATH=$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH
+        WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin/$winsdkbinsubdir
     elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/midl.exe"; then
-        MIDL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH"
+        MIDL_PATH=$winsdktest/Bin/$WINDOWS_SDK_ARCH
+        WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin
+    elif test -f "$winsdktest/Bin/midl.exe"; then
+        MIDL_PATH=$winsdktest/Bin
+        WINDOWS_SDK_BINDIR_NO_ARCH=$WINDOWS_SDK_HOME/Bin
     fi
     if test ! -f "$MIDL_PATH/midl.exe"; then
         AC_MSG_ERROR([midl.exe not found in $winsdktest/Bin/$WINDOWS_SDK_ARCH, 
Windows SDK installation broken?])
@@ -5404,6 +5554,18 @@ if test "$build_os" = "cygwin"; then
     # Convert to posix path with 8.3 filename restrictions ( No spaces )
     MIDL_PATH=`win_short_path_for_make "$MIDL_PATH"`
 
+    if test -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msiinfo.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msidb.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/uuidgen.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/msitran.exe"; then :
+    elif test -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msiinfo.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msidb.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/uuidgen.exe" \
+         -a -f "$WINDOWS_SDK_BINDIR_NO_ARCH/x86/msitran.exe"; then :
+    else
+        AC_MSG_ERROR([Some (all?) Windows Installer tools in the Windows SDK 
are missing, please install.])
+    fi
+
     dnl Check csc.exe
     AC_MSG_CHECKING([for csc.exe])
     find_csc
@@ -5421,10 +5583,14 @@ if test "$build_os" = "cygwin"; then
     dnl Check al.exe
     AC_MSG_CHECKING([for al.exe])
     find_winsdk
-    if test -f "$winsdktest/Bin/al.exe"; then
-        AL_PATH="$winsdktest/Bin"
+    if test -n "$winsdkbinsubdir" \
+        -a -f "$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH/al.exe"
+    then
+        AL_PATH="$winsdktest/Bin/$winsdkbinsubdir/$WINDOWS_SDK_ARCH"
     elif test -f "$winsdktest/Bin/$WINDOWS_SDK_ARCH/al.exe"; then
         AL_PATH="$winsdktest/Bin/$WINDOWS_SDK_ARCH"
+    elif test -f "$winsdktest/Bin/al.exe"; then
+        AL_PATH="$winsdktest/Bin"
     fi
 
     if test -z "$AL_PATH"; then
@@ -9718,133 +9884,6 @@ if test "$_os" = "Linux"; then
 fi
 
 dnl =========================================
-dnl Check for the Windows  SDK.
-dnl =========================================
-dnl FIXME: I don't know yet if the Windows SDK works with MinGW, keep it until 
I know better,
-dnl and add "-a \( "$WITH_MINGW" != "yes" \)" then
-if test "$_os" = "WINNT"; then
-    AC_MSG_CHECKING([for Windows SDK])
-    if test "$build_os" = "cygwin"; then
-        find_winsdk
-        WINDOWS_SDK_HOME=$winsdktest
-
-        # normalize if found
-        if test -n "$WINDOWS_SDK_HOME"; then
-            WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
-            WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
-        fi
-
-        WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir
-    fi
-
-    if test -n "$WINDOWS_SDK_HOME"; then
-        # Remove a possible trailing backslash
-        WINDOWS_SDK_HOME=`echo $WINDOWS_SDK_HOME | $SED 's/\/$//'`
-
-        if test -f "$WINDOWS_SDK_HOME/Include/adoint.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/SqlUcode.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/usp10.h"; then
-            have_windows_sdk_headers=yes
-        elif test -f "$WINDOWS_SDK_HOME/Include/um/adoint.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/um/SqlUcode.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/um/usp10.h"; then
-            have_windows_sdk_headers=yes
-        elif test -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/adoint.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/SqlUcode.h" \
-             -a -f "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um/usp10.h"; 
then
-            have_windows_sdk_headers=yes
-        else
-            have_windows_sdk_headers=no
-        fi
-
-        if test -f "$WINDOWS_SDK_HOME/lib/user32.lib"; then
-            have_windows_sdk_libs=yes
-        elif test -f 
"$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/$WINDOWS_SDK_ARCH/user32.lib"; then
-            have_windows_sdk_libs=yes
-        else
-            have_windows_sdk_libs=no
-        fi
-
-        if test $have_windows_sdk_headers = no -o $have_windows_sdk_libs = no; 
then
-            AC_MSG_ERROR([Some (all?) Windows SDK files not found, please 
check if all needed parts of
-the  Windows SDK are installed.])
-        fi
-
-        if test ! -f "$WINDOWS_SDK_HOME/bin/msiinfo.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/msidb.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/uuidgen.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/msitran.exe"; then :
-        elif test ! -f "$WINDOWS_SDK_HOME/bin/x86/msiinfo.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msidb.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/x86/uuidgen.exe" \
-             -o ! -f "$WINDOWS_SDK_HOME/bin/x86/msitran.exe"; then :
-        else
-            AC_MSG_ERROR([Some (all?) Windows Installer tools in the Windows 
SDK are missing, please install.])
-        fi
-    fi
-
-    if test -z "$WINDOWS_SDK_HOME"; then
-        AC_MSG_RESULT([no, hoping the necessary headers and libraries will be 
found anyway!?])
-    elif echo $WINDOWS_SDK_HOME | grep "v7.1" >/dev/null 2>/dev/null; then
-        WINDOWS_SDK_VERSION=70
-        AC_MSG_RESULT([found Windows SDK 7 ($WINDOWS_SDK_HOME)])
-    elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then
-        WINDOWS_SDK_VERSION=80
-        AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)])
-        dnl compatibility warning if not explicitly choosing the 80 SDK:
-        if test -z "$with_windows_sdk"; then
-            AC_MSG_WARN([If a build should run on Windows XP,])
-            AC_MSG_WARN([use --with-windows-sdk=7.1A])
-            add_warning "If a build should run on Windows XP,"
-            add_warning "use --with-windows-sdk=7.1A"
-        fi
-    elif echo $WINDOWS_SDK_HOME | grep "8.1" >/dev/null 2>/dev/null; then
-        WINDOWS_SDK_VERSION=81
-        AC_MSG_RESULT([found Windows SDK 8.1 ($WINDOWS_SDK_HOME)])
-    elif echo $WINDOWS_SDK_HOME | grep "/10" >/dev/null 2>/dev/null; then
-        WINDOWS_SDK_VERSION=10
-        AC_MSG_RESULT([found Windows SDK 10.0 ($WINDOWS_SDK_HOME)])
-    else
-        AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
-    fi
-    PathFormat "$WINDOWS_SDK_HOME"
-    WINDOWS_SDK_HOME="$formatted_path"
-    if test "$build_os" = "cygwin"; then
-        SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include"
-        if test -d "$WINDOWS_SDK_HOME/include/um"; then
-            SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um 
-I$WINDOWS_SDK_HOME/include/shared"
-        elif test -d "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um"; then
-            SOLARINC="$SOLARINC 
-I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um 
-I$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/shared"
-        fi
-    fi
-
-    dnl TODO: solenv/bin/modules/installer/windows/msiglobal.pm wants to use a
-    dnl WiLangId.vbs that is included only in some SDKs (e.g., included in v7.1
-    dnl but not in v8.0), so allow this to be overridden with a
-    dnl WINDOWS_SDK_WILANGID for now; a full-blown --with-windows-sdk-wilangid
-    dnl and configuration error if no WiLangId.vbs is found would arguably be
-    dnl better, but I do not know under which conditions exactly it is needed 
by
-    dnl msiglobal.pm:
-    if test -z "$WINDOWS_SDK_WILANGID" -a -n "$WINDOWS_SDK_HOME"; then
-        
WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/Samples/sysmgmt/msi/scripts/WiLangId.vbs
-        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
-            
WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs
-        fi
-        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
-            WINDOWS_SDK_WILANGID=$(cygpath -sm "C:/Program Files (x86)/Windows 
Kits/8.1/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs")
-        fi
-        if ! test -e "$WINDOWS_SDK_WILANGID" ; then
-            AC_MSG_WARN([WiLangId.vbs not found - building translated packages 
will fail])
-            add_warning "WiLangId.vbs not found - building translated packages 
will fail"
-        fi
-    fi
-fi
-AC_SUBST(WINDOWS_SDK_HOME)
-AC_SUBST(WINDOWS_SDK_LIB_SUBDIR)
-AC_SUBST(WINDOWS_SDK_VERSION)
-AC_SUBST(WINDOWS_SDK_WILANGID)
-
-dnl =========================================
 dnl Check for uuidgen
 dnl =========================================
 if test "$_os" = "WINNT" -a "$cross_compiling" != "yes"; then
@@ -12876,7 +12915,7 @@ else
         fi
         if test "$BITNESS_OVERRIDE" = 64; then
             # needed for msi packaging
-            pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before"
+            pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x86" "before"
         fi
         # .NET 4.6 and higher don't have bin directory
         if test -f "$DOTNET_FRAMEWORK_HOME/bin"; then
@@ -12892,16 +12931,11 @@ else
             pathmunge "$MSBUILD_PATH" "before"
         fi
         if test "$BITNESS_OVERRIDE" = 64; then
-            if test "$vcexpress" = "Express"; then
-                pathmunge "$COMPATH/bin/x86_amd64" "before"
-                pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before"
-            else
-                pathmunge "$COMPATH/bin/amd64" "before"
-                pathmunge "$WINDOWS_SDK_HOME/bin/x64" "before"
-            fi
+            pathmunge "$COMPATH/bin/amd64" "before"
+            pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x64" "before"
         else
             pathmunge "$COMPATH/bin" "before"
-            pathmunge "$WINDOWS_SDK_HOME/bin/x86" "before"
+            pathmunge "$WINDOWS_SDK_BINDIR_NO_ARCH/x86" "before"
         fi
         if test "$ENABLE_JAVA" != "" -a "$JDK"!="gcj"; then
             if test -d "$JAVA_HOME/jre/bin/client"; then
commit 87ddac199732d2422244d93c3c35b7cd3bde6f26
Author:     Rene Engelhard <r...@debian.org>
AuthorDate: Tue Apr 24 15:56:23 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:51 2018 +0100

    fix build with poppler 0.64
    
    GooString became const...
    
    Change-Id: Icc95be2e8603a4e22c6a9ac2008986bacd0bfba5
    (cherry picked from commit 42cebff14f7d486c20f04863681cc5ef4602f4eb)
    Reviewed-on: https://gerrit.libreoffice.org/56258
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit fccd2345845bef24f400b9a4ec344d1186caad74)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 
b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 9b9e0f2d3a61..afa60766d2ee 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -451,6 +451,9 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* 
gfxFont, GfxState* state )
     FontAttributes aNewFont;
     int nSize = 0;
 
+#if POPPLER_CHECK_VERSION(0, 64, 0)
+    const
+#endif
     GooString* pFamily = gfxFont->getName();
     if( pFamily )
     {
@@ -748,6 +751,9 @@ void PDFOutDev::updateFont(GfxState *state)
         FontAttributes aFont;
         int nEmbedSize=0;
 
+#if POPPLER_CHECK_VERSION(0, 64, 0)
+        const
+#endif
         Ref* pID = gfxFont->getID();
         // TODO(Q3): Portability problem
         long long fontID = (long long)pID->gen << 32 | (long long)pID->num;
@@ -931,7 +937,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double 
y,
     printf( "\n" );
 }
 
+#if POPPLER_CHECK_VERSION(0, 64, 0)
+void PDFOutDev::drawString(GfxState*, const GooString* /*s*/)
+#else
 void PDFOutDev::drawString(GfxState*, GooString* /*s*/)
+#endif
 {
     // TODO(F3): NYI
 }
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 
b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 73ea8bf1062b..8304738d9599 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -222,7 +222,11 @@ namespace pdfi
                               double dx, double dy,
                               double originX, double originY,
                               CharCode code, int nBytes, Unicode *u, int uLen) 
override;
+#if POPPLER_CHECK_VERSION(0, 64, 0)
+        virtual void drawString(GfxState *state, const GooString *s) override;
+#else
         virtual void drawString(GfxState *state, GooString *s) override;
+#endif
         virtual void endTextObject(GfxState *state) override;
 
         //----- image drawing
commit 2a10cfb7526b6c3e738beaaf548acc71547699f4
Author:     Dominique Leuenberger <dims...@suse.de>
AuthorDate: Fri Jan 5 12:16:03 2018 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:40 2018 +0100

    Allow building with poppler-0.62
    
    Change-Id: Ia627f1628a67dd8ece7d9318639d9ccd06b89765
    Reviewed-on: https://gerrit.libreoffice.org/47460
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit 38368be8527ca655854ee1231d9f355b8c0591ec)
    Reviewed-on: https://gerrit.libreoffice.org/56257
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit 7e49edf9a662e6a49cf2526e921ca29190c287ae)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 
b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 4282999db6e0..9b9e0f2d3a61 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -32,11 +32,13 @@
 #pragma warning(push, 1)
 #endif
 
-// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1
+// sigh, UTF8.h was removed in poppler-0.21.0 and put back in 0.21.1, then 
renamed to UnicodeMapFuncs.h in 0.62.0
 // FIXME: we can't use #if POPPLER_CHECK_VERSION(0, 21, 0) && 
!POPPLER_CHECK_VERSION(0, 21, 1)
 //        because the internal poppler does not provide poppler-version.h and 
the macro always returns 0
-#if POPPLER_CHECK_VERSION(0, 21, 1)
-#include "UTF8.h"
+#if POPPLER_CHECK_VERSION(0, 62, 0)
+#include <UnicodeMapFuncs.h>
+#elif POPPLER_CHECK_VERSION(0, 21, 1)
+#include <UTF8.h>
 #elif POPPLER_CHECK_VERSION(0, 21, 0)
 #include "UTF.h"
 #else
@@ -912,7 +914,11 @@ void PDFOutDev::drawChar(GfxState *state, double x, double 
y,
             );
 
     // silence spurious warning
+#if POPPLER_CHECK_VERSION(0, 62, 0)
+    (void)&mapUTF16;
+#else
     (void)&mapUCS2;
+#endif
 
     char buf[9];
     for( int i=0; i<uLen; ++i )
commit c4eaf1e0ee0eecfabf60362287fef30368c86505
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Thu Jun 28 18:30:28 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:29 2018 +0100

    python3: upgrade to release 3.5.5
    
    Fixes CVE-2017-1000158.
    
    Change-Id: I1871f031e3431253a3403f2ea2b586bcc4aa1016
    Reviewed-on: https://gerrit.libreoffice.org/56609
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit 744feb55a11263ae0947ab59db76b949b5863acf)
    Reviewed-on: https://gerrit.libreoffice.org/56684
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit e0402228e5ea0301140d47aaabd88f0820711e81)

diff --git a/configure.ac b/configure.ac
index 1b467375af0e..984e6ed429f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8254,7 +8254,7 @@ internal)
         PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5
     else
         PYTHON_VERSION_MINOR=5
-        PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.4
+        PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5
     fi
     if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then
         AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in 
download.lst])
diff --git a/download.lst b/download.lst
index 6309c54993a5..49ed2b743f72 100644
--- a/download.lst
+++ b/download.lst
@@ -137,8 +137,8 @@ ifeq ($(PYTHON_VERSION_MINOR),3)
 export PYTHON_MD5SUM := 803a75927f8f241ca78633890c798021
 export PYTHON_TARBALL := Python-3.3.5.tgz
 else
-export PYTHON_MD5SUM := 2ed4802b7a2a7e40d2e797272bf388ec
-export PYTHON_TARBALL := Python-3.5.4.tgz
+export PYTHON_MD5SUM := f3763edf9824d5d3a15f5f646083b6e0
+export PYTHON_TARBALL := Python-3.5.5.tar.xz
 endif
 
 export RAPTOR_TARBALL := 4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz
commit 39d69046bbfeeb1c562ddd1a6b5b8500979016e7
Author:     Michael Stahl <mst...@redhat.com>
AuthorDate: Tue Aug 22 22:26:43 2017 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:18 2018 +0100

    configure: try to keep PYTHON_VERSION from going stale
    
    Since it was set to 3.5.0, the bundled python was upgraded twice, but
    the directory is still named python-core-3.5.0 :(
    
    Change-Id: I15eec4148c2436e1f289d9851ce5bd212d4a368a
    Reviewed-on: https://gerrit.libreoffice.org/41433
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit ac3a4fe35e873de17eefb46c3f5e792aded6b0a5)
    Reviewed-on: https://gerrit.libreoffice.org/56683
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit ae95578fcd87cb9d12f857bc68c88abd658bf161)

diff --git a/configure.ac b/configure.ac
index 9bc526c6ed1c..1b467375af0e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8251,10 +8251,14 @@ internal)
     # when MSVC 2013 support was dropped.
     if test "$COM" = "MSC" -a "$VCVER" = "120"; then
         PYTHON_VERSION_MINOR=3
+        PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5
     else
         PYTHON_VERSION_MINOR=5
+        PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.4
+    fi
+    if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then
+        AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in 
download.lst])
     fi
-    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.0
     AC_DEFINE_UNQUOTED([PYTHON_VERSION_STRING], [L"${PYTHON_VERSION}"])
     BUILD_TYPE="$BUILD_TYPE PYTHON"
     # Embedded Python dies without Home set
commit a00db67178faac1b8920db68b04ad766a0599e60
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Mon Jun 25 11:30:09 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:12 2018 +0100

    poppler: fix incorrect GCC_VERSION check
    
    The minor version is encoded into the last 2 digits, the micro version
    is not avialable.
    
    Change-Id: I4eee40511d732ec8cfc8d85943b965bb6e06d66e
    Reviewed-on: https://gerrit.libreoffice.org/56380
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Tested-by: Jenkins
    (cherry picked from commit 16b10d9ac976d40daffee1d15456016f4a89cd2e)
    Reviewed-on: https://gerrit.libreoffice.org/56388
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit 9c3a0c9e5f33d1a53afe76135739896dfa63fc2a)

diff --git a/external/poppler/StaticLibrary_poppler.mk 
b/external/poppler/StaticLibrary_poppler.mk
index da85aff3f710..fd7f5c467973 100644
--- a/external/poppler/StaticLibrary_poppler.mk
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -34,11 +34,12 @@ $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
 endif
 
 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
+# can't easily check for 4.8.2 exactly so just apply to GCC 4.8.x
 ifeq ($(COM),GCC)
 ifeq ($(COM_IS_CLANG),)
 ifeq ($(CPUNAME),INTEL)
-ifeq ($(shell expr '$(GCC_VERSION)' '<' 483),1)
-ifeq ($(shell expr '$(GCC_VERSION)' '>=' 480),1)
+ifeq ($(shell expr '$(GCC_VERSION)' '<' 409),1)
+ifeq ($(shell expr '$(GCC_VERSION)' '>=' 408),1)
 $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
        -march=i586 \
 ))
commit 84b11a23abfa30bac20921ab611a23214a2dac51
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Fri Jun 22 10:44:02 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:57:05 2018 +0100

    poppler: try to work around GCC 4.8.2 bug
    
    As seen on Linux-rpm_deb-x86@71-TDF:
    
    poppler/Annot.cc:2491:1: internal compiler error: in connect_traces, at 
dwarf2cfi.c:2676
    
    The bug report claims that -march=i586 works around the bug.
    
    Change-Id: I1d97d2df9049e058d49987424cc8e4818a9fa9c6
    (cherry picked from commit 1c7921c43960a4a6717c816d646cf0f65fbaec12)
    Reviewed-on: https://gerrit.libreoffice.org/56292
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit dce6401f7e1f466c30996ad606699479713209e5)
    Reviewed-on: https://gerrit.libreoffice.org/56299
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit b3450c197e8c5349cbe452ebb9f79f291e8b8383)

diff --git a/external/poppler/StaticLibrary_poppler.mk 
b/external/poppler/StaticLibrary_poppler.mk
index bb5f51b571ca..da85aff3f710 100644
--- a/external/poppler/StaticLibrary_poppler.mk
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -33,6 +33,21 @@ $(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
 ))
 endif
 
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
+ifeq ($(COM),GCC)
+ifeq ($(COM_IS_CLANG),)
+ifeq ($(CPUNAME),INTEL)
+ifeq ($(shell expr '$(GCC_VERSION)' '<' 483),1)
+ifeq ($(shell expr '$(GCC_VERSION)' '>=' 480),1)
+$(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
+       -march=i586 \
+))
+endif
+endif
+endif
+endif
+endif
+
 $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
 
 $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
commit 4a1eff3bafca63ef36c67e4ab58239b2cac3f923
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Fri Jun 22 10:52:37 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:56:56 2018 +0100

    poppler: poppler-snprintf.patch.1 needs rebase
    
    Presumably it's needed for MSVC 2013.
    
    Change-Id: Ibcd3bab373616faa58db4dab0f92f058d1dfafac
    Reviewed-on: https://gerrit.libreoffice.org/56274
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit 15cbef65b217e3ca09a5624ecd82624e4ed93785)

diff --git a/external/poppler/poppler-snprintf.patch.1 
b/external/poppler/poppler-snprintf.patch.1
index aaced8e099c2..baf3e6926c36 100644
--- a/external/poppler/poppler-snprintf.patch.1
+++ b/external/poppler/poppler-snprintf.patch.1
@@ -28,8 +28,8 @@
 +#    include <systools/win32/snprintf.h>
 +#  endif
  #endif
+ #include "goo/glibc.h"
  #include "goo/gmem.h"
- #include "goo/GooString.h"
 --- poppler-0.22.5/poppler/PageLabelInfo.cc    2013-03-25 22:48:34.000000000 
+0100
 +++ poppler-0.22.5/poppler/PageLabelInfo.cc    2013-07-08 16:56:47.977901129 
+0200
 @@ -17,6 +17,14 @@
commit 7557069ee269cfe87869b18f4a0221c396031c88
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Wed Jun 20 16:10:44 2018 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Fri Nov 2 17:56:46 2018 +0100

    poppler: upgrade to release 0.66.0
    
    Unfortunately the autotools build system was removed in 0.60.0, and the
    CMake one is a bit overeager in linking against system libraries that
    happen to be installed on the build machine, and we currently don't
    require CMake anyway, so avoid the problems by using a gbuild makefile
    and a patch to add the generated header files.
    
    Remove all current patches:
    
    poppler-notests.patch.1: obsolete (autotools build system)
    
    poppler-mac-fake.patch.1: presumed obsolete
    
    ubsan.patch.0: presumably fixed differently upstream in
    
https://cgit.freedesktop.org/poppler/poppler/commit/?id=f43cb73939f85952d83afc87a6dc638dc1ae311b
    
    poppler-libjpeg.patch.1: obsolete (autotools build system; there appears
    to be no way to do this with CMake?)
    
    0001-Fix-building-with-old-clang.patch.1: merged upstream
    
    Change-Id: I271c87ab3ec25cc9d1e8fafb04dae7c004acc350
    (cherry picked from commit 5f8426a077ec0986a4b6cf8a58515ad5496f78e0)
    Reviewed-on: https://gerrit.libreoffice.org/56259
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit df46a8beb12639b0cdf6a23d2c1107ffd7f7c86c)

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 24bbab79fc27..22fd07859a54 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2693,11 +2693,7 @@ $(call gb_LinkTarget_set_include,$(1),\
        $$(INCLUDE) \
 )
 
-$(call gb_LinkTarget_add_libs,$(1),\
-       $(call 
gb_UnpackedTarball_get_dir,poppler)/fofi/.libs/libfofi$(gb_StaticLibrary_PLAINEXT)
 \
-       $(call 
gb_UnpackedTarball_get_dir,poppler)/goo/.libs/libgoo$(gb_StaticLibrary_PLAINEXT)
 \
-       $(call 
gb_UnpackedTarball_get_dir,poppler)/poppler/.libs/libpoppler$(gb_StaticLibrary_PLAINEXT)
 \
-)
+$(call gb_LinkTarget_use_static_libraries,$(1),poppler)
 
 $(call gb_LinkTarget_use_external,$(1),jpeg)
 
diff --git a/download.lst b/download.lst
index 5677ab58e433..6309c54993a5 100644
--- a/download.lst
+++ b/download.lst
@@ -129,8 +129,8 @@ export PAGEMAKER_TARBALL := libpagemaker-0.0.3.tar.bz2
 export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2
 export PNG_MD5SUM := 897ccec1ebfb0922e83c2bfaa1be8748
 export PNG_TARBALL := libpng-1.6.28.tar.gz
-export POPPLER_MD5SUM := 6e44408a3b4f4a738f8a6770d0aea8a5
-export POPPLER_TARBALL := poppler-0.59.0.tar.xz
+export POPPLER_MD5SUM := 6602813e52f02f85f11ba1590e0ef749
+export POPPLER_TARBALL := poppler-0.66.0.tar.xz
 export POSTGRESQL_TARBALL := 
c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
 
 ifeq ($(PYTHON_VERSION_MINOR),3)
diff --git a/external/poppler/0001-Fix-building-with-old-clang.patch.1 
b/external/poppler/0001-Fix-building-with-old-clang.patch.1
deleted file mode 100644
index dcddd11d2967..000000000000
--- a/external/poppler/0001-Fix-building-with-old-clang.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From dd80c182cbcb188af0dd590f222ba9bbb31e3fb7 Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aa...@kde.org>
-Date: Mon, 4 Sep 2017 19:36:06 +0200
-Subject: [PATCH] Fix building with old clang
-
----
- poppler/StructElement.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/poppler/StructElement.cc b/poppler/StructElement.cc
-index 0fbd336a..451213f8 100644
---- a/poppler/StructElement.cc
-+++ b/poppler/StructElement.cc
-@@ -248,6 +248,8 @@ struct AttributeMapEntry {
- };
- 
- struct AttributeDefaults {
-+  AttributeDefaults() {}; // needed to support old clang
-+
-   Object Inline  = Object(objName, "Inline");
-   Object LrTb = Object(objName, "LrTb");
-   Object Normal = Object(objName, "Normal");
--- 
-2.13.5
-
diff --git a/external/poppler/ExternalProject_poppler.mk 
b/external/poppler/ExternalProject_poppler.mk
deleted file mode 100644
index 83d51b9ea9e7..000000000000
--- a/external/poppler/ExternalProject_poppler.mk
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_ExternalProject_ExternalProject,poppler))
-
-$(eval $(call gb_ExternalProject_use_autoconf,poppler,build))
-
-$(eval $(call gb_ExternalProject_use_externals,poppler,\
-       jpeg \
-))
-
-$(eval $(call gb_ExternalProject_register_targets,poppler,\
-       build \
-))
-
-$(call gb_ExternalProject_get_state_target,poppler,build) :
-       $(call gb_ExternalProject_run,build,\
-               $(if $(filter TRUE,$(DISABLE_DYNLOADING)),CFLAGS="$(CFLAGS) 
$(gb_VISIBILITY_FLAGS) $(gb_COMPILEROPTFLAGS)" CXXFLAGS="$(CXXFLAGS) 
$(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX) $(gb_COMPILEROPTFLAGS)",$(if 
$(filter MSC-120,$(COM)-$(VCVER)),CXXFLAGS="$(CXXFLAGS) -I$(SRCDIR)/include")) \
-               MAKE=$(MAKE) PKG_CONFIG="" ./configure \
-                       --with-pic \
-                       --enable-static \
-                       --disable-shared \
-                       --enable-xpdf-headers \
-                       --disable-poppler-cpp \
-                       --enable-libopenjpeg=none \
-                       --disable-libtiff \
-                       --enable-libjpeg \
-                       --disable-libpng \
-                       --disable-zlib \
-                       --disable-libcurl \
-                       --disable-splash-output \
-                       --disable-cairo-output \
-                       --disable-poppler-glib \
-                       --disable-poppler-qt4 \
-                       --disable-poppler-qt5 \
-                       --disable-gtk-test \
-                       --disable-utils \
-                       --disable-cms \
-                       $(if 
$(verbose),--disable-silent-rules,--enable-silent-rules) \
-                       $(if $(filter WNT 
MACOSX,$(OS)),--with-font-configuration=win32,--with-font-configuration=fontconfig)
 \
-                       $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) 
--host=$(HOST_PLATFORM)) \
-               && $(MAKE) \
-       )
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/poppler/Module_poppler.mk 
b/external/poppler/Module_poppler.mk
index 357bc6dd365e..9ae5ed7c8633 100644
--- a/external/poppler/Module_poppler.mk
+++ b/external/poppler/Module_poppler.mk
@@ -12,7 +12,7 @@ $(eval $(call gb_Module_Module,poppler))
 ifeq ($(SYSTEM_POPPLER),)
 
 $(eval $(call gb_Module_add_targets,poppler,\
-       ExternalProject_poppler \
+       StaticLibrary_poppler \
        UnpackedTarball_poppler \
 ))
 
diff --git a/external/poppler/StaticLibrary_poppler.mk 
b/external/poppler/StaticLibrary_poppler.mk
new file mode 100644
index 000000000000..bb5f51b571ca
--- /dev/null
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -0,0 +1,128 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 
100 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,poppler))
+
+$(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler))
+
+$(eval $(call gb_StaticLibrary_use_external,poppler,jpeg))
+
+$(eval $(call gb_StaticLibrary_set_warnings_not_errors,poppler))
+
+$(eval $(call gb_StaticLibrary_set_include,poppler,\
+       -I$(WORKDIR)/UnpackedTarball/poppler \
+       -I$(WORKDIR)/UnpackedTarball/poppler/fofi \
+       -I$(WORKDIR)/UnpackedTarball/poppler/goo \
+       -I$(WORKDIR)/UnpackedTarball/poppler/poppler \
+       $$(INCLUDE) \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_StaticLibrary_add_defs,poppler,\
+       -DWIN32_LEAN_AND_MEAN \
+       -D_CRT_SECURE_NO_WARNINGS \
+))
+$(eval $(call gb_StaticLibrary_add_cxxflags,poppler,\
+       /Zc:wchar_t- \
+))
+endif
+
+$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
+
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
+       UnpackedTarball/poppler/goo/gfile \
+       UnpackedTarball/poppler/goo/gmempp \
+       UnpackedTarball/poppler/goo/GooList \
+       UnpackedTarball/poppler/goo/GooTimer \
+       UnpackedTarball/poppler/goo/GooString \
+       UnpackedTarball/poppler/goo/gmem \
+       UnpackedTarball/poppler/goo/FixedPoint \
+       UnpackedTarball/poppler/goo/NetPBMWriter \
+       UnpackedTarball/poppler/goo/PNGWriter \
+       UnpackedTarball/poppler/goo/TiffWriter \
+       UnpackedTarball/poppler/goo/JpegWriter \
+       UnpackedTarball/poppler/goo/ImgWriter \
+       UnpackedTarball/poppler/goo/gstrtod \
+       UnpackedTarball/poppler/goo/grandom \
+       UnpackedTarball/poppler/goo/glibc \
+       UnpackedTarball/poppler/goo/glibc_strtok_r \
+       UnpackedTarball/poppler/fofi/FoFiBase \
+       UnpackedTarball/poppler/fofi/FoFiEncodings \
+       UnpackedTarball/poppler/fofi/FoFiTrueType \
+       UnpackedTarball/poppler/fofi/FoFiType1 \
+       UnpackedTarball/poppler/fofi/FoFiType1C \
+       UnpackedTarball/poppler/fofi/FoFiIdentifier \
+       UnpackedTarball/poppler/poppler/Annot \
+       UnpackedTarball/poppler/poppler/Array \
+       UnpackedTarball/poppler/poppler/BuiltinFont \
+       UnpackedTarball/poppler/poppler/BuiltinFontTables \
+       UnpackedTarball/poppler/poppler/CachedFile \
+       UnpackedTarball/poppler/poppler/Catalog \
+       UnpackedTarball/poppler/poppler/CharCodeToUnicode \
+       UnpackedTarball/poppler/poppler/CMap \
+       UnpackedTarball/poppler/poppler/DateInfo \
+       UnpackedTarball/poppler/poppler/Decrypt \
+       UnpackedTarball/poppler/poppler/Dict \
+       UnpackedTarball/poppler/poppler/Error \
+       UnpackedTarball/poppler/poppler/FileSpec \
+       UnpackedTarball/poppler/poppler/FontEncodingTables \
+       UnpackedTarball/poppler/poppler/Form \
+       UnpackedTarball/poppler/poppler/FontInfo \
+       UnpackedTarball/poppler/poppler/Function \
+       UnpackedTarball/poppler/poppler/Gfx \
+       UnpackedTarball/poppler/poppler/GfxFont \
+       UnpackedTarball/poppler/poppler/GfxState \
+       UnpackedTarball/poppler/poppler/GlobalParams \
+       UnpackedTarball/poppler/poppler/Hints \
+       UnpackedTarball/poppler/poppler/JArithmeticDecoder \
+       UnpackedTarball/poppler/poppler/JBIG2Stream \
+       UnpackedTarball/poppler/poppler/Lexer \
+       UnpackedTarball/poppler/poppler/Link \
+       UnpackedTarball/poppler/poppler/Linearization \
+       UnpackedTarball/poppler/poppler/LocalPDFDocBuilder \
+       UnpackedTarball/poppler/poppler/MarkedContentOutputDev \
+       UnpackedTarball/poppler/poppler/NameToCharCode \
+       UnpackedTarball/poppler/poppler/Object \
+       UnpackedTarball/poppler/poppler/OptionalContent \
+       UnpackedTarball/poppler/poppler/Outline \
+       UnpackedTarball/poppler/poppler/OutputDev \
+       UnpackedTarball/poppler/poppler/Page \
+       UnpackedTarball/poppler/poppler/PageTransition \
+       UnpackedTarball/poppler/poppler/Parser \
+       UnpackedTarball/poppler/poppler/PDFDoc \
+       UnpackedTarball/poppler/poppler/PDFDocEncoding \
+       UnpackedTarball/poppler/poppler/PDFDocFactory \
+       UnpackedTarball/poppler/poppler/PopplerCache \
+       UnpackedTarball/poppler/poppler/ProfileData \
+       UnpackedTarball/poppler/poppler/PreScanOutputDev \
+       UnpackedTarball/poppler/poppler/PSTokenizer \
+       UnpackedTarball/poppler/poppler/SignatureInfo \
+       UnpackedTarball/poppler/poppler/Stream \
+       UnpackedTarball/poppler/poppler/StructTreeRoot \
+       UnpackedTarball/poppler/poppler/StructElement \
+       UnpackedTarball/poppler/poppler/UnicodeMap \
+       UnpackedTarball/poppler/poppler/UnicodeMapFuncs \
+       UnpackedTarball/poppler/poppler/UnicodeTypeTable \
+       UnpackedTarball/poppler/poppler/UTF \
+       UnpackedTarball/poppler/poppler/XRef \
+       UnpackedTarball/poppler/poppler/PSOutputDev \
+       UnpackedTarball/poppler/poppler/TextOutputDev \
+       UnpackedTarball/poppler/poppler/PageLabelInfo \
+       UnpackedTarball/poppler/poppler/SecurityHandler \
+       UnpackedTarball/poppler/poppler/StdinCachedFile \
+       UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
+       UnpackedTarball/poppler/poppler/Sound \
+       UnpackedTarball/poppler/poppler/ViewerPreferences \
+       UnpackedTarball/poppler/poppler/XpdfPluginAPI \
+       UnpackedTarball/poppler/poppler/Movie \
+       UnpackedTarball/poppler/poppler/Rendition \
+       UnpackedTarball/poppler/poppler/DCTStream \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/poppler/UnpackedTarball_poppler.mk 
b/external/poppler/UnpackedTarball_poppler.mk
index 94c8eb650dbc..f29933618b18 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -12,12 +12,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,poppler))
 $(eval $(call 
gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler))
 
 $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
-       external/poppler/poppler-notests.patch.1 \
        $(if $(filter 
MSC-120,$(COM)-$(VCVER)),external/poppler/poppler-snprintf.patch.1) \
-       external/poppler/poppler-mac-fake.patch.1 \
-       external/poppler/ubsan.patch.0 \
-       external/poppler/poppler-libjpeg.patch.1 \
-       external/poppler/0001-Fix-building-with-old-clang.patch.1 \
+       external/poppler/poppler-config.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/poppler/poppler-config.patch.1 
b/external/poppler/poppler-config.patch.1
new file mode 100644
index 000000000000..5328e680e2f2
--- /dev/null
+++ b/external/poppler/poppler-config.patch.1
@@ -0,0 +1,484 @@
+*three* poppler config headers
+
+mkdir build && cd build && cmake .. -DENABLE_DCTDECODER=libjpeg 
-DHAVE_CAIRO=off -DENABLE_LIBOPENJPEG=none -DENABLE_CMS=none 
-DENABLE_LIBCURL=off -DENABLE_ZLIB=off -DENABLE_ZLIB_UNCOMPRESS=off 
-DENABLE_NSS3=off -DENABLE_LIBPNG=off -DENABLE_LIBTIFF=off -DENABLE_SPLASH=off 
-DENABLE_UTILS=off -DENABLE_CPP=off -DENABLE_GLIB=off 
-DENABLE_GOBJECT_INTROSPECTION=off -DENABLE_GTK_DOC=off -DENABLE_QT5=off
+
+manually disabled these because cmake failed to do it:
+HAVE_CAIRO
+ENABLE_NSS3
+ENABLE_LIBPNG (twice!)
+ENABLE_LIBTIFF (twice!)
+ENABLE_LIBCURL
+
+diff --git a/config.h b/config.h
+new file mode 100644
+index 0fbd336a..451213f8 100644
+--- /dev/null
++++ b/config.h
+@@ -0,0 +1,248 @@
++/* config.h.  Generated from config.h.cmake by cmake.  */
++
++/* Build against libcurl. */
++/* #undef ENABLE_LIBCURL */
++
++/* Use libjpeg instead of builtin jpeg decoder. */
++#define ENABLE_LIBJPEG 1
++
++/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
++/* #undef ENABLE_LIBOPENJPEG */
++
++/* Build against libtiff. */
++/* #define ENABLE_LIBTIFF 1 */
++
++/* Build against libpng. */
++/* #define ENABLE_LIBPNG 1 */
++
++/* Do not hardcode the library location */
++/* #undef ENABLE_RELOCATABLE */
++
++/* Build against zlib. */
++/* #undef ENABLE_ZLIB */
++
++/* Use zlib instead of builtin zlib decoder to uncompress flate streams. */
++/* #undef ENABLE_ZLIB_UNCOMPRESS */
++
++/* Build against libnss3 for digital signature validation */
++/* #define ENABLE_NSS3 1 */
++
++/* Use cairo for rendering. */
++/* #define HAVE_CAIRO 1 */
++
++/* Do we have any DCT decoder?. */
++#define HAVE_DCT_DECODER 1
++
++/* Do we have any JPX decoder?. */
++/* #undef HAVE_JPX_DECODER */
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
++   */
++#define HAVE_DIRENT_H 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++#endif
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#define HAVE_FCNTL_H 1
++
++/* Define to 1 if you have the `fseek64' function. */
++/* #undef HAVE_FSEEK64 */
++
++#if !defined(_WIN32)
++/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
++#define HAVE_FSEEKO 1
++#endif
++
++/* Define to 1 if you have the `ftell64' function. */
++/* #undef HAVE_FTELL64 */
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the `pread64' function. */
++#define HAVE_PREAD64 1
++#endif
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the `lseek64' function. */
++#define HAVE_LSEEK64 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if gettimeofday is available on your system */
++#define HAVE_GETTIMEOFDAY 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if gmtime_r is available on your system */
++#define HAVE_GMTIME_R 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if timegm is available on your system */
++#define HAVE_TIMEGM 1
++#endif
++
++/* Define if you have the iconv() function and it works. */
++/* #undef HAVE_ICONV */
++
++/* Define to 1 if you have the `z' library (-lz). */
++/* #undef HAVE_LIBZ */
++
++#if !defined(_WIN32)
++/* Defines if localtime_r is available on your system */
++#define HAVE_LOCALTIME_R 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `mkstemp' function. */
++#define HAVE_MKSTEMP 1
++#endif
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `rand_r' function. */
++#define HAVE_RAND_R 1
++#endif
++
++#if defined(_WIN32)
++/* Define to 1 if you have the `strcpy_s' function. */
++#define HAVE_STRCPY_S 1
++#endif
++
++#if defined(_WIN32)
++/* Define to 1 if you have the `strcat_s' function. */
++#define HAVE_STRCAT_S 1
++#endif
++
++#if !defined(_WIN32)
++/* Defines if strtok_r is available on your system */
++#define HAVE_STRTOK_R 1
++#endif
++
++/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
++/* #undef HAVE_NDIR_H */
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the `popen' function. */
++#define HAVE_POPEN 1
++#endif
++
++/* Use splash for rendering. */
++/* #undef HAVE_SPLASH */
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
++   */
++#define HAVE_SYS_DIR_H 1
++#endif
++
++#if !defined(__APPLE__) && !defined(_WIN32)
++/* Define to 1 if you have the <sys/mman.h> header file. */
++#define HAVE_SYS_MMAN_H 1
++#endif
++
++/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
++   */
++/* #undef HAVE_SYS_NDIR_H */
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++#if !defined(_WIN32)
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++#endif
++
++/* Define to 1 if you have a big endian machine */
++/* #undef WORDS_BIGENDIAN */
++
++/* Define as const if the declaration of iconv() needs const. */
++#define ICONV_CONST 
++
++/* Enable multithreading support. */
++#define MULTITHREADED 1
++
++/* Generate OPI comments in PS output. */
++#define OPI_SUPPORT 1
++
++/* Name of package */
++#define PACKAGE "poppler"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT 
"https://bugs.freedesktop.org/enter_bug.cgi?product=poppler";
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME "poppler"
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING "poppler 0.66.0"
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME "poppler"
++
++/* Define to the home page for this package. */
++#define PACKAGE_URL ""
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION "0.66.0"
++
++/* Poppler data dir */
++#define POPPLER_DATADIR "/usr/local/share/poppler"
++
++/* Support for curl based doc builder is compiled in. */
++/* #undef POPPLER_HAS_CURL_SUPPORT */
++
++/* Include support for CMYK rasterization */
++/* #undef SPLASH_CMYK */
++
++/* Enable word list support. */
++#define TEXTOUT_WORD_LIST 1
++
++/* Defines if use cms */
++/* #undef USE_CMS */
++
++/* Use fixed point arithmetic in the Splash backend */
++/* #undef USE_FIXEDPOINT */
++
++/* Use single precision arithmetic in the Splash backend */
++/* #undef USE_FLOAT */
++
++/* Version number of package */
++#define VERSION "0.66.0"
++
++#if defined(__APPLE__)
++#elif defined (_WIN32)
++/* Use win32 font configuration backend */
++#define WITH_FONTCONFIGURATION_WIN32 1
++#else
++/* Use fontconfig font configuration backend */
++#define WITH_FONTCONFIGURATION_FONTCONFIG 1
++#endif
++
++/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag */
++/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
++

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to