summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/fzf/no-glide-install.patch11
-rw-r--r--community/glib-networking/proxy-test.patch13
-rw-r--r--community/gns3-gui/fix-qt5-sip.patch200
-rw-r--r--community/gource/logmill.patch11
-rw-r--r--community/latte-dock/fix-build.patch12
-rw-r--r--community/libretro-bsnes/flags.patch33
-rw-r--r--community/logstalgia/gcc6-fix.patch11
-rw-r--r--community/minetest/fix-header-include-namespace.patch22
-rw-r--r--community/python3-tkinter/CVE-2019-5010.patch116
-rw-r--r--community/remmina/no-gnome-keyring.patch11
-rw-r--r--community/remmina/remmina-1.0.0-vte2.91.patch50
-rw-r--r--community/rippled/boost-1.69.patch1276
-rw-r--r--community/sysprof/allow-disabling-systemdunitdir.patch32
-rw-r--r--community/wt/960e8d017b264710e344c63f9feb6ea1fa593eeb.patch638
14 files changed, 0 insertions, 2436 deletions
diff --git a/community/fzf/no-glide-install.patch b/community/fzf/no-glide-install.patch
deleted file mode 100644
index 1704ee9e227..00000000000
--- a/community/fzf/no-glide-install.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -99,7 +99,7 @@
- ln -sf $(ROOT_DIR)/vendor $(VENDOR_LINK)
-
- vendor: $(GLIDE_YAML)
-- go get -u github.com/Masterminds/glide && $(GOPATH)/bin/glide install && touch $@
-+ touch $@
-
- test: $(SOURCES) vendor
- SHELL=/bin/sh GOOS= go test -v -tags "$(TAGS)" \
diff --git a/community/glib-networking/proxy-test.patch b/community/glib-networking/proxy-test.patch
deleted file mode 100644
index 2cab5d9f65d..00000000000
--- a/community/glib-networking/proxy-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ./Makefile.am.orig
-+++ ./Makefile.am
-@@ -11,9 +11,9 @@
-
- if HAVE_GNOME_PROXY
- SUBDIRS += proxy/gnome
-+SUBDIRS += proxy/tests
- endif
-
--SUBDIRS += proxy/tests
-
- if HAVE_GNUTLS
- SUBDIRS += tls/gnutls
diff --git a/community/gns3-gui/fix-qt5-sip.patch b/community/gns3-gui/fix-qt5-sip.patch
deleted file mode 100644
index 0712fc4497f..00000000000
--- a/community/gns3-gui/fix-qt5-sip.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-diff --git a/gns3/console_cmd.py b/gns3/console_cmd.py
-index 5e630f43..b1d0673a 100644
---- a/gns3/console_cmd.py
-+++ b/gns3/console_cmd.py
-@@ -22,7 +22,7 @@ Handles commands typed in the GNS3 console.
- import sys
- import cmd
- import struct
--import sip
-+from .qt import sip
- import json
-
- from .node import Node
-diff --git a/gns3/console_view.py b/gns3/console_view.py
-index 10edb860..365f7bc1 100644
---- a/gns3/console_view.py
-+++ b/gns3/console_view.py
-@@ -16,7 +16,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- import sys
--import sip
-+from .qt import sip
- import struct
- import inspect
- import datetime
-diff --git a/gns3/crash_report.py b/gns3/crash_report.py
-index bc37d061..a9379e16 100644
---- a/gns3/crash_report.py
-+++ b/gns3/crash_report.py
-@@ -132,7 +132,7 @@ class CrashReport:
- def _add_qt_information(self, context):
- try:
- from .qt import QtCore
-- import sip
-+ from .qt import sip
- except ImportError:
- return context
- context["psutil:version"] = psutil.__version__
-diff --git a/gns3/dialogs/appliance_wizard.py b/gns3/dialogs/appliance_wizard.py
-index 06f2bf2a..8ab386b4 100644
---- a/gns3/dialogs/appliance_wizard.py
-+++ b/gns3/dialogs/appliance_wizard.py
-@@ -16,7 +16,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- import os
--import sip
-+from ..qt import sip
- import shutil
-
- from ..qt import QtWidgets, QtCore, QtGui, qpartial, qslot
-diff --git a/gns3/graphics_view.py b/gns3/graphics_view.py
-index 517bfaaf..da058385 100644
---- a/gns3/graphics_view.py
-+++ b/gns3/graphics_view.py
-@@ -21,7 +21,7 @@ Graphical view on the scene where items are drawn.
-
- import logging
- import os
--import sip
-+from .qt import sip
- import sys
-
- from .qt import QtCore, QtGui, QtNetwork, QtWidgets, qpartial, qslot
-diff --git a/gns3/http_client.py b/gns3/http_client.py
-index c0ceca69..6993bf58 100644
---- a/gns3/http_client.py
-+++ b/gns3/http_client.py
-@@ -15,7 +15,7 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
--import sip
-+from .qt import sip
- import json
- import copy
- import http
-diff --git a/gns3/items/node_item.py b/gns3/items/node_item.py
-index cac82e70..b4ec7930 100644
---- a/gns3/items/node_item.py
-+++ b/gns3/items/node_item.py
-@@ -19,7 +19,7 @@
- Graphical representation of a node on the QGraphicsScene.
- """
-
--import sip
-+from ..qt import sip
-
- from ..qt import QtCore, QtGui, QtWidgets, QtSvg, qslot
- from ..qt.qimage_svg_renderer import QImageSvgRenderer
-diff --git a/gns3/link.py b/gns3/link.py
-index 1cd634c0..323823b1 100644
---- a/gns3/link.py
-+++ b/gns3/link.py
-@@ -21,7 +21,7 @@ Manages and stores everything needed for a connection between 2 devices.
-
- import os
- import re
--import sip
-+from .qt import sip
- import uuid
-
- from .qt import QtCore, QtWidgets
-diff --git a/gns3/nodes_view.py b/gns3/nodes_view.py
-index 463a63fe..16f51ed4 100644
---- a/gns3/nodes_view.py
-+++ b/gns3/nodes_view.py
-@@ -22,7 +22,7 @@ on the QGraphics scene.
-
- import tempfile
- import json
--import sip
-+from .qt import sip
-
- from .qt import QtCore, QtGui, QtWidgets, qpartial
- from .modules import MODULES
-diff --git a/gns3/ports/port.py b/gns3/ports/port.py
-index 66776a33..3425df0a 100644
---- a/gns3/ports/port.py
-+++ b/gns3/ports/port.py
-@@ -19,7 +19,7 @@
- Base class for port objects.
- """
-
--import sip
-+from ..qt import sip
-
- from ..qt import qslot
-
-diff --git a/gns3/progress.py b/gns3/progress.py
-index 4f167bbd..33135513 100644
---- a/gns3/progress.py
-+++ b/gns3/progress.py
-@@ -15,7 +15,7 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
--import sip
-+from .qt import sip
- import time
- from contextlib import contextmanager
-
-diff --git a/gns3/qt/__init__.py b/gns3/qt/__init__.py
-index b8d9550e..ae88c4bf 100644
---- a/gns3/qt/__init__.py
-+++ b/gns3/qt/__init__.py
-@@ -24,7 +24,6 @@ Compatibility layer for Qt bindings, so it is easier to switch to PySide if need
-
-
- import sys
--import sip
- import os
- import re
- import inspect
-@@ -33,12 +32,17 @@ import functools
- import logging
- log = logging.getLogger("qt/__init__.py")
-
-+try:
-+ import sip
-+except ImportError:
-+ from PyQt5 import sip
- from PyQt5 import QtCore, QtGui, QtNetwork, QtWidgets, Qt
- sys.modules[__name__ + '.QtCore'] = QtCore
- sys.modules[__name__ + '.QtGui'] = QtGui
- sys.modules[__name__ + '.QtNetwork'] = QtNetwork
- sys.modules[__name__ + '.QtWidgets'] = QtWidgets
- sys.modules[__name__ + '.Qt'] = Qt
-+sys.modules[__name__ + '.sip'] = sip
-
- try:
- from PyQt5 import QtSvg
-diff --git a/gns3/utils/progress_dialog.py b/gns3/utils/progress_dialog.py
-index b6a84af9..9742e1b3 100644
---- a/gns3/utils/progress_dialog.py
-+++ b/gns3/utils/progress_dialog.py
-@@ -19,7 +19,7 @@
- Progress dialog that blocking tasks (file operations, network connections etc.)
- """
-
--import sip
-+from ..qt import sip
- from gns3.version import __version__
- from ..qt import QtWidgets, QtCore, qslot
-
-diff --git a/gns3/utils/wait_for_lambda_worker.py b/gns3/utils/wait_for_lambda_worker.py
-index 78a5207a..d24a3cb0 100644
---- a/gns3/utils/wait_for_lambda_worker.py
-+++ b/gns3/utils/wait_for_lambda_worker.py
-@@ -19,7 +19,7 @@
- Thread showing a progress dialog and running the code from a lambda
- """
-
--import sip
-+from ..qt import sip
-
- from ..qt import QtCore
-
-
diff --git a/community/gource/logmill.patch b/community/gource/logmill.patch
deleted file mode 100644
index 4ed4e998f99..00000000000
--- a/community/gource/logmill.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/logmill.cpp.orig
-+++ ./src/logmill.cpp
-@@ -176,7 +176,7 @@ RCommitLog* RLogMill::fetchLog(std::string& log_format) {
- logfile = repo_path.string();
- }
- }
-- } catch(boost::filesystem3::filesystem_error& error) {
-+ } catch(boost::filesystem::filesystem_error& error) {
- }
- }
-
diff --git a/community/latte-dock/fix-build.patch b/community/latte-dock/fix-build.patch
deleted file mode 100644
index a1af4933544..00000000000
--- a/community/latte-dock/fix-build.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index deadb48..fcf6d67 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -76,7 +76,5 @@ add_subdirectory(icons)
- add_subdirectory(plasmoid)
- add_subdirectory(shell)
-
--ki18n_install(${CMAKE_CURRENT_BINARY_DIR}/po)
--
- find_package(KF5I18n CONFIG REQUIRED)
- ki18n_install(po)
diff --git a/community/libretro-bsnes/flags.patch b/community/libretro-bsnes/flags.patch
deleted file mode 100644
index aa05ec1dfc1..00000000000
--- a/community/libretro-bsnes/flags.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -rupN libretro-bsnes.orig/.git/FETCH_HEAD libretro-bsnes/.git/FETCH_HEAD
---- libretro-bsnes.orig/.git/FETCH_HEAD 1970-01-01 01:00:00.000000000 +0100
-+++ libretro-bsnes/.git/FETCH_HEAD 2018-12-07 18:31:25.943337424 +0100
-@@ -0,0 +1,3 @@
-+2a0b1a4f0b47100a781e025b085cb7ed88798527 not-for-merge branch '096' of /home/alucryd/Packages/src/libretro-bsnes
-+c6e90ddcdfdc5ca1b56319df662912b3c026d78f not-for-merge branch 'libretro' of /home/alucryd/Packages/src/libretro-bsnes
-+95350550af6c76b57593dea980b5c3a27e5bf09e not-for-merge branch 'master' of /home/alucryd/Packages/src/libretro-bsnes
-Binary files libretro-bsnes.orig/.git/index and libretro-bsnes/.git/index differ
-diff -rupN libretro-bsnes.orig/Makefile libretro-bsnes/Makefile
---- libretro-bsnes.orig/Makefile 2018-12-07 18:09:48.766873570 +0100
-+++ libretro-bsnes/Makefile 2018-12-07 18:22:39.006021877 +0100
-@@ -32,7 +32,8 @@ sfc_lagfix := 1
- ifeq ($(DEBUG), 1)
- flags := -I. -Ilibco -O0 -g
- else
-- flags := -I. -Ilibco -O3 -fomit-frame-pointer
-+ flags := $(CFLAGS) -I. -Ilibco -fomit-frame-pointer
-+ link := $(LDFLAGS)
- endif
-
- cflags := -std=gnu99 -xc
-diff -rupN libretro-bsnes.orig/target-libretro/Makefile libretro-bsnes/target-libretro/Makefile
---- libretro-bsnes.orig/target-libretro/Makefile 2018-12-07 18:09:48.813540589 +0100
-+++ libretro-bsnes/target-libretro/Makefile 2018-12-07 18:31:23.149982988 +0100
-@@ -46,7 +46,7 @@ obj/libretro-$(profile).o: $(ui)/libretr
- #targets
- build: $(objects)
- ifeq ($(platform),linux)
-- $(compiler) -o out/bsnes_$(profile)_libretro.so -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
-+ $(compiler) -o out/bsnes_$(profile)_libretro.so $(link) -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
- else ifneq (,$(findstring ios,$(platform)))
- ifeq ($(platform),ios-arm64)
- $(compiler) -o out/bsnes_$(profile)_libretro_ios.dylib -dynamiclib $(objects) -isysroot $(IOSSDK) -arch arm64
diff --git a/community/logstalgia/gcc6-fix.patch b/community/logstalgia/gcc6-fix.patch
deleted file mode 100644
index 1033af44a98..00000000000
--- a/community/logstalgia/gcc6-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/paddle.cpp.orig
-+++ ./src/paddle.cpp
-@@ -95,7 +95,7 @@
-
- bool Paddle::mouseOver(TextArea& textarea, vec2& mouse) {
-
-- if(pos.x <= mouse.x && pos.x + width >= mouse.x && abs(pos.y - mouse.y) < height/2) {
-+ if(pos.x <= mouse.x && pos.x + width >= mouse.x && abs(int(pos.y) - int(mouse.y)) < height/2) {
-
- std::vector<std::string> content;
-
diff --git a/community/minetest/fix-header-include-namespace.patch b/community/minetest/fix-header-include-namespace.patch
deleted file mode 100644
index d2f1cac76cb..00000000000
--- a/community/minetest/fix-header-include-namespace.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/porting.h b/src/porting.h
-index 492c9d3..39499ef 100644
---- a/src/porting.h
-+++ b/src/porting.h
-@@ -59,6 +59,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
- #else
- #include <unistd.h>
- #include <stdint.h> //for uintptr_t
-+ #include <sys/time.h>
-+ #include <time.h>
-
- #if (defined(linux) || defined(__linux) || defined(__GNU__)) && !defined(_GNU_SOURCE)
- #define _GNU_SOURCE
-@@ -190,8 +192,6 @@ void initIrrlicht(irr::IrrlichtDevice * );
- }
-
- #else // Posix
--#include <sys/time.h>
--#include <time.h>
- #if defined(__MACH__) && defined(__APPLE__)
- #include <mach/clock.h>
- #include <mach/mach.h>
diff --git a/community/python3-tkinter/CVE-2019-5010.patch b/community/python3-tkinter/CVE-2019-5010.patch
deleted file mode 100644
index f2ba16360b2..00000000000
--- a/community/python3-tkinter/CVE-2019-5010.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From bc947d7cd67c96cbfbc55dd53bce52392bd6f80d Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Tue, 15 Jan 2019 23:47:42 +0100
-Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569)
-
-Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL
-distribution points with empty DP or URI correctly. A malicious or buggy
-certificate can result into segfault.
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-https://bugs.python.org/issue35746
-(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3)
-
-Co-authored-by: Christian Heimes <christian@python.org>
----
- Lib/test/talos-2019-0758.pem | 22 +++++++++++++++++++
- Lib/test/test_ssl.py | 22 +++++++++++++++++++
- .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++
- Modules/_ssl.c | 4 ++++
- 4 files changed, 51 insertions(+)
- create mode 100644 Lib/test/talos-2019-0758.pem
- create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst
-
-diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem
-new file mode 100644
-index 000000000000..13b95a77fd8a
---- /dev/null
-+++ b/Lib/test/talos-2019-0758.pem
-@@ -0,0 +1,22 @@
-+-----BEGIN CERTIFICATE-----
-+MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO
-+BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7
-+MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh
-+bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB
-+J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES
-+V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD
-+5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C
-+1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP
-+WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF
-+j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp
-+HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io
-+UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7
-+2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu
-+bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG
-+SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p
-+t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr
-+t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit
-+p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV
-+Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+
-+10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA==
-+-----END CERTIFICATE-----
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index 705f1d3245b6..0aeabc10f2a9 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -79,6 +79,7 @@ def data_file(*name):
- BADKEY = data_file("badkey.pem")
- NOKIACERT = data_file("nokia.pem")
- NULLBYTECERT = data_file("nullbytecert.pem")
-+TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem")
-
- DHFILE = data_file("ffdh3072.pem")
- BYTES_DHFILE = os.fsencode(DHFILE)
-@@ -293,6 +294,27 @@ def test_parse_cert(self):
- self.assertEqual(p['crlDistributionPoints'],
- ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',))
-
-+ def test_parse_cert_CVE_2019_5010(self):
-+ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP)
-+ if support.verbose:
-+ sys.stdout.write("\n" + pprint.pformat(p) + "\n")
-+ self.assertEqual(
-+ p,
-+ {
-+ 'issuer': (
-+ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)),
-+ 'notAfter': 'Jun 14 18:00:58 2028 GMT',
-+ 'notBefore': 'Jun 18 18:00:58 2018 GMT',
-+ 'serialNumber': '02',
-+ 'subject': ((('countryName', 'UK'),),
-+ (('commonName',
-+ 'codenomicon-vm-2.test.lal.cisco.com'),)),
-+ 'subjectAltName': (
-+ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),),
-+ 'version': 3
-+ }
-+ )
-+
- def test_parse_cert_CVE_2013_4238(self):
- p = ssl._ssl._test_decode_cert(NULLBYTECERT)
- if support.verbose:
-diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst
-new file mode 100644
-index 000000000000..dffe347eec84
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst
-@@ -0,0 +1,3 @@
-+[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did
-+not handle CRL distribution points with empty DP or URI correctly. A
-+malicious or buggy certificate can result into segfault.
-diff --git a/Modules/_ssl.c b/Modules/_ssl.c
-index a188d6a7291a..7365630a5eaf 100644
---- a/Modules/_ssl.c
-+++ b/Modules/_ssl.c
-@@ -1338,6 +1338,10 @@ _get_crl_dp(X509 *certificate) {
- STACK_OF(GENERAL_NAME) *gns;
-
- dp = sk_DIST_POINT_value(dps, i);
-+ if (dp->distpoint == NULL) {
-+ /* Ignore empty DP value, CVE-2019-5010 */
-+ continue;
-+ }
- gns = dp->distpoint->name.fullname;
-
- for (j=0; j < sk_GENERAL_NAME_num(gns); j++) {
diff --git a/community/remmina/no-gnome-keyring.patch b/community/remmina/no-gnome-keyring.patch
deleted file mode 100644
index fed2768a43f..00000000000
--- a/community/remmina/no-gnome-keyring.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./CMakeLists.txt.orig
-+++ ./CMakeLists.txt
-@@ -96,7 +96,7 @@
- if(GTK_FOUND)
- add_subdirectory(remmina)
- add_subdirectory(remmina-plugins)
-- add_subdirectory(remmina-plugins-gnome)
-+# add_subdirectory(remmina-plugins-gnome)
- endif()
-
- find_suggested_package(AVAHI)
diff --git a/community/remmina/remmina-1.0.0-vte2.91.patch b/community/remmina/remmina-1.0.0-vte2.91.patch
deleted file mode 100644
index 25014c629ca..00000000000
--- a/community/remmina/remmina-1.0.0-vte2.91.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -up ./cmake/FindVTE.cmake.vte ./cmake/FindVTE.cmake
---- ./cmake/FindVTE.cmake.vte 2012-02-10 20:54:23.000000000 +0200
-+++ ./cmake/FindVTE.cmake 2014-06-08 11:14:23.778316473 +0300
-@@ -21,12 +21,10 @@ if(NOT _VTE_VERSION_NUM)
- set(_VTE_LIB_NAME vte)
- set(_VTE_VERSION vte)
- else()
-- set(_VTE_LIB_NAME vte${_VTE_VERSION_NUM})
-+ set(_VTE_LIB_NAME vte-${_VTE_VERSION_NUM})
- set(_VTE_VERSION vte-${_VTE_VERSION_NUM})
- endif()
-
--string(REPLACE . _ _VTE_LIB_NAME ${_VTE_LIB_NAME})
--
- pkg_check_modules(PC_VTE ${_VTE_VERSION})
-
- find_path(VTE_INCLUDE_DIR NAMES vte/vte.h
-diff -up ./remmina/CMakeLists.txt.vte ./remmina/CMakeLists.txt
---- ./remmina/CMakeLists.txt.vte 2014-06-08 11:14:23.634322160 +0300
-+++ ./remmina/CMakeLists.txt 2014-06-08 11:14:23.777316512 +0300
-@@ -120,7 +120,7 @@ if(AVAHI_FOUND)
- endif()
-
- if(GTK3_FOUND)
-- set(_VTE_VERSION_NUM 2.90)
-+ set(_VTE_VERSION_NUM 2.91)
- else()
- set(_VTE_VERSION_NUM)
- endif()
-diff -up ./remmina/src/remmina_ssh_plugin.c.vte ./remmina/src/remmina_ssh_plugin.c
---- ./remmina/src/remmina_ssh_plugin.c.vte 2012-02-10 20:54:23.000000000 +0200
-+++ ./remmina/src/remmina_ssh_plugin.c 2014-06-08 11:43:08.341286290 +0300
-@@ -169,7 +169,7 @@ remmina_plugin_ssh_set_vte_pref (Remmina
- gpdata = (RemminaPluginSshData*) g_object_get_data (G_OBJECT(gp), "plugin-data");
- if (remmina_pref.vte_font && remmina_pref.vte_font[0])
- {
-- vte_terminal_set_font_from_string (VTE_TERMINAL (gpdata->vte), remmina_pref.vte_font);
-+ vte_terminal_set_font (VTE_TERMINAL (gpdata->vte), pango_font_description_from_string (remmina_pref.vte_font));
- }
- vte_terminal_set_allow_bold (VTE_TERMINAL (gpdata->vte), remmina_pref.vte_allow_bold_text);
- if (remmina_pref.vte_lines > 0)
-@@ -205,7 +205,7 @@ remmina_plugin_ssh_init (RemminaProtocol
-
- remmina_plugin_service->protocol_plugin_register_hostkey (gp, vte);
-
-- vscrollbar = gtk_vscrollbar_new (vte_terminal_get_adjustment (VTE_TERMINAL (vte)));
-+ vscrollbar = gtk_vscrollbar_new (gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (vte)));
- gtk_widget_show(vscrollbar);
- gtk_box_pack_start (GTK_BOX (hbox), vscrollbar, FALSE, TRUE, 0);
- }
diff --git a/community/rippled/boost-1.69.patch b/community/rippled/boost-1.69.patch
deleted file mode 100644
index f3894fd6e8f..00000000000
--- a/community/rippled/boost-1.69.patch
+++ /dev/null
@@ -1,1276 +0,0 @@
-From 9695fd44bae802e6ad9a6f9a2011e4693e2e5ac4 Mon Sep 17 00:00:00 2001
-From: seelabs <scott.determan@yahoo.com>
-Date: Wed, 12 Dec 2018 10:06:45 -0500
-Subject: [PATCH] Support boost 1.69
-
----
- Builds/CMake/FindBoost.cmake | 669 +++++++++---------
- .../container/detail/aged_ordered_container.h | 34 +-
- .../detail/aged_unordered_container.h | 32 +-
- .../detail/empty_base_optimization.h | 98 +++
- src/ripple/server/impl/BaseWSPeer.h | 18 +-
- 5 files changed, 497 insertions(+), 354 deletions(-)
- create mode 100644 src/ripple/beast/container/detail/empty_base_optimization.h
-
-diff --git a/Builds/CMake/FindBoost.cmake b/Builds/CMake/FindBoost.cmake
-index 8ad1481fe4..ce307fad7f 100644
---- a/Builds/CMake/FindBoost.cmake
-+++ b/Builds/CMake/FindBoost.cmake
-@@ -1,237 +1,242 @@
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
-
--#.rst:
--# FindBoost
--# ---------
--#
--# Find Boost include dirs and libraries
--#
--# Use this module by invoking find_package with the form::
--#
--# find_package(Boost
--# [version] [EXACT] # Minimum or EXACT version e.g. 1.67.0
--# [REQUIRED] # Fail with error if Boost is not found
--# [COMPONENTS <libs>...] # Boost libraries by their canonical name
--# # e.g. "date_time" for "libboost_date_time"
--# [OPTIONAL_COMPONENTS <libs>...]
--# # Optional Boost libraries by their canonical name)
--# ) # e.g. "date_time" for "libboost_date_time"
--#
--# This module finds headers and requested component libraries OR a CMake
--# package configuration file provided by a "Boost CMake" build. For the
--# latter case skip to the "Boost CMake" section below. For the former
--# case results are reported in variables::
--#
--# Boost_FOUND - True if headers and requested libraries were found
--# Boost_INCLUDE_DIRS - Boost include directories
--# Boost_LIBRARY_DIRS - Link directories for Boost libraries
--# Boost_LIBRARIES - Boost component libraries to be linked
--# Boost_<C>_FOUND - True if component <C> was found (<C> is upper-case)
--# Boost_<C>_LIBRARY - Libraries to link for component <C> (may include
--# target_link_libraries debug/optimized keywords)
--# Boost_VERSION - BOOST_VERSION value from boost/version.hpp
--# Boost_LIB_VERSION - Version string appended to library filenames
--# Boost_MAJOR_VERSION - Boost major version number (X in X.y.z)
--# Boost_MINOR_VERSION - Boost minor version number (Y in x.Y.z)
--# Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
--# Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
--# - Pass to add_definitions() to have diagnostic
--# information about Boost's automatic linking
--# displayed during compilation
--#
--# Note that Boost Python components require a Python version suffix
--# (Boost 1.67 and later), e.g. ``python36`` or ``python27`` for the
--# versions built against Python 3.6 and 2.7, respectively. This also
--# applies to additional components using Python including
--# ``mpi_python`` and ``numpy``. Earlier Boost releases may use
--# distribution-specific suffixes such as ``2``, ``3`` or ``2.7``.
--# These may also be used as suffixes, but note that they are not
--# portable.
--#
--# This module reads hints about search locations from variables::
--#
--# BOOST_ROOT - Preferred installation prefix
--# (or BOOSTROOT)
--# BOOST_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
--# BOOST_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
--# Boost_NO_SYSTEM_PATHS - Set to ON to disable searching in locations not
--# specified by these hint variables. Default is OFF.
--# Boost_ADDITIONAL_VERSIONS
--# - List of Boost versions not known to this module
--# (Boost install locations may contain the version)
--#
--# and saves search results persistently in CMake cache entries::
--#
--# Boost_INCLUDE_DIR - Directory containing Boost headers
--# Boost_LIBRARY_DIR_RELEASE - Directory containing release Boost libraries
--# Boost_LIBRARY_DIR_DEBUG - Directory containing debug Boost libraries
--# Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
--# Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
--#
--# The following :prop_tgt:`IMPORTED` targets are also defined::
--#
--# Boost::boost - Target for header-only dependencies
--# (Boost include directory)
--# Boost::<C> - Target for specific component dependency
--# (shared or static library); <C> is lower-
--# case
--# Boost::diagnostic_definitions - interface target to enable diagnostic
--# information about Boost's automatic linking
--# during compilation (adds BOOST_LIB_DIAGNOSTIC)
--# Boost::disable_autolinking - interface target to disable automatic
--# linking with MSVC (adds BOOST_ALL_NO_LIB)
--# Boost::dynamic_linking - interface target to enable dynamic linking
--# linking with MSVC (adds BOOST_ALL_DYN_LINK)
--#
--# Implicit dependencies such as Boost::filesystem requiring
--# Boost::system will be automatically detected and satisfied, even
--# if system is not specified when using find_package and if
--# Boost::system is not added to target_link_libraries. If using
--# Boost::thread, then Threads::Threads will also be added automatically.
--#
--# It is important to note that the imported targets behave differently
--# than variables created by this module: multiple calls to
--# find_package(Boost) in the same directory or sub-directories with
--# different options (e.g. static or shared) will not override the
--# values of the targets created by the first call.
--#
--# Users may set these hints or results as cache entries. Projects
--# should not read these entries directly but instead use the above
--# result variables. Note that some hint names start in upper-case
--# "BOOST". One may specify these as environment variables if they are
--# not specified as CMake variables or cache entries.
--#
--# This module first searches for the Boost header files using the above
--# hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
--# Boost_INCLUDE_DIR. Then it searches for requested component libraries
--# using the above hints (excluding BOOST_INCLUDEDIR and
--# Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
--# and the library name configuration settings below. It saves the
--# library directories in Boost_LIBRARY_DIR_DEBUG and
--# Boost_LIBRARY_DIR_RELEASE and individual library
--# locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
--# When one changes settings used by previous searches in the same build
--# tree (excluding environment variables) this module discards previous
--# search results affected by the changes and searches again.
--#
--# Boost libraries come in many variants encoded in their file name.
--# Users or projects may tell this module which variant to find by
--# setting variables::
--#
--# Boost_USE_DEBUG_LIBS - Set to ON or OFF to specify whether to search
--# and use the debug libraries. Default is ON.
--# Boost_USE_RELEASE_LIBS - Set to ON or OFF to specify whether to search
--# and use the release libraries. Default is ON.
--# Boost_USE_MULTITHREADED - Set to OFF to use the non-multithreaded
--# libraries ('mt' tag). Default is ON.
--# Boost_USE_STATIC_LIBS - Set to ON to force the use of the static
--# libraries. Default is OFF.
--# Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
--# libraries linked statically to the C++ runtime
--# ('s' tag). Default is platform dependent.
--# Boost_USE_DEBUG_RUNTIME - Set to ON or OFF to specify whether to use
--# libraries linked to the MS debug C++ runtime
--# ('g' tag). Default is ON.
--# Boost_USE_DEBUG_PYTHON - Set to ON to use libraries compiled with a
--# debug Python build ('y' tag). Default is OFF.
--# Boost_USE_STLPORT - Set to ON to use libraries compiled with
--# STLPort ('p' tag). Default is OFF.
--# Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
--# - Set to ON to use libraries compiled with
--# STLPort deprecated "native iostreams"
--# ('n' tag). Default is OFF.
--# Boost_COMPILER - Set to the compiler-specific library suffix
--# (e.g. "-gcc43"). Default is auto-computed
--# for the C++ compiler in use. A list may be
--# used if multiple compatible suffixes should
--# be tested for, in decreasing order of
--# preference.
--# Boost_THREADAPI - Suffix for "thread" component library name,
--# such as "pthread" or "win32". Names with
--# and without this suffix will both be tried.
--# Boost_NAMESPACE - Alternate namespace used to build boost with
--# e.g. if set to "myboost", will search for
--# myboost_thread instead of boost_thread.
--#
--# Other variables one may set to control this module are::
--#
--# Boost_DEBUG - Set to ON to enable debug output from FindBoost.
--# Please enable this before filing any bug report.
--# Boost_DETAILED_FAILURE_MSG
--# - Set to ON to add detailed information to the
--# failure message even when the REQUIRED option
--# is not given to the find_package call.
--# Boost_REALPATH - Set to ON to resolve symlinks for discovered
--# libraries to assist with packaging. For example,
--# the "system" component library may be resolved to
--# "/usr/lib/libboost_system.so.1.67.0" instead of
--# "/usr/lib/libboost_system.so". This does not
--# affect linking and should not be enabled unless
--# the user needs this information.
--# Boost_LIBRARY_DIR - Default value for Boost_LIBRARY_DIR_RELEASE and
--# Boost_LIBRARY_DIR_DEBUG.
--#
--# On Visual Studio and Borland compilers Boost headers request automatic
--# linking to corresponding libraries. This requires matching libraries
--# to be linked explicitly or available in the link library search path.
--# In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
--# dynamic linking. Boost automatic linking typically requests static
--# libraries with a few exceptions (such as Boost.Python). Use::
--#
--# add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
--#
--# to ask Boost to report information about automatic linking requests.
--#
--# Example to find Boost headers only::
--#
--# find_package(Boost 1.36.0)
--# if(Boost_FOUND)
--# include_directories(${Boost_INCLUDE_DIRS})
--# add_executable(foo foo.cc)
--# endif()
--#
--# Example to find Boost libraries and use imported targets::
--#
--# find_package(Boost 1.56 REQUIRED COMPONENTS
--# date_time filesystem iostreams)
--# add_executable(foo foo.cc)
--# target_link_libraries(foo Boost::date_time Boost::filesystem
--# Boost::iostreams)
--#
--# Example to find Boost Python 3.6 libraries and use imported targets::
--#
--# find_package(Boost 1.67 REQUIRED COMPONENTS
--# python36 numpy36)
--# add_executable(foo foo.cc)
--# target_link_libraries(foo Boost::python36 Boost::numpy36)
--#
--# Example to find Boost headers and some *static* (release only) libraries::
--#
--# set(Boost_USE_STATIC_LIBS ON) # only find static libs
--# set(Boost_USE_DEBUG_LIBS OFF) # ignore debug libs and
--# set(Boost_USE_RELEASE_LIBS ON) # only find release libs
--# set(Boost_USE_MULTITHREADED ON)
--# set(Boost_USE_STATIC_RUNTIME OFF)
--# find_package(Boost 1.66.0 COMPONENTS date_time filesystem system ...)
--# if(Boost_FOUND)
--# include_directories(${Boost_INCLUDE_DIRS})
--# add_executable(foo foo.cc)
--# target_link_libraries(foo ${Boost_LIBRARIES})
--# endif()
--#
--# Boost CMake
--# ^^^^^^^^^^^
--#
--# If Boost was built using the boost-cmake project it provides a package
--# configuration file for use with find_package's Config mode. This
--# module looks for the package configuration file called
--# BoostConfig.cmake or boost-config.cmake and stores the result in cache
--# entry "Boost_DIR". If found, the package configuration file is loaded
--# and this module returns with no further action. See documentation of
--# the Boost CMake package configuration for details on what it provides.
--#
--# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
-+#[=======================================================================[.rst:
-+FindBoost
-+---------
-+
-+Find Boost include dirs and libraries
-+
-+Use this module by invoking find_package with the form::
-+
-+ find_package(Boost
-+ [version] [EXACT] # Minimum or EXACT version e.g. 1.67.0
-+ [REQUIRED] # Fail with error if Boost is not found
-+ [COMPONENTS <libs>...] # Boost libraries by their canonical name
-+ # e.g. "date_time" for "libboost_date_time"
-+ [OPTIONAL_COMPONENTS <libs>...]
-+ # Optional Boost libraries by their canonical name)
-+ ) # e.g. "date_time" for "libboost_date_time"
-+
-+This module finds headers and requested component libraries OR a CMake
-+package configuration file provided by a "Boost CMake" build. For the
-+latter case skip to the "Boost CMake" section below. For the former
-+case results are reported in variables::
-+
-+ Boost_FOUND - True if headers and requested libraries were found
-+ Boost_INCLUDE_DIRS - Boost include directories
-+ Boost_LIBRARY_DIRS - Link directories for Boost libraries
-+ Boost_LIBRARIES - Boost component libraries to be linked
-+ Boost_<C>_FOUND - True if component <C> was found (<C> is upper-case)
-+ Boost_<C>_LIBRARY - Libraries to link for component <C> (may include
-+ target_link_libraries debug/optimized keywords)
-+ Boost_VERSION - BOOST_VERSION value from boost/version.hpp
-+ Boost_LIB_VERSION - Version string appended to library filenames
-+ Boost_MAJOR_VERSION - Boost major version number (X in X.y.z)
-+ Boost_MINOR_VERSION - Boost minor version number (Y in x.Y.z)
-+ Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
-+ Boost_VERSION_STRING - Boost version number in x.y.z format
-+ Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
-+ - Pass to add_definitions() to have diagnostic
-+ information about Boost's automatic linking
-+ displayed during compilation
-+
-+Note that Boost Python components require a Python version suffix
-+(Boost 1.67 and later), e.g. ``python36`` or ``python27`` for the
-+versions built against Python 3.6 and 2.7, respectively. This also
-+applies to additional components using Python including
-+``mpi_python`` and ``numpy``. Earlier Boost releases may use
-+distribution-specific suffixes such as ``2``, ``3`` or ``2.7``.
-+These may also be used as suffixes, but note that they are not
-+portable.
-+
-+This module reads hints about search locations from variables::
-+
-+ BOOST_ROOT - Preferred installation prefix
-+ (or BOOSTROOT)
-+ BOOST_INCLUDEDIR - Preferred include directory e.g. <prefix>/include
-+ BOOST_LIBRARYDIR - Preferred library directory e.g. <prefix>/lib
-+ Boost_NO_SYSTEM_PATHS - Set to ON to disable searching in locations not
-+ specified by these hint variables. Default is OFF.
-+ Boost_ADDITIONAL_VERSIONS
-+ - List of Boost versions not known to this module
-+ (Boost install locations may contain the version)
-+
-+and saves search results persistently in CMake cache entries::
-+
-+ Boost_INCLUDE_DIR - Directory containing Boost headers
-+ Boost_LIBRARY_DIR_RELEASE - Directory containing release Boost libraries
-+ Boost_LIBRARY_DIR_DEBUG - Directory containing debug Boost libraries
-+ Boost_<C>_LIBRARY_DEBUG - Component <C> library debug variant
-+ Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
-+
-+The following :prop_tgt:`IMPORTED` targets are also defined::
-+
-+ Boost::boost - Target for header-only dependencies
-+ (Boost include directory)
-+ Boost::<C> - Target for specific component dependency
-+ (shared or static library); <C> is lower-
-+ case
-+ Boost::diagnostic_definitions - interface target to enable diagnostic
-+ information about Boost's automatic linking
-+ during compilation (adds BOOST_LIB_DIAGNOSTIC)
-+ Boost::disable_autolinking - interface target to disable automatic
-+ linking with MSVC (adds BOOST_ALL_NO_LIB)
-+ Boost::dynamic_linking - interface target to enable dynamic linking
-+ linking with MSVC (adds BOOST_ALL_DYN_LINK)
-+
-+Implicit dependencies such as Boost::filesystem requiring
-+Boost::system will be automatically detected and satisfied, even
-+if system is not specified when using find_package and if
-+Boost::system is not added to target_link_libraries. If using
-+Boost::thread, then Threads::Threads will also be added automatically.
-+
-+It is important to note that the imported targets behave differently
-+than variables created by this module: multiple calls to
-+find_package(Boost) in the same directory or sub-directories with
-+different options (e.g. static or shared) will not override the
-+values of the targets created by the first call.
-+
-+Users may set these hints or results as cache entries. Projects
-+should not read these entries directly but instead use the above
-+result variables. Note that some hint names start in upper-case
-+"BOOST". One may specify these as environment variables if they are
-+not specified as CMake variables or cache entries.
-+
-+This module first searches for the Boost header files using the above
-+hint variables (excluding BOOST_LIBRARYDIR) and saves the result in
-+Boost_INCLUDE_DIR. Then it searches for requested component libraries
-+using the above hints (excluding BOOST_INCLUDEDIR and
-+Boost_ADDITIONAL_VERSIONS), "lib" directories near Boost_INCLUDE_DIR,
-+and the library name configuration settings below. It saves the
-+library directories in Boost_LIBRARY_DIR_DEBUG and
-+Boost_LIBRARY_DIR_RELEASE and individual library
-+locations in Boost_<C>_LIBRARY_DEBUG and Boost_<C>_LIBRARY_RELEASE.
-+When one changes settings used by previous searches in the same build
-+tree (excluding environment variables) this module discards previous
-+search results affected by the changes and searches again.
-+
-+Boost libraries come in many variants encoded in their file name.
-+Users or projects may tell this module which variant to find by
-+setting variables::
-+
-+ Boost_USE_DEBUG_LIBS - Set to ON or OFF to specify whether to search
-+ and use the debug libraries. Default is ON.
-+ Boost_USE_RELEASE_LIBS - Set to ON or OFF to specify whether to search
-+ and use the release libraries. Default is ON.
-+ Boost_USE_MULTITHREADED - Set to OFF to use the non-multithreaded
-+ libraries ('mt' tag). Default is ON.
-+ Boost_USE_STATIC_LIBS - Set to ON to force the use of the static
-+ libraries. Default is OFF.
-+ Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
-+ libraries linked statically to the C++ runtime
-+ ('s' tag). Default is platform dependent.
-+ Boost_USE_DEBUG_RUNTIME - Set to ON or OFF to specify whether to use
-+ libraries linked to the MS debug C++ runtime
-+ ('g' tag). Default is ON.
-+ Boost_USE_DEBUG_PYTHON - Set to ON to use libraries compiled with a
-+ debug Python build ('y' tag). Default is OFF.
-+ Boost_USE_STLPORT - Set to ON to use libraries compiled with
-+ STLPort ('p' tag). Default is OFF.
-+ Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
-+ - Set to ON to use libraries compiled with
-+ STLPort deprecated "native iostreams"
-+ ('n' tag). Default is OFF.
-+ Boost_COMPILER - Set to the compiler-specific library suffix
-+ (e.g. "-gcc43"). Default is auto-computed
-+ for the C++ compiler in use. A list may be
-+ used if multiple compatible suffixes should
-+ be tested for, in decreasing order of
-+ preference.
-+ Boost_ARCHITECTURE - Set to the architecture-specific library suffix
-+ (e.g. "-x64"). Default is auto-computed for the
-+ C++ compiler in use.
-+ Boost_THREADAPI - Suffix for "thread" component library name,
-+ such as "pthread" or "win32". Names with
-+ and without this suffix will both be tried.
-+ Boost_NAMESPACE - Alternate namespace used to build boost with
-+ e.g. if set to "myboost", will search for
-+ myboost_thread instead of boost_thread.
-+
-+Other variables one may set to control this module are::
-+
-+ Boost_DEBUG - Set to ON to enable debug output from FindBoost.
-+ Please enable this before filing any bug report.
-+ Boost_DETAILED_FAILURE_MSG
-+ - Set to ON to add detailed information to the
-+ failure message even when the REQUIRED option
-+ is not given to the find_package call.
-+ Boost_REALPATH - Set to ON to resolve symlinks for discovered
-+ libraries to assist with packaging. For example,
-+ the "system" component library may be resolved to
-+ "/usr/lib/libboost_system.so.1.67.0" instead of
-+ "/usr/lib/libboost_system.so". This does not
-+ affect linking and should not be enabled unless
-+ the user needs this information.
-+ Boost_LIBRARY_DIR - Default value for Boost_LIBRARY_DIR_RELEASE and
-+ Boost_LIBRARY_DIR_DEBUG.
-+
-+On Visual Studio and Borland compilers Boost headers request automatic
-+linking to corresponding libraries. This requires matching libraries
-+to be linked explicitly or available in the link library search path.
-+In this case setting Boost_USE_STATIC_LIBS to OFF may not achieve
-+dynamic linking. Boost automatic linking typically requests static
-+libraries with a few exceptions (such as Boost.Python). Use::
-+
-+ add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
-+
-+to ask Boost to report information about automatic linking requests.
-+
-+Example to find Boost headers only::
-+
-+ find_package(Boost 1.36.0)
-+ if(Boost_FOUND)
-+ include_directories(${Boost_INCLUDE_DIRS})
-+ add_executable(foo foo.cc)
-+ endif()
-+
-+Example to find Boost libraries and use imported targets::
-+
-+ find_package(Boost 1.56 REQUIRED COMPONENTS
-+ date_time filesystem iostreams)
-+ add_executable(foo foo.cc)
-+ target_link_libraries(foo Boost::date_time Boost::filesystem
-+ Boost::iostreams)
-+
-+Example to find Boost Python 3.6 libraries and use imported targets::
-+
-+ find_package(Boost 1.67 REQUIRED COMPONENTS
-+ python36 numpy36)
-+ add_executable(foo foo.cc)
-+ target_link_libraries(foo Boost::python36 Boost::numpy36)
-+
-+Example to find Boost headers and some *static* (release only) libraries::
-+
-+ set(Boost_USE_STATIC_LIBS ON) # only find static libs
-+ set(Boost_USE_DEBUG_LIBS OFF) # ignore debug libs and
-+ set(Boost_USE_RELEASE_LIBS ON) # only find release libs
-+ set(Boost_USE_MULTITHREADED ON)
-+ set(Boost_USE_STATIC_RUNTIME OFF)
-+ find_package(Boost 1.66.0 COMPONENTS date_time filesystem system ...)
-+ if(Boost_FOUND)
-+ include_directories(${Boost_INCLUDE_DIRS})
-+ add_executable(foo foo.cc)
-+ target_link_libraries(foo ${Boost_LIBRARIES})
-+ endif()
-+
-+Boost CMake
-+^^^^^^^^^^^
-+
-+If Boost was built using the boost-cmake project it provides a package
-+configuration file for use with find_package's Config mode. This
-+module looks for the package configuration file called
-+BoostConfig.cmake or boost-config.cmake and stores the result in cache
-+entry "Boost_DIR". If found, the package configuration file is loaded
-+and this module returns with no further action. See documentation of
-+the Boost CMake package configuration for details on what it provides.
-+
-+Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
-+#]=======================================================================]
-
- # Save project's policies
- cmake_policy(PUSH)
-@@ -406,15 +411,18 @@ endmacro()
-
- #-------------------------------------------------------------------------------
-
--#
--# Runs compiler with "-dumpversion" and parses major/minor
--# version with a regex.
--#
--function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
-- string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\1\\2"
-- _boost_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
-+# Convert CMAKE_CXX_COMPILER_VERSION to boost compiler suffix version.
-+function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION _OUTPUT_VERSION_MAJOR _OUTPUT_VERSION_MINOR)
-+ string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\1"
-+ _boost_COMPILER_VERSION_MAJOR "${CMAKE_CXX_COMPILER_VERSION}")
-+ string(REGEX REPLACE "([0-9]+)\\.([0-9]+)(\\.[0-9]+)?" "\\2"
-+ _boost_COMPILER_VERSION_MINOR "${CMAKE_CXX_COMPILER_VERSION}")
-+
-+ set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}${_boost_COMPILER_VERSION_MINOR}")
-
- set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
-+ set(${_OUTPUT_VERSION_MAJOR} ${_boost_COMPILER_VERSION_MAJOR} PARENT_SCOPE)
-+ set(${_OUTPUT_VERSION_MINOR} ${_boost_COMPILER_VERSION_MINOR} PARENT_SCOPE)
- endfunction()
-
- #
-@@ -458,28 +466,10 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
- elseif (GHSMULTI)
- set(_boost_COMPILER "-ghs")
- elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
-- #[========================================================[
-- NOTE: newer versions of FindBoost from kitware
-- change this version check to use MSVC_TOOLSET_VERSION.
-- That variable only exists in make 3.12 or greater, so
-- until all envs (including bundled visual studio) have
-- this min version of cmake, stick with this
-- CMAKE_CXX_COMPILER_VERSION check
-- #]========================================================]
-- if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)
-+ if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
- set(_boost_COMPILER "-vc141;-vc140")
-- elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
-- set(_boost_COMPILER "-vc140")
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
-- set(_boost_COMPILER "-vc120")
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
-- set(_boost_COMPILER "-vc110")
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
-- set(_boost_COMPILER "-vc100")
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
-- set(_boost_COMPILER "-vc90")
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
-- set(_boost_COMPILER "-vc80")
-+ elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80)
-+ set(_boost_COMPILER "-vc${MSVC_TOOLSET_VERSION}")
- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.10)
- set(_boost_COMPILER "-vc71")
- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13) # Good luck!
-@@ -497,25 +487,35 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
- if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
- set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
- else()
-- _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-+ _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION _boost_COMPILER_VERSION_MAJOR _boost_COMPILER_VERSION_MINOR)
- set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
- endif()
- elseif (UNIX)
-- if (CMAKE_COMPILER_IS_GNUCXX)
-+ _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION _boost_COMPILER_VERSION_MAJOR _boost_COMPILER_VERSION_MINOR)
-+ if(NOT Boost_VERSION VERSION_LESS 106900)
-+ # From GCC 5 and clang 4, versioning changes and minor becomes patch.
-+ # For those compilers, patch is exclude from compiler tag in Boost 1.69+ library naming.
-+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND _boost_COMPILER_VERSION_MAJOR VERSION_GREATER 4)
-+ set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}")
-+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND _boost_COMPILER_VERSION_MAJOR VERSION_GREATER 3)
-+ set(_boost_COMPILER_VERSION "${_boost_COMPILER_VERSION_MAJOR}")
-+ endif()
-+ endif()
-+
-+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
- set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
- else()
-- _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
- # Determine which version of GCC we have.
- if(APPLE)
- if(Boost_MINOR_VERSION)
- if(${Boost_MINOR_VERSION} GREATER 35)
- # In Boost 1.36.0 and newer, the mangled compiler name used
-- # on Mac OS X/Darwin is "xgcc".
-+ # on macOS/Darwin is "xgcc".
- set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
- else()
- # In Boost <= 1.35.0, there is no mangled compiler name for
-- # the Mac OS X/Darwin version of GCC.
-+ # the macOS/Darwin version of GCC.
- set(_boost_COMPILER "")
- endif()
- else()
-@@ -527,7 +527,10 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
- set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
- endif()
- endif()
-- endif ()
-+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-+ # TODO: Find out any Boost version constraints vs clang support.
-+ set(_boost_COMPILER "-clang${_boost_COMPILER_VERSION}")
-+ endif()
- else()
- # TODO at least Boost_DEBUG here?
- set(_boost_COMPILER "")
-@@ -591,7 +594,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
- endif()
-
- set(_Boost_IMPORTED_TARGETS TRUE)
-- if(Boost_VERSION VERSION_LESS 103300)
-+ if(Boost_VERSION AND Boost_VERSION VERSION_LESS 103300)
- message(WARNING "Imported targets and dependency information not available for Boost version ${Boost_VERSION} (all versions older than 1.33)")
- set(_Boost_IMPORTED_TARGETS FALSE)
- elseif(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
-@@ -841,27 +844,41 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
- set(_Boost_TIMER_DEPENDENCIES chrono system)
- set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
- set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
-+ elseif(NOT Boost_VERSION VERSION_LESS 106800 AND Boost_VERSION VERSION_LESS 106900)
-+ set(_Boost_CHRONO_DEPENDENCIES system)
-+ set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
-+ set(_Boost_CONTRACT_DEPENDENCIES thread chrono system date_time)
-+ set(_Boost_COROUTINE_DEPENDENCIES context system)
-+ set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
-+ set(_Boost_FILESYSTEM_DEPENDENCIES system)
-+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-+ set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
-+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
-+ set(_Boost_MPI_DEPENDENCIES serialization)
-+ set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization)
-+ set(_Boost_NUMPY_DEPENDENCIES python${component_python_version})
-+ set(_Boost_RANDOM_DEPENDENCIES system)
-+ set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-+ set(_Boost_TIMER_DEPENDENCIES chrono system)
-+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
- else()
-- if(NOT Boost_VERSION VERSION_LESS 106800)
-- set(_Boost_CHRONO_DEPENDENCIES system)
-- set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
-- set(_Boost_CONTRACT_DEPENDENCIES thread chrono system date_time)
-- set(_Boost_COROUTINE_DEPENDENCIES context system)
-- set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
-- set(_Boost_FILESYSTEM_DEPENDENCIES system)
-+ if(NOT Boost_VERSION VERSION_LESS 106900)
-+ set(_Boost_CONTRACT_DEPENDENCIES thread chrono date_time)
-+ set(_Boost_COROUTINE_DEPENDENCIES context)
-+ set(_Boost_FIBER_DEPENDENCIES context)
- set(_Boost_IOSTREAMS_DEPENDENCIES regex)
-- set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
-+ set(_Boost_LOG_DEPENDENCIES date_time log_setup filesystem thread regex chrono atomic)
- set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
- set(_Boost_MPI_DEPENDENCIES serialization)
- set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization)
- set(_Boost_NUMPY_DEPENDENCIES python${component_python_version})
-- set(_Boost_RANDOM_DEPENDENCIES system)
-- set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
-+ set(_Boost_THREAD_DEPENDENCIES chrono date_time atomic)
- set(_Boost_TIMER_DEPENDENCIES chrono system)
-- set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
-+ set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono date_time atomic)
- set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
- endif()
-- if(NOT Boost_VERSION VERSION_LESS 106900)
-+ if(NOT Boost_VERSION VERSION_LESS 107000)
- message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
- endif()
- endif()
-@@ -899,7 +916,11 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
- set(_Boost_CHRONO_HEADERS "boost/chrono.hpp")
- set(_Boost_CONTAINER_HEADERS "boost/container/container_fwd.hpp")
- set(_Boost_CONTRACT_HEADERS "boost/contract.hpp")
-- set(_Boost_CONTEXT_HEADERS "boost/context/detail/fcontext.hpp")
-+ if(Boost_VERSION VERSION_LESS 106100)
-+ set(_Boost_CONTEXT_HEADERS "boost/context/all.hpp")
-+ else()
-+ set(_Boost_CONTEXT_HEADERS "boost/context/detail/fcontext.hpp")
-+ endif()
- set(_Boost_COROUTINE_HEADERS "boost/coroutine/all.hpp")
- set(_Boost_DATE_TIME_HEADERS "boost/date_time/date.hpp")
- set(_Boost_EXCEPTION_HEADERS "boost/exception/exception.hpp")
-@@ -928,6 +949,12 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
- set(_Boost_REGEX_HEADERS "boost/regex.hpp")
- set(_Boost_SERIALIZATION_HEADERS "boost/serialization/serialization.hpp")
- set(_Boost_SIGNALS_HEADERS "boost/signals.hpp")
-+ set(_Boost_STACKTRACE_ADDR2LINE_HEADERS "boost/stacktrace.hpp")
-+ set(_Boost_STACKTRACE_BACKTRACE_HEADERS "boost/stacktrace.hpp")
-+ set(_Boost_STACKTRACE_BASIC_HEADERS "boost/stacktrace.hpp")
-+ set(_Boost_STACKTRACE_NOOP_HEADERS "boost/stacktrace.hpp")
-+ set(_Boost_STACKTRACE_WINDBG_CACHED_HEADERS "boost/stacktrace.hpp")
-+ set(_Boost_STACKTRACE_WINDBG_HEADERS "boost/stacktrace.hpp")
- set(_Boost_SYSTEM_HEADERS "boost/system/config.hpp")
- set(_Boost_TEST_EXEC_MONITOR_HEADERS "boost/test/test_exec_monitor.hpp")
- set(_Boost_THREAD_HEADERS "boost/thread.hpp")
-@@ -1036,21 +1063,12 @@ function(_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS component
- else()
- set(_arch_suffix 32)
- endif()
-- if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.10)
-+ if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.1)
- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-12.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-11.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-10.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-9.0)
-- elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
-- list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-8.0)
-+ elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80)
-+ math(EXPR _toolset_major_version "${MSVC_TOOLSET_VERSION} / 10")
-+ list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-${_toolset_major_version}.0)
- endif()
- set(${componentlibvar} ${${componentlibvar}} PARENT_SCOPE)
- endif()
-@@ -1108,6 +1126,7 @@ else()
- # _Boost_COMPONENT_HEADERS. See the instructions at the top of
- # _Boost_COMPONENT_DEPENDENCIES.
- set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
-+ "1.69.0" "1.69"
- "1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
- "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
- "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
-@@ -1265,7 +1284,7 @@ if(NOT Boost_INCLUDE_DIR)
- list(APPEND _boost_INCLUDE_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
- else()
- if("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
-- foreach(ver ${_Boost_KNOWN_VERSIONS})
-+ foreach(ver ${_boost_TEST_VERSIONS})
- string(REPLACE "." "_" ver "${ver}")
- list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS "C:/local/boost_${ver}")
- endforeach()
-@@ -1350,6 +1369,7 @@ if(Boost_INCLUDE_DIR)
- math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
- math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
- math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
-+ set(Boost_VERSION_STRING "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-
- string(APPEND Boost_ERROR_REASON
- "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
-@@ -1409,6 +1429,13 @@ if ( NOT Boost_NAMESPACE )
- set(Boost_NAMESPACE "boost")
- endif()
-
-+if(Boost_DEBUG)
-+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-+ "Boost_LIB_PREFIX = ${Boost_LIB_PREFIX}")
-+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-+ "Boost_NAMESPACE = ${Boost_NAMESPACE}")
-+endif()
-+
- # ------------------------------------------------------------------------
- # Suffix initialization and compiler suffix detection.
- # ------------------------------------------------------------------------
-@@ -1501,27 +1528,35 @@ endif()
- # -x86 Architecture and address model tag
- # First character is the architecture, then word-size, either 32 or 64
- # Only used in 'versioned' layout, added in Boost 1.66.0
--set(_boost_ARCHITECTURE_TAG "")
--# {CMAKE_CXX_COMPILER_ARCHITECTURE_ID} is not currently set for all compilers
--if(NOT "x${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "x" AND NOT Boost_VERSION VERSION_LESS 106600)
-- string(APPEND _boost_ARCHITECTURE_TAG "-")
-- # This needs to be kept in-sync with the section of CMakePlatformId.h.in
-- # inside 'defined(_WIN32) && defined(_MSC_VER)'
-- if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "IA64")
-- string(APPEND _boost_ARCHITECTURE_TAG "i")
-- elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "X86"
-- OR CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "x64")
-- string(APPEND _boost_ARCHITECTURE_TAG "x")
-- elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "^ARM")
-- string(APPEND _boost_ARCHITECTURE_TAG "a")
-- elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "MIPS")
-- string(APPEND _boost_ARCHITECTURE_TAG "m")
-- endif()
--
-- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-- string(APPEND _boost_ARCHITECTURE_TAG "64")
-- else()
-- string(APPEND _boost_ARCHITECTURE_TAG "32")
-+if(DEFINED Boost_ARCHITECTURE)
-+ set(_boost_ARCHITECTURE_TAG "${Boost_ARCHITECTURE}")
-+ if(Boost_DEBUG)
-+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-+ "using user-specified Boost_ARCHITECTURE = ${_boost_ARCHITECTURE_TAG}")
-+ endif()
-+else()
-+ set(_boost_ARCHITECTURE_TAG "")
-+ # {CMAKE_CXX_COMPILER_ARCHITECTURE_ID} is not currently set for all compilers
-+ if(NOT "x${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "x" AND NOT Boost_VERSION VERSION_LESS 106600)
-+ string(APPEND _boost_ARCHITECTURE_TAG "-")
-+ # This needs to be kept in-sync with the section of CMakePlatformId.h.in
-+ # inside 'defined(_WIN32) && defined(_MSC_VER)'
-+ if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "IA64")
-+ string(APPEND _boost_ARCHITECTURE_TAG "i")
-+ elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "X86"
-+ OR CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "x64")
-+ string(APPEND _boost_ARCHITECTURE_TAG "x")
-+ elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "^ARM")
-+ string(APPEND _boost_ARCHITECTURE_TAG "a")
-+ elseif(CMAKE_CXX_COMPILER_ARCHITECTURE_ID STREQUAL "MIPS")
-+ string(APPEND _boost_ARCHITECTURE_TAG "m")
-+ endif()
-+
-+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-+ string(APPEND _boost_ARCHITECTURE_TAG "64")
-+ else()
-+ string(APPEND _boost_ARCHITECTURE_TAG "32")
-+ endif()
- endif()
- endif()
-
-@@ -1576,7 +1611,7 @@ foreach(c DEBUG RELEASE)
- if( Boost_NO_SYSTEM_PATHS )
- list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
- else()
-- foreach(ver ${_Boost_KNOWN_VERSIONS})
-+ foreach(ver ${_boost_TEST_VERSIONS})
- string(REPLACE "." "_" ver "${ver}")
- _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "C:/local/boost_${ver}")
- endforeach()
-@@ -1763,6 +1798,7 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
- list(APPEND _boost_RELEASE_NAMES
- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
-+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component}${_boost_MULTITHREADED}
- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${component} )
- if(_boost_STATIC_RUNTIME_WORKAROUND)
- set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
-@@ -2064,6 +2100,9 @@ if(Boost_FOUND)
- message (STATUS " ${COMPONENT}")
- endif()
- list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
-+ if(COMPONENT STREQUAL "thread")
-+ list(APPEND Boost_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-+ endif()
- endif()
- endforeach()
- else()
-diff --git a/src/ripple/beast/container/detail/aged_ordered_container.h b/src/ripple/beast/container/detail/aged_ordered_container.h
-index 13483040ff..201c04b72d 100644
---- a/src/ripple/beast/container/detail/aged_ordered_container.h
-+++ b/src/ripple/beast/container/detail/aged_ordered_container.h
-@@ -22,9 +22,9 @@
-
- #include <ripple/beast/container/detail/aged_container_iterator.h>
- #include <ripple/beast/container/detail/aged_associative_container.h>
-+#include <ripple/beast/container/detail/empty_base_optimization.h>
- #include <ripple/beast/container/aged_container.h>
- #include <ripple/beast/clock/abstract_clock.h>
--#include <boost/beast/core/detail/empty_base_optimization.hpp>
- #include <boost/intrusive/list.hpp>
- #include <boost/intrusive/set.hpp>
- #include <boost/version.hpp>
-@@ -162,7 +162,7 @@ class aged_ordered_container
-
- // VFALCO TODO This should only be enabled for maps.
- class pair_value_compare
-- : public boost::beast::detail::empty_base_optimization <Compare>
-+ : public beast::detail::empty_base_optimization <Compare>
- #ifdef _LIBCPP_VERSION
- , public std::binary_function <value_type, value_type, bool>
- #endif
-@@ -184,7 +184,7 @@ class aged_ordered_container
- }
-
- pair_value_compare (pair_value_compare const& other)
-- : boost::beast::detail::empty_base_optimization <Compare> (other)
-+ : beast::detail::empty_base_optimization <Compare> (other)
- {
- }
-
-@@ -192,7 +192,7 @@ class aged_ordered_container
- friend aged_ordered_container;
-
- pair_value_compare (Compare const& compare)
-- : boost::beast::detail::empty_base_optimization <Compare> (compare)
-+ : beast::detail::empty_base_optimization <Compare> (compare)
- {
- }
- };
-@@ -200,7 +200,7 @@ class aged_ordered_container
- // Compares value_type against element, used in insert_check
- // VFALCO TODO hoist to remove template argument dependencies
- class KeyValueCompare
-- : public boost::beast::detail::empty_base_optimization <Compare>
-+ : public beast::detail::empty_base_optimization <Compare>
- #ifdef _LIBCPP_VERSION
- , public std::binary_function <Key, element, bool>
- #endif
-@@ -215,7 +215,7 @@ class aged_ordered_container
- KeyValueCompare () = default;
-
- KeyValueCompare (Compare const& compare)
-- : boost::beast::detail::empty_base_optimization <Compare> (compare)
-+ : beast::detail::empty_base_optimization <Compare> (compare)
- {
- }
-
-@@ -252,12 +252,12 @@ class aged_ordered_container
-
- Compare& compare()
- {
-- return boost::beast::detail::empty_base_optimization <Compare>::member();
-+ return beast::detail::empty_base_optimization <Compare>::member();
- }
-
- Compare const& compare() const
- {
-- return boost::beast::detail::empty_base_optimization <Compare>::member();
-+ return beast::detail::empty_base_optimization <Compare>::member();
- }
- };
-
-@@ -283,7 +283,7 @@ class aged_ordered_container
-
- class config_t
- : private KeyValueCompare
-- , public boost::beast::detail::empty_base_optimization <ElementAllocator>
-+ , public beast::detail::empty_base_optimization <ElementAllocator>
- {
- public:
- explicit config_t (
-@@ -303,7 +303,7 @@ class aged_ordered_container
- config_t (
- clock_type& clock_,
- Allocator const& alloc_)
-- : boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ : beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-@@ -313,14 +313,14 @@ class aged_ordered_container
- Compare const& comp,
- Allocator const& alloc_)
- : KeyValueCompare (comp)
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-
- config_t (config_t const& other)
- : KeyValueCompare (other.key_compare())
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (
-+ , beast::detail::empty_base_optimization <ElementAllocator> (
- ElementAllocatorTraits::
- select_on_container_copy_construction (
- other.alloc()))
-@@ -330,14 +330,14 @@ class aged_ordered_container
-
- config_t (config_t const& other, Allocator const& alloc)
- : KeyValueCompare (other.key_compare())
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc)
- , clock (other.clock)
- {
- }
-
- config_t (config_t&& other)
- : KeyValueCompare (std::move (other.key_compare()))
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (
-+ , beast::detail::empty_base_optimization <ElementAllocator> (
- std::move (other))
- , clock (other.clock)
- {
-@@ -345,7 +345,7 @@ class aged_ordered_container
-
- config_t (config_t&& other, Allocator const& alloc)
- : KeyValueCompare (std::move (other.key_compare()))
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc)
- , clock (other.clock)
- {
- }
-@@ -391,13 +391,13 @@ class aged_ordered_container
-
- ElementAllocator& alloc()
- {
-- return boost::beast::detail::empty_base_optimization <
-+ return beast::detail::empty_base_optimization <
- ElementAllocator>::member();
- }
-
- ElementAllocator const& alloc() const
- {
-- return boost::beast::detail::empty_base_optimization <
-+ return beast::detail::empty_base_optimization <
- ElementAllocator>::member();
- }
-
-diff --git a/src/ripple/beast/container/detail/aged_unordered_container.h b/src/ripple/beast/container/detail/aged_unordered_container.h
-index 024ef9a70b..271045ee47 100644
---- a/src/ripple/beast/container/detail/aged_unordered_container.h
-+++ b/src/ripple/beast/container/detail/aged_unordered_container.h
-@@ -22,9 +22,9 @@
-
- #include <ripple/beast/container/detail/aged_container_iterator.h>
- #include <ripple/beast/container/detail/aged_associative_container.h>
-+#include <ripple/beast/container/detail/empty_base_optimization.h>
- #include <ripple/beast/container/aged_container.h>
- #include <ripple/beast/clock/abstract_clock.h>
--#include <boost/beast/core/detail/empty_base_optimization.hpp>
- #include <boost/intrusive/list.hpp>
- #include <boost/intrusive/unordered_set.hpp>
- #include <algorithm>
-@@ -163,7 +163,7 @@ class aged_unordered_container
-
- // VFALCO TODO hoist to remove template argument dependencies
- class ValueHash
-- : private boost::beast::detail::empty_base_optimization <Hash>
-+ : private beast::detail::empty_base_optimization <Hash>
- #ifdef _LIBCPP_VERSION
- , public std::unary_function <element, std::size_t>
- #endif
-@@ -179,7 +179,7 @@ class aged_unordered_container
- }
-
- ValueHash (Hash const& hash)
-- : boost::beast::detail::empty_base_optimization <Hash> (hash)
-+ : beast::detail::empty_base_optimization <Hash> (hash)
- {
- }
-
-@@ -202,7 +202,7 @@ class aged_unordered_container
- // Compares value_type against element, used in find/insert_check
- // VFALCO TODO hoist to remove template argument dependencies
- class KeyValueEqual
-- : private boost::beast::detail::empty_base_optimization <KeyEqual>
-+ : private beast::detail::empty_base_optimization <KeyEqual>
- #ifdef _LIBCPP_VERSION
- , public std::binary_function <Key, element, bool>
- #endif
-@@ -219,7 +219,7 @@ class aged_unordered_container
- }
-
- KeyValueEqual (KeyEqual const& keyEqual)
-- : boost::beast::detail::empty_base_optimization <KeyEqual> (keyEqual)
-+ : beast::detail::empty_base_optimization <KeyEqual> (keyEqual)
- {
- }
-
-@@ -300,7 +300,7 @@ class aged_unordered_container
- class config_t
- : private ValueHash
- , private KeyValueEqual
-- , private boost::beast::detail::empty_base_optimization <ElementAllocator>
-+ , private beast::detail::empty_base_optimization <ElementAllocator>
- {
- public:
- explicit config_t (
-@@ -328,7 +328,7 @@ class aged_unordered_container
- config_t (
- clock_type& clock_,
- Allocator const& alloc_)
-- : boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ : beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-@@ -348,7 +348,7 @@ class aged_unordered_container
- Hash const& hash,
- Allocator const& alloc_)
- : ValueHash (hash)
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-@@ -358,7 +358,7 @@ class aged_unordered_container
- KeyEqual const& keyEqual,
- Allocator const& alloc_)
- : KeyValueEqual (keyEqual)
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-@@ -370,7 +370,7 @@ class aged_unordered_container
- Allocator const& alloc_)
- : ValueHash (hash)
- , KeyValueEqual (keyEqual)
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc_)
- , clock (clock_)
- {
- }
-@@ -378,7 +378,7 @@ class aged_unordered_container
- config_t (config_t const& other)
- : ValueHash (other.hash_function())
- , KeyValueEqual (other.key_eq())
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (
-+ , beast::detail::empty_base_optimization <ElementAllocator> (
- ElementAllocatorTraits::
- select_on_container_copy_construction (
- other.alloc()))
-@@ -389,7 +389,7 @@ class aged_unordered_container
- config_t (config_t const& other, Allocator const& alloc)
- : ValueHash (other.hash_function())
- , KeyValueEqual (other.key_eq())
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc)
- , clock (other.clock)
- {
- }
-@@ -397,7 +397,7 @@ class aged_unordered_container
- config_t (config_t&& other)
- : ValueHash (std::move (other.hash_function()))
- , KeyValueEqual (std::move (other.key_eq()))
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (
-+ , beast::detail::empty_base_optimization <ElementAllocator> (
- std::move (other.alloc()))
- , clock (other.clock)
- {
-@@ -406,7 +406,7 @@ class aged_unordered_container
- config_t (config_t&& other, Allocator const& alloc)
- : ValueHash (std::move (other.hash_function()))
- , KeyValueEqual (std::move (other.key_eq()))
-- , boost::beast::detail::empty_base_optimization <ElementAllocator> (alloc)
-+ , beast::detail::empty_base_optimization <ElementAllocator> (alloc)
- , clock (other.clock)
- {
- }
-@@ -471,13 +471,13 @@ class aged_unordered_container
-
- ElementAllocator& alloc()
- {
-- return boost::beast::detail::empty_base_optimization <
-+ return beast::detail::empty_base_optimization <
- ElementAllocator>::member();
- }
-
- ElementAllocator const& alloc() const
- {
-- return boost::beast::detail::empty_base_optimization <
-+ return beast::detail::empty_base_optimization <
- ElementAllocator>::member();
- }
-
-diff --git a/src/ripple/beast/container/detail/empty_base_optimization.h b/src/ripple/beast/container/detail/empty_base_optimization.h
-new file mode 100644
-index 0000000000..3b1acb99b1
---- /dev/null
-+++ b/src/ripple/beast/container/detail/empty_base_optimization.h
-@@ -0,0 +1,98 @@
-+//
-+// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
-+//
-+// Distributed under the Boost Software License, Version 1.0. (See accompanying
-+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-+//
-+// Official repository: https://github.com/boostorg/beast
-+//
-+
-+#ifndef BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
-+#define BEAST_CONTAINER_DETAIL_EMPTY_BASE_OPTIMIZATION_H_INCLUDED
-+
-+#include <boost/type_traits/is_final.hpp>
-+#include <type_traits>
-+#include <utility>
-+
-+namespace beast {
-+namespace detail {
-+
-+template<class T>
-+struct is_empty_base_optimization_derived
-+ : std::integral_constant<bool,
-+ std::is_empty<T>::value &&
-+ ! boost::is_final<T>::value>
-+{
-+};
-+
-+template<class T, int UniqueID = 0,
-+ bool isDerived =
-+ is_empty_base_optimization_derived<T>::value>
-+class empty_base_optimization : private T
-+{
-+public:
-+ empty_base_optimization() = default;
-+ empty_base_optimization(empty_base_optimization&&) = default;
-+ empty_base_optimization(empty_base_optimization const&) = default;
-+ empty_base_optimization& operator=(empty_base_optimization&&) = default;
-+ empty_base_optimization& operator=(empty_base_optimization const&) = default;
-+
-+ template<class Arg1, class... ArgN>
-+ explicit
-+ empty_base_optimization(Arg1&& arg1, ArgN&&... argn)
-+ : T(std::forward<Arg1>(arg1),
-+ std::forward<ArgN>(argn)...)
-+ {
-+ }
-+
-+ T& member() noexcept
-+ {
-+ return *this;
-+ }
-+
-+ T const& member() const noexcept
-+ {
-+ return *this;
-+ }
-+};
-+
-+//------------------------------------------------------------------------------
-+
-+template<
-+ class T,
-+ int UniqueID
-+>
-+class empty_base_optimization <T, UniqueID, false>
-+{
-+ T t_;
-+
-+public:
-+ empty_base_optimization() = default;
-+ empty_base_optimization(empty_base_optimization&&) = default;
-+ empty_base_optimization(empty_base_optimization const&) = default;
-+ empty_base_optimization& operator=(empty_base_optimization&&) = default;
-+ empty_base_optimization& operator=(empty_base_optimization const&) = default;
-+
-+ template<class Arg1, class... ArgN>
-+ explicit
-+ empty_base_optimization(Arg1&& arg1, ArgN&&... argn)
-+ : t_(std::forward<Arg1>(arg1),
-+ std::forward<ArgN>(argn)...)
-+ {
-+ }
-+
-+ T& member() noexcept
-+ {
-+ return t_;
-+ }
-+
-+ T const& member() const noexcept
-+ {
-+ return t_;
-+ }
-+};
-+
-+} // detail
-+} // beast
-+
-+#endif
-diff --git a/src/ripple/server/impl/BaseWSPeer.h b/src/ripple/server/impl/BaseWSPeer.h
-index c4fc9b79dc..301d78ace3 100644
---- a/src/ripple/server/impl/BaseWSPeer.h
-+++ b/src/ripple/server/impl/BaseWSPeer.h
-@@ -291,14 +291,20 @@ on_write(error_code const& ec)
- start_timer();
- if(! result.first)
- impl().ws_.async_write_some(
-- result.first, result.second, strand_.wrap(std::bind(
-- &BaseWSPeer::on_write, impl().shared_from_this(),
-- std::placeholders::_1)));
-+ static_cast<bool>(result.first),
-+ result.second,
-+ strand_.wrap(std::bind(
-+ &BaseWSPeer::on_write,
-+ impl().shared_from_this(),
-+ std::placeholders::_1)));
- else
- impl().ws_.async_write_some(
-- result.first, result.second, strand_.wrap(std::bind(
-- &BaseWSPeer::on_write_fin, impl().shared_from_this(),
-- std::placeholders::_1)));
-+ static_cast<bool>(result.first),
-+ result.second,
-+ strand_.wrap(std::bind(
-+ &BaseWSPeer::on_write_fin,
-+ impl().shared_from_this(),
-+ std::placeholders::_1)));
- }
-
- template<class Handler, class Impl>
diff --git a/community/sysprof/allow-disabling-systemdunitdir.patch b/community/sysprof/allow-disabling-systemdunitdir.patch
deleted file mode 100644
index 4c0329e08c5..00000000000
--- a/community/sysprof/allow-disabling-systemdunitdir.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/data/meson.build b/data/meson.build
-index cc924ae..63dc69b 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -86,16 +86,18 @@ if get_option('with_sysprofd') == 'bundled'
- )
-
- systemdunitdir = get_option('systemdunitdir')
-- if systemdunitdir == ''
-- systemdunitdir = dependency('systemd').get_pkgconfig_variable('systemdsystemunitdir')
-+ if systemdunitdir != 'no'
-+ if systemdunitdir == ''
-+ systemdunitdir = dependency('systemd').get_pkgconfig_variable('systemdsystemunitdir')
-+ endif
-+ configure_file(
-+ input: 'sysprof2.service.in',
-+ output: 'sysprof2.service',
-+ configuration: sysprofdconf,
-+ install: true,
-+ install_dir: systemdunitdir,
-+ )
- endif
-- configure_file(
-- input: 'sysprof2.service.in',
-- output: 'sysprof2.service',
-- configuration: sysprofdconf,
-- install: true,
-- install_dir: systemdunitdir,
-- )
-
- i18n.merge_file(
- input: 'org.gnome.sysprof2.policy.in',
diff --git a/community/wt/960e8d017b264710e344c63f9feb6ea1fa593eeb.patch b/community/wt/960e8d017b264710e344c63f9feb6ea1fa593eeb.patch
deleted file mode 100644
index c0dc62a05f9..00000000000
--- a/community/wt/960e8d017b264710e344c63f9feb6ea1fa593eeb.patch
+++ /dev/null
@@ -1,638 +0,0 @@
-From 960e8d017b264710e344c63f9feb6ea1fa593eeb Mon Sep 17 00:00:00 2001
-From: Roel Standaert <roel@emweb.be>
-Date: Tue, 19 Dec 2017 17:33:41 +0100
-Subject: [PATCH] Several changes:
-
- - Compatibility with Boost 1.66 (asio changes)
- - WDialog: Document that autofocus is enabled by default, and don't change focus if it was set explicitly
- - Fix findById
- - WWebWidget: Avoid copy of children vector
- - Json: Document headers to include for Wt::Json::parse() and Wt::Json::serialize()
- - <num-threads> does not exist anymore as a child of <connector-fcgi> or <connector-isapi>
----
- examples/filetreetable/CMakeLists.txt | 1 +
- examples/gitmodel/CMakeLists.txt | 2 +-
- examples/wt-homepage/CMakeLists.txt | 2 +-
- src/Wt/AsioWrapper/strand.hpp | 19 +++++++++++++++++
- src/Wt/Http/Client.C | 8 ++++++-
- src/Wt/Http/Client.h | 5 +++++
- src/Wt/Json/Value.h | 5 ++++-
- src/Wt/WDialog.C | 6 ++++--
- src/Wt/WDialog.h | 3 +++
- src/Wt/WWebWidget.C | 12 ++++++++---
- src/http/Connection.C | 39 +++++++++++++++++++++--------------
- src/http/Connection.h | 8 +++++--
- src/http/Reply.C | 3 ++-
- src/http/Server.C | 4 ++++
- src/http/Server.h | 2 +-
- src/http/SessionProcess.C | 5 +++++
- src/http/SslConnection.C | 16 +++++++-------
- src/http/TcpConnection.C | 18 ++++++++--------
- src/web/Configuration.C | 4 ----
- 19 files changed, 113 insertions(+), 49 deletions(-)
-
-diff --git a/examples/filetreetable/CMakeLists.txt b/examples/filetreetable/CMakeLists.txt
-index 4265b9b7..c0c94100 100644
---- a/examples/filetreetable/CMakeLists.txt
-+++ b/examples/filetreetable/CMakeLists.txt
-@@ -10,6 +10,7 @@ ELSE(NOT BOOST_FS_LIB)
-
- TARGET_LINK_LIBRARIES(filetreetable.wt
- ${BOOST_FS_LIB}
-+ ${BOOST_SYSTEM_LIB}
- )
-
- INCLUDE_DIRECTORIES(${WT_SOURCE_DIR}/src)
-diff --git a/examples/gitmodel/CMakeLists.txt b/examples/gitmodel/CMakeLists.txt
-index 9b124c98..ed557d1f 100644
---- a/examples/gitmodel/CMakeLists.txt
-+++ b/examples/gitmodel/CMakeLists.txt
-@@ -7,7 +7,7 @@ IF(BOOST_FS_LIB)
- ../wt-homepage/SourceView.C
- GitView.C
- )
-- TARGET_LINK_LIBRARIES(gitview.wt ${BOOST_FS_LIB})
-+ TARGET_LINK_LIBRARIES(gitview.wt ${BOOST_FS_LIB} ${BOOST_SYSTEM_LIB})
-
- INCLUDE_DIRECTORIES(
- ${WT_SOURCE_DIR}/src
-diff --git a/examples/wt-homepage/CMakeLists.txt b/examples/wt-homepage/CMakeLists.txt
-index b60e7c5f..513bc570 100644
---- a/examples/wt-homepage/CMakeLists.txt
-+++ b/examples/wt-homepage/CMakeLists.txt
-@@ -34,7 +34,7 @@ ENDIF(WT_EMWEB_BUILD)
-
- WT_ADD_EXAMPLE(Home.wt ${SRC})
-
--TARGET_LINK_LIBRARIES(Home.wt ${EXAMPLES_DBO_LIBS} ${BOOST_FS_LIB})
-+TARGET_LINK_LIBRARIES(Home.wt ${EXAMPLES_DBO_LIBS} ${BOOST_FS_LIB} ${BOOST_SYSTEM_LIB})
-
- # Test whether crypt(3) is provided by libc. If it's not, check if
- # libcrypt exists and if it provides crypt(3).
-diff --git a/src/Wt/AsioWrapper/strand.hpp b/src/Wt/AsioWrapper/strand.hpp
-index 0c3a201f..9ddd8d1b 100644
---- a/src/Wt/AsioWrapper/strand.hpp
-+++ b/src/Wt/AsioWrapper/strand.hpp
-@@ -12,10 +12,29 @@
- #ifdef WT_ASIO_IS_BOOST_ASIO
-
- #include <boost/asio/strand.hpp>
-+namespace Wt {
-+ namespace AsioWrapper {
-+#if BOOST_VERSION >= 106600
-+ using strand = boost::asio::io_context::strand;
-+#else
-+ using strand = boost::asio::strand;
-+#endif
-+ }
-+}
-
- #else // WT_ASIO_IS_STANDALONE_ASIO
-
-+#include <asio/version.hpp>
- #include <asio/strand.hpp>
-+namespace Wt {
-+ namespace AsioWrapper {
-+#if ASIO_VERSION >= 101100
-+ using strand = asio::io_service::strand;
-+#else
-+ using strand = asio::strand;
-+#endif
-+ }
-+}
-
- #endif // WT_ASIO_IS_BOOST_ASIO
-
-diff --git a/src/Wt/Http/Client.C b/src/Wt/Http/Client.C
-index 85230d10..6bb21a95 100644
---- a/src/Wt/Http/Client.C
-+++ b/src/Wt/Http/Client.C
-@@ -642,7 +642,7 @@ private:
-
- protected:
- asio::io_service& ioService_;
-- asio::strand strand_;
-+ AsioWrapper::strand strand_;
- tcp::resolver resolver_;
- asio::streambuf requestBuf_;
- asio::streambuf responseBuf_;
-@@ -929,8 +929,14 @@ bool Client::request(Http::Method method, const std::string& url,
-
- #ifdef WT_WITH_SSL
- } else if (parsedUrl.protocol == "https") {
-+#if defined(WT_ASIO_IS_BOOST_ASIO) && BOOST_VERSION >= 106600
-+ asio::ssl::context context(asio::ssl::context::tls);
-+#elif defined(WT_ASIO_IS_STANDALONE_ASIO) && ASIO_VERSION >= 101100
-+ asio::ssl::context context(asio::ssl::context::sslv23);
-+#else
- asio::ssl::context context
- (*ioService, asio::ssl::context::sslv23);
-+#endif
- long sslOptions = asio::ssl::context::no_sslv2 | asio::ssl::context::no_sslv3;
- context.set_options(sslOptions);
-
-diff --git a/src/Wt/Http/Client.h b/src/Wt/Http/Client.h
-index f3c7169a..77946867 100644
---- a/src/Wt/Http/Client.h
-+++ b/src/Wt/Http/Client.h
-@@ -23,7 +23,12 @@
- #ifdef WT_ASIO_IS_BOOST_ASIO
- namespace boost {
- namespace asio {
-+#if BOOST_VERSION >= 106600
-+ class io_context;
-+ typedef io_context io_service;
-+#else
- class io_service;
-+#endif
- }
- }
- #else // WT_ASIO_IS_STANDALONE_ASIO
-diff --git a/src/Wt/Json/Value.h b/src/Wt/Json/Value.h
-index 948277fa..0b0bc0d7 100644
---- a/src/Wt/Json/Value.h
-+++ b/src/Wt/Json/Value.h
-@@ -23,7 +23,7 @@ class Array;
- * \brief A JSON representation and parsing library.
- *
- * The JSON library contains data types to represent a JSON data
-- * structure (Value, Object and Array), and a JSON parser.
-+ * structure (Value, Object and Array), a JSON parser, and a JSON serializer.
- *
- * Usage example:
- * \code
-@@ -39,6 +39,9 @@ class Array;
- * bool b = result.get("b");
- * std::cerr << "a: " << s << ", b: " << b << std::endl; // a: That's great, b: true
- * \endcode
-+ *
-+ * Include the <Wt/Json/Parser.h> header for Wt::Json::parse(), and
-+ * the <Wt/Json/Serializer.h> header for Wt::Json::serialize().
- */
-
- /*! \brief Enumeration for the type of a JSON value.
-diff --git a/src/Wt/WDialog.C b/src/Wt/WDialog.C
-index 65ba51d7..31bd88b0 100644
---- a/src/Wt/WDialog.C
-+++ b/src/Wt/WDialog.C
-@@ -436,8 +436,10 @@ void WDialog::render(WFlags<RenderFlag> flags)
- if (!isModal())
- impl_->mouseWentDown().connect(this, &WDialog::bringToFront);
-
-- if ( flags.test(RenderFlag::Full) && autoFocus_)
-- impl_->setFirstFocus();
-+ if ( flags.test(RenderFlag::Full) && autoFocus_) {
-+ if (!impl_->findById(Wt::WApplication::instance()->focus()))
-+ impl_->setFirstFocus();
-+ }
-
- WPopupWidget::render(flags);
- }
-diff --git a/src/Wt/WDialog.h b/src/Wt/WDialog.h
-index 810d6945..967087c8 100644
---- a/src/Wt/WDialog.h
-+++ b/src/Wt/WDialog.h
-@@ -337,6 +337,9 @@ class WT_API WDialog : public WPopupWidget
- bool closable() const { return closeIcon_ != nullptr; }
-
- /*! \brief Set focus on the first widget in the dialog.
-+ *
-+ * Autofocus is enabled by default. If a widget inside of
-+ * this dialog already has focus, the focus will not be changed.
- */
- void setAutoFocus(bool enable){ autoFocus_ = enable;}
-
-diff --git a/src/Wt/WWebWidget.C b/src/Wt/WWebWidget.C
-index 42fc00fd..5835244f 100644
---- a/src/Wt/WWebWidget.C
-+++ b/src/Wt/WWebWidget.C
-@@ -1983,9 +1983,13 @@ bool WWebWidget::setFirstFocus()
- return true;
- }
-
-- for (unsigned i = 0; i < children().size(); i++)
-- if (children()[i]->setFirstFocus())
-- return true;
-+ bool result = false;
-+ iterateChildren([&result](Wt::WWidget *w){
-+ if (!result)
-+ result = w->setFirstFocus();
-+ });
-+ if (result)
-+ return true;
-
- return false;
- } else
-@@ -2207,6 +2211,8 @@ WWidget *WWebWidget::findById(const std::string& id)
- if (!result)
- result = c->findById(id);
- });
-+ if (result)
-+ return result;
- }
-
- return nullptr;
-diff --git a/src/http/Connection.C b/src/http/Connection.C
-index cab77089..27380a8a 100644
---- a/src/http/Connection.C
-+++ b/src/http/Connection.C
-@@ -61,6 +61,15 @@ Connection::~Connection()
- LOG_DEBUG("~Connection");
- }
-
-+asio::ip::tcp::socket::native_handle_type Connection::native()
-+{
-+#if (defined(WT_ASIO_IS_BOOST_ASIO) && BOOST_VERSION >= 106600) || (defined(WT_ASIO_IS_STANDALONE_ASIO) && ASIO_VERSION >= 101100)
-+ return socket().native_handle();
-+#else
-+ return socket().native();
-+#endif
-+}
-+
- void Connection::finishReply()
- {
- if (!request_.uri.empty()) {
-@@ -78,7 +87,7 @@ void Connection::scheduleStop()
-
- void Connection::start()
- {
-- LOG_DEBUG(socket().native() << ": start()");
-+ LOG_DEBUG(native() << ": start()");
-
- request_parser_.reset();
- request_.reset();
-@@ -106,7 +115,7 @@ void Connection::stop()
- void Connection::setReadTimeout(int seconds)
- {
- if (seconds != 0) {
-- LOG_DEBUG(socket().native() << " setting read timeout (ws: "
-+ LOG_DEBUG(native() << " setting read timeout (ws: "
- << request_.webSocketVersion << ")");
- state_ |= Reading;
-
-@@ -118,7 +127,7 @@ void Connection::setReadTimeout(int seconds)
-
- void Connection::setWriteTimeout(int seconds)
- {
-- LOG_DEBUG(socket().native() << " setting write timeout (ws: "
-+ LOG_DEBUG(native() << " setting write timeout (ws: "
- << request_.webSocketVersion << ")");
- state_ |= Writing;
-
-@@ -129,7 +138,7 @@ void Connection::setWriteTimeout(int seconds)
-
- void Connection::cancelReadTimer()
- {
-- LOG_DEBUG(socket().native() << " cancel read timeout");
-+ LOG_DEBUG(native() << " cancel read timeout");
- state_.clear(Reading);
-
- readTimer_.cancel();
-@@ -137,7 +146,7 @@ void Connection::cancelReadTimer()
-
- void Connection::cancelWriteTimer()
- {
-- LOG_DEBUG(socket().native() << " cancel write timeout");
-+ LOG_DEBUG(native() << " cancel write timeout");
- state_.clear(Writing);
-
- writeTimer_.cancel();
-@@ -163,7 +172,7 @@ void Connection::handleReadRequest0()
-
- #ifdef DEBUG
- try {
-- LOG_DEBUG(socket().native() << "incoming request: "
-+ LOG_DEBUG(socket().native_handle() << "incoming request: "
- << socket().remote_endpoint().port() << " (avail= "
- << (rcv_buffer_size_ - (rcv_remaining_ - buffer.data())) << "): "
- << std::string(rcv_remaining_,
-@@ -189,7 +198,7 @@ void Connection::handleReadRequest0()
- if (doWebSockets)
- request_.enableWebSocket();
-
-- LOG_DEBUG(socket().native() << "request: " << status);
-+ LOG_DEBUG(native() << "request: " << status);
-
- if (status >= 300)
- sendStockReply(status);
-@@ -242,7 +251,7 @@ void Connection::sendStockReply(StockReply::status_type status)
- void Connection::handleReadRequest(const Wt::AsioWrapper::error_code& e,
- std::size_t bytes_transferred)
- {
-- LOG_DEBUG(socket().native() << ": handleReadRequest(): " << e.message());
-+ LOG_DEBUG(native() << ": handleReadRequest(): " << e.message());
-
- cancelReadTimer();
-
-@@ -261,7 +270,7 @@ void Connection::close()
- cancelReadTimer();
- cancelWriteTimer();
-
-- LOG_DEBUG(socket().native() << ": close()");
-+ LOG_DEBUG(native() << ": close()");
-
- ConnectionManager_.stop(shared_from_this());
- }
-@@ -274,7 +283,7 @@ bool Connection::closed() const
-
- void Connection::handleError(const Wt::AsioWrapper::error_code& e)
- {
-- LOG_DEBUG(socket().native() << ": error: " << e.message());
-+ LOG_DEBUG(native() << ": error: " << e.message());
-
- close();
- }
-@@ -349,7 +358,7 @@ void Connection::handleReadBody0(ReplyPtr reply,
- const Wt::AsioWrapper::error_code& e,
- std::size_t bytes_transferred)
- {
-- LOG_DEBUG(socket().native() << ": handleReadBody0(): " << e.message());
-+ LOG_DEBUG(native() << ": handleReadBody0(): " << e.message());
-
- if (disconnectCallback_) {
- if (e && e != asio::error::operation_aborted) {
-@@ -357,7 +366,7 @@ void Connection::handleReadBody0(ReplyPtr reply,
- disconnectCallback_ = boost::function<void()>();
- f();
- } else if (!e) {
-- LOG_ERROR(socket().native()
-+ LOG_ERROR(native()
- << ": handleReadBody(): while waiting for disconnect, "
- "received unexpected data, closing");
- close();
-@@ -410,7 +419,7 @@ void Connection::startWriteResponse(ReplyPtr reply)
- }
- #endif
-
-- LOG_DEBUG(socket().native() << " sending: " << s << "(buffers: "
-+ LOG_DEBUG(native() << " sending: " << s << "(buffers: "
- << buffers.size() << ")");
-
- if (!buffers.empty()) {
-@@ -423,7 +432,7 @@ void Connection::startWriteResponse(ReplyPtr reply)
-
- void Connection::handleWriteResponse(ReplyPtr reply)
- {
-- LOG_DEBUG(socket().native() << ": handleWriteResponse() " <<
-+ LOG_DEBUG(native() << ": handleWriteResponse() " <<
- haveResponse_ << " " << responseDone_);
- if (haveResponse_)
- startWriteResponse(reply);
-@@ -458,7 +467,7 @@ void Connection::handleWriteResponse0(ReplyPtr reply,
- const Wt::AsioWrapper::error_code& e,
- std::size_t bytes_transferred)
- {
-- LOG_DEBUG(socket().native() << ": handleWriteResponse0(): "
-+ LOG_DEBUG(native() << ": handleWriteResponse0(): "
- << bytes_transferred << " ; " << e.message());
-
- cancelWriteTimer();
-diff --git a/src/http/Connection.h b/src/http/Connection.h
-index b0b71a36..f925177c 100644
---- a/src/http/Connection.h
-+++ b/src/http/Connection.h
-@@ -18,6 +18,7 @@
- #define HTTP_CONNECTION_HPP
-
- #include <Wt/AsioWrapper/asio.hpp>
-+#include <Wt/AsioWrapper/strand.hpp>
- #include <Wt/AsioWrapper/steady_timer.hpp>
-
- #include "Buffer.h"
-@@ -61,7 +62,7 @@ class Connection : public std::enable_shared_from_this<Connection>
- virtual ~Connection();
-
- Server *server() const { return server_; }
-- asio::strand& strand() { return strand_; }
-+ Wt::AsioWrapper::strand& strand() { return strand_; }
-
- /// Stop all asynchronous operations associated with the connection.
- void scheduleStop();
-@@ -86,6 +87,9 @@ class Connection : public std::enable_shared_from_this<Connection>
- const std::function<void()>& callback);
-
- protected:
-+ /// Get the native handle of the socket
-+ asio::ip::tcp::socket::native_handle_type native();
-+
- void handleWriteResponse0(ReplyPtr reply,
- const Wt::AsioWrapper::error_code& e,
- std::size_t bytes_transferred);
-@@ -104,7 +108,7 @@ class Connection : public std::enable_shared_from_this<Connection>
- /// The manager for this connection.
- ConnectionManager& ConnectionManager_;
-
-- asio::strand strand_;
-+ Wt::AsioWrapper::strand strand_;
-
- void finishReply();
-
-diff --git a/src/http/Reply.C b/src/http/Reply.C
-index 0d79e39f..b55ece21 100644
---- a/src/http/Reply.C
-+++ b/src/http/Reply.C
-@@ -596,7 +596,8 @@ bool Reply::encodeNextContentBuffer(
- originalSize += bs;
-
- gzipStrm_.avail_in = bs;
-- gzipStrm_.next_in = (unsigned char *)asio::detail::buffer_cast_helper(b);
-+ gzipStrm_.next_in = const_cast<unsigned char*>(
-+ asio::buffer_cast<const unsigned char*>(b));
-
- unsigned char out[16*1024];
- do {
-diff --git a/src/http/Server.C b/src/http/Server.C
-index fc69be21..ad16591f 100644
---- a/src/http/Server.C
-+++ b/src/http/Server.C
-@@ -116,7 +116,11 @@ Server::Server(const Configuration& config, Wt::WServer& wtServer)
- accept_strand_(wt_.ioService()),
- // post_strand_(ioService_),
- #ifdef HTTP_WITH_SSL
-+#if (defined(WT_ASIO_IS_BOOST_ASIO) && BOOST_VERSION >= 106600) || (defined(WT_ASIO_IS_STANDALONE_ASIO) && ASIO_VERSION >= 101100)
-+ ssl_context_(asio::ssl::context::sslv23),
-+#else
- ssl_context_(wt_.ioService(), asio::ssl::context::sslv23),
-+#endif
- #endif // HTTP_WITH_SSL
- connection_manager_(),
- sessionManager_(0),
-diff --git a/src/http/Server.h b/src/http/Server.h
-index 3d3229ac..97387b11 100644
---- a/src/http/Server.h
-+++ b/src/http/Server.h
-@@ -129,7 +129,7 @@ class Server
- Wt::WLogger accessLogger_;
-
- /// The strand for handleTcpAccept(), handleSslAccept() and handleStop()
-- asio::strand accept_strand_;
-+ Wt::AsioWrapper::strand accept_strand_;
-
- /// Acceptors used to listen for incoming http connections.
- std::vector<TcpListener> tcp_listeners_;
-diff --git a/src/http/SessionProcess.C b/src/http/SessionProcess.C
-index 72d9a881..fb057f2f 100644
---- a/src/http/SessionProcess.C
-+++ b/src/http/SessionProcess.C
-@@ -16,6 +16,7 @@
- #include <signal.h>
- #endif // WT_WIN32
-
-+#include "Wt/WConfig.h"
- #include "Wt/WLogger.h"
-
- namespace Wt {
-@@ -80,7 +81,11 @@ void SessionProcess::asyncExec(const Configuration &config,
- if (!ec)
- acceptor_->listen(0, ec);
- #ifndef WT_WIN32
-+#if (defined(WT_ASIO_IS_BOOST_ASIO) && BOOST_VERSION >= 106600) || (defined(WT_ASIO_IS_STANDALONE_ASIO) && ASIO_VERSION >= 101100)
-+ fcntl(acceptor_->native_handle(), F_SETFD, FD_CLOEXEC);
-+#else
- fcntl(acceptor_->native(), F_SETFD, FD_CLOEXEC);
-+#endif
- #endif // !WT_WIN32
- if (ec) {
- LOG_ERROR("Couldn't create listening socket: " << ec.message());
-diff --git a/src/http/SslConnection.C b/src/http/SslConnection.C
-index 74c8642a..12eb7465 100644
---- a/src/http/SslConnection.C
-+++ b/src/http/SslConnection.C
-@@ -81,9 +81,9 @@ void SslConnection::handleHandshake(const Wt::AsioWrapper::error_code& error)
-
- void SslConnection::stop()
- {
-- LOG_DEBUG(socket().native() << ": stop()");
-+ LOG_DEBUG(native() << ": stop()");
- finishReply();
-- LOG_DEBUG(socket().native() << ": SSL shutdown");
-+ LOG_DEBUG(native() << ": SSL shutdown");
-
- Connection::stop();
-
-@@ -108,20 +108,20 @@ void SslConnection::stopNextLayer(const Wt::AsioWrapper::error_code& ec)
- // In case of timeout, we will get here twice.
- sslShutdownTimer_.cancel();
- if (ec) {
-- LOG_DEBUG(socket().native() << ": ssl_shutdown failed:"
-+ LOG_DEBUG(native() << ": ssl_shutdown failed:"
- << ec.message());
- }
- try {
- if (socket().is_open()) {
- Wt::AsioWrapper::error_code ignored_ec;
-- LOG_DEBUG(socket().native() << ": socket shutdown");
-+ LOG_DEBUG(native() << ": socket shutdown");
- socket().shutdown(asio::ip::tcp::socket::shutdown_both,
- ignored_ec);
-- LOG_DEBUG(socket().native() << "closing socket");
-+ LOG_DEBUG(native() << "closing socket");
- socket().close();
- }
- } catch (Wt::AsioWrapper::system_error& e) {
-- LOG_DEBUG(socket().native() << ": error " << e.what());
-+ LOG_DEBUG(native() << ": error " << e.what());
- }
- }
-
-@@ -161,7 +161,7 @@ void SslConnection::startAsyncReadBody(ReplyPtr reply,
- Buffer& buffer, int timeout)
- {
- if (state_ & Reading) {
-- LOG_DEBUG(socket().native() << ": state_ = "
-+ LOG_DEBUG(native() << ": state_ = "
- << (state_ & Reading ? "reading " : "")
- << (state_ & Writing ? "writing " : ""));
- stop();
-@@ -198,7 +198,7 @@ void SslConnection
- int timeout)
- {
- if (state_ & Writing) {
-- LOG_DEBUG(socket().native() << ": state_ = "
-+ LOG_DEBUG(native() << ": state_ = "
- << (state_ & Reading ? "reading " : "")
- << (state_ & Writing ? "writing " : ""));
- stop();
-diff --git a/src/http/TcpConnection.C b/src/http/TcpConnection.C
-index ad731647..ab2476ed 100644
---- a/src/http/TcpConnection.C
-+++ b/src/http/TcpConnection.C
-@@ -38,17 +38,17 @@ asio::ip::tcp::socket& TcpConnection::socket()
-
- void TcpConnection::stop()
- {
-- LOG_DEBUG(socket().native() << ": stop()");
-+ LOG_DEBUG(native() << ": stop()");
-
- finishReply();
-
- try {
- Wt::AsioWrapper::error_code ignored_ec;
- socket_.shutdown(asio::ip::tcp::socket::shutdown_both, ignored_ec);
-- LOG_DEBUG(socket().native() << ": closing socket");
-+ LOG_DEBUG(native() << ": closing socket");
- socket_.close();
- } catch (Wt::AsioWrapper::system_error& e) {
-- LOG_DEBUG(socket().native() << ": error " << e.what());
-+ LOG_DEBUG(native() << ": error " << e.what());
- }
-
- Connection::stop();
-@@ -56,10 +56,10 @@ void TcpConnection::stop()
-
- void TcpConnection::startAsyncReadRequest(Buffer& buffer, int timeout)
- {
-- LOG_DEBUG(socket().native() << ": startAsyncReadRequest");
-+ LOG_DEBUG(native() << ": startAsyncReadRequest");
-
- if (state_ & Reading) {
-- LOG_DEBUG(socket().native() << ": state_ = "
-+ LOG_DEBUG(native() << ": state_ = "
- << (state_ & Reading ? "reading " : "")
- << (state_ & Writing ? "writing " : ""));
- stop();
-@@ -81,10 +81,10 @@ void TcpConnection::startAsyncReadRequest(Buffer& buffer, int timeout)
- void TcpConnection::startAsyncReadBody(ReplyPtr reply,
- Buffer& buffer, int timeout)
- {
-- LOG_DEBUG(socket().native() << ": startAsyncReadBody");
-+ LOG_DEBUG(native() << ": startAsyncReadBody");
-
- if (state_ & Reading) {
-- LOG_DEBUG(socket().native() << ": state_ = "
-+ LOG_DEBUG(native() << ": state_ = "
- << (state_ & Reading ? "reading " : "")
- << (state_ & Writing ? "writing " : ""));
- stop();
-@@ -109,10 +109,10 @@ void TcpConnection::startAsyncWriteResponse
- const std::vector<asio::const_buffer>& buffers,
- int timeout)
- {
-- LOG_DEBUG(socket().native() << ": startAsyncWriteResponse");
-+ LOG_DEBUG(native() << ": startAsyncWriteResponse");
-
- if (state_ & Writing) {
-- LOG_DEBUG(socket().native() << ": state_ = "
-+ LOG_DEBUG(native() << ": state_ = "
- << (state_ & Reading ? "reading " : "")
- << (state_ & Writing ? "writing " : ""));
- stop();
-diff --git a/src/web/Configuration.C b/src/web/Configuration.C
-index 6b6507b7..e5f06505 100644
---- a/src/web/Configuration.C
-+++ b/src/web/Configuration.C
-@@ -825,14 +825,10 @@ void Configuration::readApplicationSettings(xml_node<> *app)
- runDirectory_ = singleChildElementValue(fcgi, "run-directory",
- runDirectory_);
-
-- setInt(fcgi, "num-threads", numThreads_); // backward compatibility < 3.2.0
--
- xml_node<> *isapi = singleChildElement(app, "connector-isapi");
- if (!isapi)
- isapi = app; // backward compatibility
-
-- setInt(isapi, "num-threads", numThreads_); // backward compatibility < 3.2.0
--
- std::string maxMemoryRequestSizeStr =
- singleChildElementValue(isapi, "max-memory-request-size", "");
- if (!maxMemoryRequestSizeStr.empty()) {