aboutsummaryrefslogtreecommitdiff
path: root/contrib/depends
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/depends')
-rw-r--r--contrib/depends/Makefile48
-rwxr-xr-xcontrib/depends/config.guess12
-rw-r--r--contrib/depends/config.site.in11
-rwxr-xr-xcontrib/depends/config.sub14
-rw-r--r--contrib/depends/packages/boost.mk10
-rw-r--r--contrib/depends/packages/cmake/conf/mxe-conf.cmake.in67
-rw-r--r--contrib/depends/packages/cmake/conf/target-cmake.in29
-rw-r--r--contrib/depends/packages/cmake/test/CMakeLists.txt18
-rw-r--r--contrib/depends/packages/cppzmq.mk27
-rw-r--r--contrib/depends/packages/curl.mk27
-rw-r--r--contrib/depends/packages/dbus.mk23
-rw-r--r--contrib/depends/packages/expat.mk9
-rw-r--r--contrib/depends/packages/fontconfig.mk22
-rw-r--r--contrib/depends/packages/freetype.mk22
-rw-r--r--contrib/depends/packages/graphviz.mk30
-rw-r--r--contrib/depends/packages/icu4c.mk32
-rw-r--r--contrib/depends/packages/ldns.mk28
-rw-r--r--contrib/depends/packages/libX11.mk23
-rw-r--r--contrib/depends/packages/libXau.mk23
-rw-r--r--contrib/depends/packages/libXext.mk22
-rw-r--r--contrib/depends/packages/libevent.mk30
-rw-r--r--contrib/depends/packages/libiconv.mk17
-rw-r--r--contrib/depends/packages/libxcb.mk35
-rw-r--r--contrib/depends/packages/native_ccache.mk4
-rw-r--r--contrib/depends/packages/packages.mk20
-rw-r--r--contrib/depends/packages/pcsc-lite.mk26
-rw-r--r--contrib/depends/packages/protobuf.mk29
-rw-r--r--contrib/depends/packages/qrencode.mk22
-rw-r--r--contrib/depends/packages/qt.mk198
-rw-r--r--contrib/depends/packages/readline.mk33
-rw-r--r--contrib/depends/packages/unbound.mk28
-rw-r--r--contrib/depends/packages/unwind.mk20
-rw-r--r--contrib/depends/packages/xcb_proto.mk27
-rw-r--r--contrib/depends/packages/xextproto.mk21
-rw-r--r--contrib/depends/packages/xtrans.mk22
-rw-r--r--contrib/depends/packages/zeromq.mk34
-rw-r--r--contrib/depends/packages/zlib.mk3
-rw-r--r--contrib/depends/patches/cmake/cmake-1-fixes.patch67
-rw-r--r--contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch37
-rw-r--r--contrib/depends/patches/qt/fix-xcb-include-order.patch49
-rw-r--r--contrib/depends/patches/qt/fix_qt_pkgconfig.patch11
-rw-r--r--contrib/depends/patches/qt/mac-qmake.conf25
-rw-r--r--contrib/depends/patches/qt/mingw-uuidof.patch44
-rw-r--r--contrib/depends/patches/qt/pidlist_absolute.patch37
-rw-r--r--contrib/depends/patches/readline/readline-1.patch187
-rw-r--r--contrib/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch22
-rw-r--r--contrib/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch22
-rw-r--r--contrib/depends/protobuf.mk29
-rw-r--r--contrib/depends/toolchain.cmake.in45
49 files changed, 952 insertions, 689 deletions
diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile
index dedb0674c..be81626b1 100644
--- a/contrib/depends/Makefile
+++ b/contrib/depends/Makefile
@@ -61,7 +61,15 @@ $(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host)
$(host_arch)_$(host_os)_host=$(host)
host_prefix=$($(host_arch)_$(host_os)_prefix)
build_prefix=$(host_prefix)/native
-build_host=$(build)
+ifeq ($(host_os),mingw32)
+host_cmake=Windows
+endif
+ifeq ($(host_os),linux)
+host_cmake=Linux
+endif
+ifeq ($(host_os),darwin11)
+host_cmake=Darwin
+endif
AT_$(V):=
AT_:=@
@@ -108,8 +116,18 @@ $(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain)
include funcs.mk
+CONF_PKGS := cmake-conf mxe-conf
+
+build-only-$(1)_$(3): CMAKE_RUNRESULT_FILE = $(PREFIX)/share/cmake/modules/TryRunResults.cmake
+build-only-$(1)_$(3): CMAKE_TOOLCHAIN_FILE = $(PREFIX)/$(3)/share/cmake/mxe-conf.cmake
+build-only-$(1)_$(3): CMAKE_TOOLCHAIN_DIR = $(PREFIX)/$(3)/share/cmake/mxe-conf.d
+build-only-$(1)_$(3): CMAKE_STATIC_BOOL = $(if $(findstring shared,$(3)),OFF,ON)
+build-only-$(1)_$(3): CMAKE_SHARED_BOOL = $(if $(findstring shared,$(3)),ON,OFF)
+
+
toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin)
final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in)
+final_build_id_long+=$(shell $(build_SHA256SUM) toolchain.cmake.in)
final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
$(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
$(AT)rm -rf $(@D)
@@ -134,6 +152,7 @@ $(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_
-e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
-e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
-e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
+ -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \
-e 's|@no_qt@|$(NO_QT)|' \
-e 's|@no_wallet@|$(NO_WALLET)|' \
-e 's|@no_upnp@|$(NO_UPNP)|' \
@@ -141,6 +160,30 @@ $(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_
$< > $@
$(AT)touch $@
+$(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_$(final_build_id)
+ $(AT)@mkdir -p $(@D)
+ $(AT)sed -e 's|@HOST@|$(host)|' \
+ -e 's|@CC@|$(toolchain_path)$(host_CC)|' \
+ -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \
+ -e 's|@AR@|$(toolchain_path)$(host_AR)|' \
+ -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
+ -e 's|@NM@|$(toolchain_path)$(host_NM)|' \
+ -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \
+ -e 's|@build_os@|$(build_os)|' \
+ -e 's|@host_os@|$(host_os)|' \
+ -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \
+ -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
+ -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
+ -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
+ -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \
+ -e 's|@no_qt@|$(NO_QT)|' \
+ -e 's|@no_wallet@|$(NO_WALLET)|' \
+ -e 's|@no_upnp@|$(NO_UPNP)|' \
+ -e 's|@debug@|$(DEBUG)|' \
+ -e 's|@depends@|$(host_cmake)|' \
+ -e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\
+ $< > $@
+ $(AT)touch $@
define check_or_remove_cached
mkdir -p $(BASE_CACHE)/$(host)/$(package) && cd $(BASE_CACHE)/$(host)/$(package); \
@@ -162,11 +205,12 @@ check-sources:
@$(foreach package,$(all_packages),$(call check_or_remove_sources,$(package));)
$(host_prefix)/share/config.site: check-packages
+$(host_prefix)/share/toolchain.cmake: check-packages
check-packages: check-sources
install: check-packages $(host_prefix)/share/config.site
-
+install: check-packages $(host_prefix)/share/toolchain.cmake
download-one: check-sources $(all_sources)
diff --git a/contrib/depends/config.guess b/contrib/depends/config.guess
index bbd48b60e..69ed3e573 100755
--- a/contrib/depends/config.guess
+++ b/contrib/depends/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-01-01'
+timestamp='2017-03-05'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -837,10 +837,11 @@ EOF
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
esac
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@@ -1343,6 +1344,9 @@ EOF
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
+ NSX-?:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk${UNAME_RELEASE}
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
diff --git a/contrib/depends/config.site.in b/contrib/depends/config.site.in
index 3d7c9fd43..0a4a9c327 100644
--- a/contrib/depends/config.site.in
+++ b/contrib/depends/config.site.in
@@ -13,10 +13,10 @@ fi
if test -z $with_qt_translationdir; then
with_qt_translationdir=$depends_prefix/translations
fi
-if test -z $with_qt_bindir; then
+if test -z $with_qt_bindir && test -z "@no_qt@"; then
with_qt_bindir=$depends_prefix/native/bin
fi
-if test -z $with_protoc_bindir; then
+if test -z $with_protoc_bindir && test -z "@no_qt@"; then
with_protoc_bindir=$depends_prefix/native/bin
fi
@@ -53,9 +53,10 @@ PKG_CONFIG="`which pkg-config` --static"
# These two need to remain exported because pkg-config does not see them
# otherwise. That means they must be unexported at the end of configure.ac to
# avoid ruining the cache. Sigh.
-
-export PKG_CONFIG_LIBDIR=$depends_prefix/lib/pkgconfig
-export PKG_CONFIG_PATH=$depends_prefix/share/pkgconfig
+export PKG_CONFIG_PATH=$depends_prefix/share/pkgconfig:$depends_prefix/lib/pkgconfig
+if test -z "@allow_host_packages@"; then
+ export PKGCONFIG_LIBDIR=
+fi
CPPFLAGS="-I$depends_prefix/include/ $CPPFLAGS"
LDFLAGS="-L$depends_prefix/lib $LDFLAGS"
diff --git a/contrib/depends/config.sub b/contrib/depends/config.sub
index 7e792b4ae..40ea5dfe1 100755
--- a/contrib/depends/config.sub
+++ b/contrib/depends/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-01-01'
+timestamp='2017-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -263,7 +263,7 @@ case $basic_machine in
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
- | i370 | i860 | i960 | ia64 \
+ | i370 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
@@ -315,6 +315,7 @@ case $basic_machine in
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
+ | wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -388,7 +389,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
@@ -446,6 +447,7 @@ case $basic_machine in
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
+ | wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -948,6 +950,9 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
@@ -1243,6 +1248,9 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
+ wasm32)
+ basic_machine=wasm32-unknown
+ ;;
w65*)
basic_machine=w65-wdc
os=-none
diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk
index 57d96e482..9d3dda74a 100644
--- a/contrib/depends/packages/boost.mk
+++ b/contrib/depends/packages/boost.mk
@@ -1,8 +1,8 @@
package=boost
-$(package)_version=1_63_0
-$(package)_download_path=https://sourceforge.net/projects/boost/files/boost/1.63.0
-$(package)_file_name=$(package)_$($(package)_version).tar.bz2
-$(package)_sha256_hash=beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
+$(package)_version=1_58_0
+$(package)_download_path=https://sourceforge.net/projects/boost/files/boost/1.58.0
+$(package)_file_name=$(package)_$($(package)_version).tar.gz
+$(package)_sha256_hash=a004d9b3fa95e956383693b86fce1b68805a6f71c2e68944fa813de0fb8c8102
define $(package)_set_vars
$(package)_config_opts_release=variant=release
@@ -19,7 +19,7 @@ $(package)_toolset_$(host_os)=gcc
$(package)_archiver_$(host_os)=$($(package)_ar)
$(package)_toolset_darwin=darwin
$(package)_archiver_darwin=$($(package)_libtool)
-$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test
+$(package)_config_libraries=system,filesystem,thread,date_time,chrono,regex,serialization,program_options,locale
$(package)_cxxflags=-std=c++11 -fvisibility=hidden
$(package)_cxxflags_linux=-fPIC
endef
diff --git a/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in b/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in
new file mode 100644
index 000000000..8bd4cf1f7
--- /dev/null
+++ b/contrib/depends/packages/cmake/conf/mxe-conf.cmake.in
@@ -0,0 +1,67 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+# https://cmake.org/cmake/help/latest
+
+# Can't set `cmake_minimum_required` or `cmake_policy` in toolchain
+# since toolchain is read before CMakeLists.txt
+# See `target-cmake.in` for CMAKE_POLICY_DEFAULT_CMPNNNN
+
+# Check if we are using mxe supplied version
+# - toolchain is included multiple times so set a guard in
+# environment to suppress duplicate messages
+if(NOT ${CMAKE_COMMAND} STREQUAL @PREFIX@/@BUILD@/bin/cmake AND NOT DEFINED ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED})
+ message(WARNING "
+** Warning: direct use of toolchain file is deprecated
+** Please use prefixed wrapper script instead:
+ @TARGET@-cmake [options] <path-to-source>
+ - uses mxe supplied cmake version @CMAKE_VERSION@
+ - loads toolchain
+ - loads common run results
+ - sets various policy defaults
+ ")
+ set(ENV{_MXE_CMAKE_TOOLCHAIN_INCLUDED} TRUE)
+endif()
+
+## General configuration
+set(CMAKE_SYSTEM_NAME Windows)
+set(MSYS 1)
+set(CMAKE_EXPORT_NO_PACKAGE_REGISTRY ON)
+# Workaround for https://www.cmake.org/Bug/view.php?id=14075
+set(CMAKE_CROSS_COMPILING ON)
+
+
+## Library config
+set(BUILD_SHARED_LIBS @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED_LIBS" FORCE)
+set(BUILD_STATIC_LIBS @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC_LIBS" FORCE)
+set(BUILD_SHARED @CMAKE_SHARED_BOOL@ CACHE BOOL "BUILD_SHARED" FORCE)
+set(BUILD_STATIC @CMAKE_STATIC_BOOL@ CACHE BOOL "BUILD_STATIC" FORCE)
+set(LIBTYPE @LIBTYPE@)
+
+
+## Paths etc.
+set(CMAKE_FIND_ROOT_PATH @PREFIX@/@TARGET@)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_PREFIX_PATH @PREFIX@/@TARGET@)
+set(CMAKE_INSTALL_PREFIX @PREFIX@/@TARGET@ CACHE PATH "Installation Prefix")
+# For custom mxe FindPackage scripts
+set(CMAKE_MODULE_PATH "@PREFIX@/share/cmake/modules" ${CMAKE_MODULE_PATH})
+
+
+## Programs
+set(CMAKE_C_COMPILER @PREFIX@/bin/@TARGET@-gcc)
+set(CMAKE_CXX_COMPILER @PREFIX@/bin/@TARGET@-g++)
+set(CMAKE_Fortran_COMPILER @PREFIX@/bin/@TARGET@-gfortran)
+set(CMAKE_RC_COMPILER @PREFIX@/bin/@TARGET@-windres)
+# CMAKE_RC_COMPILE_OBJECT is defined in:
+# <cmake root>/share/cmake-X.Y/Modules/Platform/Windows-windres.cmake
+set(CPACK_NSIS_EXECUTABLE @TARGET@-makensis)
+
+## Individual package configuration
+file(GLOB mxe_cmake_files
+ "@CMAKE_TOOLCHAIN_DIR@/*.cmake"
+)
+foreach(mxe_cmake_file ${mxe_cmake_files})
+ include(${mxe_cmake_file})
+endforeach()
diff --git a/contrib/depends/packages/cmake/conf/target-cmake.in b/contrib/depends/packages/cmake/conf/target-cmake.in
new file mode 100644
index 000000000..a78bcf58d
--- /dev/null
+++ b/contrib/depends/packages/cmake/conf/target-cmake.in
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+echo "== Using MXE wrapper: @PREFIX@/bin/@TARGET@-cmake"
+
+# https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html
+# https://cmake.org/cmake/help/latest/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.html
+POLICIES=(0017,0020)
+
+unset NO_MXE_TOOLCHAIN
+if echo -- "$@" | grep -Ewq "(--build|-E|--system-information)" ; then
+ NO_MXE_TOOLCHAIN=1
+fi
+if [[ "$NO_MXE_TOOLCHAIN" == "1" ]]; then
+ echo "== Skip using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@"
+ # see https://github.com/mxe/mxe/issues/932
+ exec "@PREFIX@/@BUILD@/bin/cmake" "$@"
+else
+ echo " - cmake version @CMAKE_VERSION@"
+ echo " - warnings for unused CMAKE_POLICY_DEFAULT variables can be ignored"
+ echo "== Using MXE toolchain: @CMAKE_TOOLCHAIN_FILE@"
+ echo "== Using MXE runresult: @CMAKE_RUNRESULT_FILE@"
+ if ! ( echo "$@" | grep --silent "DCMAKE_BUILD_TYPE" ) ; then
+ echo '== Adding "-DCMAKE_BUILD_TYPE=Release"'
+ set -- "-DCMAKE_BUILD_TYPE=Release" "$@"
+ fi
+ exec "@PREFIX@/@BUILD@/bin/cmake" \
+ -DCMAKE_TOOLCHAIN_FILE="@CMAKE_TOOLCHAIN_FILE@" \
+ `eval echo -DCMAKE_POLICY_DEFAULT_CMP{$POLICIES}=NEW` \
+ -C"@CMAKE_RUNRESULT_FILE@" "$@"
+fi
diff --git a/contrib/depends/packages/cmake/test/CMakeLists.txt b/contrib/depends/packages/cmake/test/CMakeLists.txt
new file mode 100644
index 000000000..6075a8f5a
--- /dev/null
+++ b/contrib/depends/packages/cmake/test/CMakeLists.txt
@@ -0,0 +1,18 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+# 2.8.9 is Debian Wheezy version
+cmake_minimum_required(VERSION 2.8.9)
+
+# use default C and CXX languages
+project(mxe)
+
+# see cmake --help-policy <cmp> for details
+cmake_policy(SET CMP0017 NEW)
+if (POLICY CMP0020)
+ cmake_policy(SET CMP0020 NEW)
+endif()
+
+# so we can find pkg-test.cmake files to include
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../.. ${CMAKE_MODULE_PATH})
+
+include(${PKG}-test)
diff --git a/contrib/depends/packages/cppzmq.mk b/contrib/depends/packages/cppzmq.mk
new file mode 100644
index 000000000..9ff5a5ab0
--- /dev/null
+++ b/contrib/depends/packages/cppzmq.mk
@@ -0,0 +1,27 @@
+package=cppzmq
+$(package)_version=4.2.3
+$(package)_download_path=https://github.com/zeromq/cppzmq/archive/
+$(package)_file_name=v$($(package)_version).tar.gz
+$(package)_sha256_hash=3e6b57bf49115f4ae893b1ff7848ead7267013087dc7be1ab27636a97144d373
+$(package)_dependencies=zeromq
+
+define $(package)_config_cmds
+ echo $(build_pefix) &&\
+ cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix)/../ -DCMAKE_PREFIX_PATH=$(build_prefix)/../include -DZeroMQ_STATIC_LIBRARY=$(build_prefix)/lib -DPC_LIBZMQ_LIBDIR=$(build_prefix)/lib -DPC_LIBZMQ_LIBRARY_DIRS=$(build_prefix)/lib CMakeLists.txt
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) &&\
+ echo $(host_prefix)/include/ &&\
+ echo $($(package)_staging_prefix_dir) &&\
+ mkdir $($(package)_staging_prefix_dir)/include &&\
+ cp zmq.hpp $($(package)_staging_prefix_dir)/include
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf bin share
+endef
diff --git a/contrib/depends/packages/curl.mk b/contrib/depends/packages/curl.mk
deleted file mode 100644
index cb1390d26..000000000
--- a/contrib/depends/packages/curl.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-package=curl
-$(package)_version=7.55.0
-$(package)_download_path=https://curl.haxx.se/download/
-$(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=dae1b1be34f5983e8d46917f2bdbb2335aecd0e57f777f4c32213da6a8050a80
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-shared
- $(package)_config_opts+= --enable-static
- $(package)_config_opts_release+=--disable-debug-mode
- $(package)_config_opts_linux+=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
-endef
diff --git a/contrib/depends/packages/dbus.mk b/contrib/depends/packages/dbus.mk
deleted file mode 100644
index 90ddcb923..000000000
--- a/contrib/depends/packages/dbus.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-package=dbus
-$(package)_version=1.10.14
-$(package)_download_path=http://dbus.freedesktop.org/releases/dbus
-$(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=23238f70353e38ce5ca183ebc9525c0d97ac00ef640ad29cf794782af6e6a083
-$(package)_dependencies=expat
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE) -C dbus libdbus-1.la
-endef
-
-define $(package)_stage_cmds
- $(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
-endef
diff --git a/contrib/depends/packages/expat.mk b/contrib/depends/packages/expat.mk
index 7f484724a..bd2cea1b6 100644
--- a/contrib/depends/packages/expat.mk
+++ b/contrib/depends/packages/expat.mk
@@ -1,15 +1,16 @@
package=expat
-$(package)_version=2.2.1
+$(package)_version=2.2.4
$(package)_download_path=https://downloads.sourceforge.net/project/expat/expat/$($(package)_version)
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885
+$(package)_sha256_hash=03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd372019e
define $(package)_set_vars
-$(package)_config_opts=--disable-static
+$(package)_config_opts=--enable-static
+$(package)_config_opts+=--prefix=$(host_prefix)
endef
define $(package)_config_cmds
- $($(package)_autoconf)
+ $($(package)_autoconf) $($(package)_config_opts)
endef
define $(package)_build_cmds
diff --git a/contrib/depends/packages/fontconfig.mk b/contrib/depends/packages/fontconfig.mk
deleted file mode 100644
index fb97e0b9e..000000000
--- a/contrib/depends/packages/fontconfig.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-package=fontconfig
-$(package)_version=2.12.1
-$(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
-$(package)_dependencies=freetype expat
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-docs --disable-static
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/freetype.mk b/contrib/depends/packages/freetype.mk
deleted file mode 100644
index 76b025c46..000000000
--- a/contrib/depends/packages/freetype.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-package=freetype
-$(package)_version=2.7.1
-$(package)_download_path=http://download.savannah.gnu.org/releases/$(package)
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
-
-define $(package)_set_vars
- $(package)_config_opts=--without-zlib --without-png --disable-static
- $(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/graphviz.mk b/contrib/depends/packages/graphviz.mk
new file mode 100644
index 000000000..1c4bc1b71
--- /dev/null
+++ b/contrib/depends/packages/graphviz.mk
@@ -0,0 +1,30 @@
+package=graphviz
+$(package)_version=2.40.1
+$(package)_download_path=www.graphviz.org/pub/graphviz/stable/SOURCES/
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421
+
+define $(package)_preprocess_cmds
+ ./autogen.sh
+endef
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --enable-multibye --without-purify --without-curses
+ $(package)_config_opts_release=--disable-debug-mode
+ $(package)_config_opts_linux=--with-pic
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/icu4c.mk b/contrib/depends/packages/icu4c.mk
new file mode 100644
index 000000000..eedf22da0
--- /dev/null
+++ b/contrib/depends/packages/icu4c.mk
@@ -0,0 +1,32 @@
+package=icu4c
+$(package)_version=55.1
+$(package)_download_path=https://github.com/TheCharlatan/icu4c/archive
+$(package)_file_name=55.1.tar.gz
+$(package)_sha256_hash=1f912c54035533fb4268809701d65c7468d00e292efbc31e6444908450cc46ef
+$(package)_patches=icu-001-dont-build-static-dynamic-twice.patch
+
+define $(package)_set_vars
+ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 --std=gnu++0x -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC"
+endef
+
+define $(package)_config_cmds
+ patch -p1 < $($(package)_patch_dir)/icu-001-dont-build-static-dynamic-twice.patch &&\
+ mkdir builda &&\
+ mkdir buildb &&\
+ cd builda &&\
+ sh ../source/runConfigureICU Linux &&\
+ make &&\
+ cd ../buildb &&\
+ sh ../source/$($(package)_autoconf) --enable-static=yes --enable-shared=yes --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\
+ $(MAKE) $($(package)_build_opts)
+endef
+
+#define $(package)_build_cmds
+# cd source &&\
+ $(MAKE) $($((package)_build_opts) `nproc`
+#endef
+
+define $(package)_stage_cmds
+ cd buildb &&\
+ $(MAKE) $($(package)_build_opts) DESTDIR=$($(package)_staging_dir) install lib/*
+endef
diff --git a/contrib/depends/packages/ldns.mk b/contrib/depends/packages/ldns.mk
new file mode 100644
index 000000000..a9565a581
--- /dev/null
+++ b/contrib/depends/packages/ldns.mk
@@ -0,0 +1,28 @@
+package=ldns
+$(package)_version=1.6.17
+$(package)_download_path=http://www.nlnetlabs.nl/downloads/ldns/
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f9bcc8cd
+$(package)_dependencies=openssl
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --enable-static --disable-dane-ta-usage --with-drill
+ $(package)_config_opts=--with-ssl=$(host_prefix)
+ $(package)_config_opts_release=--disable-debug-mode
+ $(package)_config_opts_linux=--with-pic
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install-h install-lib
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/libX11.mk b/contrib/depends/packages/libX11.mk
deleted file mode 100644
index 178d592ee..000000000
--- a/contrib/depends/packages/libX11.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-package=libX11
-$(package)_version=1.6.2
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16
-$(package)_dependencies=libxcb xtrans xextproto xproto
-
-define $(package)_set_vars
-$(package)_config_opts=--disable-xkb --disable-static
-$(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/libXau.mk b/contrib/depends/packages/libXau.mk
deleted file mode 100644
index e87df2e4d..000000000
--- a/contrib/depends/packages/libXau.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-package=libXau
-$(package)_version=1.0.8
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2
-$(package)_dependencies=xproto
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-shared
- $(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/libXext.mk b/contrib/depends/packages/libXext.mk
deleted file mode 100644
index 4db836066..000000000
--- a/contrib/depends/packages/libXext.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-package=libXext
-$(package)_version=1.3.2
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=f829075bc646cdc085fa25d98d5885d83b1759ceb355933127c257e8e50432e0
-$(package)_dependencies=xproto xextproto libX11 libXau
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-static
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/libevent.mk b/contrib/depends/packages/libevent.mk
new file mode 100644
index 000000000..5f622f8e6
--- /dev/null
+++ b/contrib/depends/packages/libevent.mk
@@ -0,0 +1,30 @@
+package=libevent
+$(package)_version=2.1.8-stable
+$(package)_download_path=https://github.com/libevent/libevent/archive/
+$(package)_file_name=release-$($(package)_version).tar.gz
+$(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d
+
+define $(package)_preprocess_cmds
+ ./autogen.sh
+endef
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
+ $(package)_config_opts_release=--disable-debug-mode
+ $(package)_config_opts_linux=--with-pic
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/libiconv.mk b/contrib/depends/packages/libiconv.mk
new file mode 100644
index 000000000..87e30b208
--- /dev/null
+++ b/contrib/depends/packages/libiconv.mk
@@ -0,0 +1,17 @@
+package=libiconv
+$(package)_version=1.15
+$(package)_download_path=https://ftp.gnu.org/gnu/libiconv
+$(package)_file_name=libiconv-$($(package)_version).tar.gz
+$(package)_sha256_hash=ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
+
+define $(package)_config_cmds
+ $($(package)_autoconf) --disable-nls --enable-static --disable-shared
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
diff --git a/contrib/depends/packages/libxcb.mk b/contrib/depends/packages/libxcb.mk
deleted file mode 100644
index 28f2bd6f2..000000000
--- a/contrib/depends/packages/libxcb.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-package=libxcb
-$(package)_version=1.10
-$(package)_download_path=http://xcb.freedesktop.org/dist
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=98d9ab05b636dd088603b64229dd1ab2d2cc02ab807892e107d674f9c3f2d5b5
-$(package)_dependencies=xcb_proto libXau xproto
-
-define $(package)_set_vars
-$(package)_config_opts=--disable-static
-endef
-
-define $(package)_preprocess_cmds
- sed "s/pthread-stubs//" -i configure
-endef
-
-# Don't install xcb headers to the default path in order to work around a qt
-# build issue: https://bugreports.qt.io/browse/QTBUG-34748
-# When using qt's internal libxcb, it may end up finding the real headers in
-# depends staging. Use a non-default path to avoid that.
-
-define $(package)_config_cmds
- $($(package)_autoconf) --includedir=$(host_prefix)/include/xcb-shared
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
- rm -rf share/man share/doc
-endef
diff --git a/contrib/depends/packages/native_ccache.mk b/contrib/depends/packages/native_ccache.mk
index 4ed61a49e..966804ce8 100644
--- a/contrib/depends/packages/native_ccache.mk
+++ b/contrib/depends/packages/native_ccache.mk
@@ -1,8 +1,8 @@
package=native_ccache
-$(package)_version=3.3.3
+$(package)_version=3.3.4
$(package)_download_path=https://samba.org/ftp/ccache
$(package)_file_name=ccache-$($(package)_version).tar.bz2
-$(package)_sha256_hash=2985bc5e32ebe38d2958d508eb54ddcad39eed909489c0c2988035214597ca54
+$(package)_sha256_hash=fa9d7f38367431bc86b19ad107d709ca7ecf1574fdacca01698bdf0a47cd8567
define $(package)_set_vars
$(package)_config_opts=
diff --git a/contrib/depends/packages/packages.mk b/contrib/depends/packages/packages.mk
index c6aa02b38..1aca06096 100644
--- a/contrib/depends/packages/packages.mk
+++ b/contrib/depends/packages/packages.mk
@@ -1,20 +1,22 @@
-packages:=boost openssl curl
+packages:=boost openssl libevent zeromq cppzmq zlib expat ldns unbound cppzmq readline libiconv icu4c
native_packages := native_ccache
-qt_packages = qrencode zlib
-
-qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
-qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
-
-qt_darwin_packages=qt
-qt_mingw32_packages=qt
-
wallet_packages=bdb
upnp_packages=miniupnpc
darwin_native_packages = native_biplist native_ds_store native_mac_alias
+ifeq ($(host_os),linux)
+packages += unwind
+endif
+ifeq ($(host_os),darwin11)
+package += unwind
+endif
+
ifneq ($(build_os),darwin)
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
+packages += readline
endif
+
+
diff --git a/contrib/depends/packages/pcsc-lite.mk b/contrib/depends/packages/pcsc-lite.mk
new file mode 100644
index 000000000..a24442eb9
--- /dev/null
+++ b/contrib/depends/packages/pcsc-lite.mk
@@ -0,0 +1,26 @@
+package=pcsc-lite
+$(package)_version=1.8.23
+$(package)_download_path=https://alioth.debian.org/frs/download.php/file/4235
+$(package)_file_name=$(package)-$($(package)_version).tar.bz2
+$(package)_sha256_hash=5a27262586eff39cfd5c19aadc8891dd71c0818d3d629539bd631b958be689c9
+
+define $(package)_set_vars
+ $(package)_build_opts=CC="$($(package)_cc)"
+ $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
+ $(package)_config_opts=--prefix=$(host_prefix)
+ $(package)_config_opts_release=--disable-debug-mode --disable-libsystemd --enable-static
+ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
+endef
+
+define $(package)_config_cmds
+ ./bootstrap &&\
+ $($(package)_autoconf) $($(package)_config_opts)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) $($(package)_build_opts)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
diff --git a/contrib/depends/packages/protobuf.mk b/contrib/depends/packages/protobuf.mk
new file mode 100644
index 000000000..54d3fd924
--- /dev/null
+++ b/contrib/depends/packages/protobuf.mk
@@ -0,0 +1,29 @@
+package=protobuf
+$(package)_version=$(native_$(package)_version)
+$(package)_download_path=$(native_$(package)_download_path)
+$(package)_file_name=$(native_$(package)_file_name)
+$(package)_sha256_hash=$(native_$(package)_sha256_hash)
+$(package)_dependencies=native_$(package)
+$(package)_cxxflags=-std=c++11
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
+ $(package)_config_opts_linux=--with-pic
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) -C src libprotobuf.la
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
+endef
+
+define $(package)_postprocess_cmds
+ rm lib/libprotoc.a
+endef
diff --git a/contrib/depends/packages/qrencode.mk b/contrib/depends/packages/qrencode.mk
deleted file mode 100644
index 7b2124713..000000000
--- a/contrib/depends/packages/qrencode.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-package=qrencode
-$(package)_version=3.4.4
-$(package)_download_path=https://fukuchi.org/works/qrencode/
-$(package)_file_name=qrencode-$(qrencode_version).tar.bz2
-$(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5
-
-define $(package)_set_vars
-$(package)_config_opts=--disable-shared -without-tools --disable-sdltest
-$(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/qt.mk b/contrib/depends/packages/qt.mk
deleted file mode 100644
index f45355c49..000000000
--- a/contrib/depends/packages/qt.mk
+++ /dev/null
@@ -1,198 +0,0 @@
-PACKAGE=qt
-$(package)_version=5.7.1
-$(package)_download_path=http://download.qt.io/official_releases/qt/5.7/$($(package)_version)/submodules
-$(package)_suffix=opensource-src-$($(package)_version).tar.gz
-$(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410
-$(package)_dependencies=openssl zlib
-$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
-$(package)_build_subdir=qtbase
-$(package)_qt_libs=corelib network widgets gui plugins testlib concurrent
-$(package)_patches=mac-qmake.conf mingw-uuidof.patch pidlist_absolute.patch fix-xcb-include-order.patch fix_qt_pkgconfig.patch
-
-$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=3a15aebd523c6d89fb97b2d3df866c94149653a26d27a00aac9b6d3020bc5a1d
-
-$(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=22d67de915cb8cd93e16fdd38fa006224ad9170bd217c2be1e53045a8dd02f0f
-
-$(package)_qtactiveqt_file_name=qtactiveqt-$($(package)_suffix)
-$(package)_qtactiveqt_sha256_hash=57b39e9fe1d8d430da14d38d8c0de39bede1cd3ce1540f3d51c1fa0a2ef149cf
-$(package)_qtactiveqt_libs=axcontainer
-
-$(package)_extra_sources = $($(package)_qttranslations_file_name)
-$(package)_extra_sources += $($(package)_qttools_file_name)
-$(package)_extra_sources += $($(package)_qtactiveqt_file_name)
-
-define $(package)_set_vars
-$(package)_config_opts_release = -release
-$(package)_config_opts_debug = -debug
-$(package)_config_opts += -bindir $(build_prefix)/bin
-$(package)_config_opts += -c++std c++11
-$(package)_config_opts += -confirm-license
-$(package)_config_opts += -dbus-runtime
-$(package)_config_opts += -hostprefix $(build_prefix)
-$(package)_config_opts += -no-alsa
-$(package)_config_opts += -no-audio-backend
-$(package)_config_opts += -no-cups
-$(package)_config_opts += -no-egl
-$(package)_config_opts += -no-eglfs
-$(package)_config_opts += -no-feature-style-windowsmobile
-$(package)_config_opts += -no-feature-style-windowsce
-$(package)_config_opts += -no-freetype
-$(package)_config_opts += -no-gif
-$(package)_config_opts += -no-glib
-$(package)_config_opts += -no-gstreamer
-$(package)_config_opts += -no-icu
-$(package)_config_opts += -no-iconv
-$(package)_config_opts += -no-kms
-$(package)_config_opts += -no-linuxfb
-$(package)_config_opts += -no-libudev
-$(package)_config_opts += -no-mitshm
-$(package)_config_opts += -no-mtdev
-$(package)_config_opts += -no-pulseaudio
-$(package)_config_opts += -no-openvg
-$(package)_config_opts += -no-reduce-relocations
-$(package)_config_opts += -no-qml-debug
-$(package)_config_opts += -no-sql-db2
-$(package)_config_opts += -no-sql-ibase
-$(package)_config_opts += -no-sql-oci
-$(package)_config_opts += -no-sql-tds
-$(package)_config_opts += -no-sql-mysql
-$(package)_config_opts += -no-sql-odbc
-$(package)_config_opts += -no-sql-psql
-$(package)_config_opts += -no-sql-sqlite
-$(package)_config_opts += -no-sql-sqlite2
-$(package)_config_opts += -no-use-gold-linker
-$(package)_config_opts += -no-xinput2
-$(package)_config_opts += -no-xrender
-$(package)_config_opts += -nomake examples
-$(package)_config_opts += -nomake tests
-$(package)_config_opts += -opensource
-$(package)_config_opts += -openssl-linked
-$(package)_config_opts += -optimized-qmake
-$(package)_config_opts += -pch
-$(package)_config_opts += -pkg-config
-$(package)_config_opts += -prefix $(host_prefix)
-$(package)_config_opts += -qt-libpng
-$(package)_config_opts += -qt-libjpeg
-$(package)_config_opts += -qt-pcre
-$(package)_config_opts += -system-zlib
-$(package)_config_opts += -reduce-exports
-$(package)_config_opts += -static
-$(package)_config_opts += -silent
-$(package)_config_opts += -v
-$(package)_config_opts += -no-feature-printer
-$(package)_config_opts += -no-feature-printdialog
-
-ifneq ($(build_os),darwin)
-$(package)_config_opts_darwin = -xplatform macx-clang-linux
-$(package)_config_opts_darwin += -device-option MAC_SDK_PATH=$(OSX_SDK)
-$(package)_config_opts_darwin += -device-option MAC_SDK_VERSION=$(OSX_SDK_VERSION)
-$(package)_config_opts_darwin += -device-option CROSS_COMPILE="$(host)-"
-$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION)
-$(package)_config_opts_darwin += -device-option MAC_TARGET=$(host)
-$(package)_config_opts_darwin += -device-option MAC_LD64_VERSION=$(LD64_VERSION)
-endif
-
-$(package)_config_opts_linux = -qt-xkbcommon
-$(package)_config_opts_linux += -qt-xcb
-$(package)_config_opts_linux += -system-freetype
-$(package)_config_opts_linux += -no-sm
-$(package)_config_opts_linux += -fontconfig
-$(package)_config_opts_linux += -no-opengl
-$(package)_config_opts_arm_linux = -platform linux-g++ -xplatform $(host)
-$(package)_config_opts_i686_linux = -xplatform linux-g++-32
-$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
-$(package)_build_env = QT_RCC_TEST=1
-endef
-
-define $(package)_fetch_cmds
-$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
-$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \
-$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \
-$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtactiveqt_file_name),$($(package)_qtactiveqt_file_name),$($(package)_qtactiveqt_sha256_hash))
-endef
-
-define $(package)_extract_cmds
- mkdir -p $($(package)_extract_dir) && \
- echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
- echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
- echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
- echo "$($(package)_qtactiveqt_sha256_hash) $($(package)_source_dir)/$($(package)_qtactiveqt_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
- $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
- mkdir qtbase && \
- tar --strip-components=1 -xf $($(package)_source) -C qtbase && \
- mkdir qttranslations && \
- tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
- mkdir qttools && \
- tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools &&\
- mkdir qtactiveqt && \
- tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtactiveqt_file_name) -C qtactiveqt
-endef
-
-
-define $(package)_preprocess_cmds
- sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
- sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
- sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \
- sed -i.old "s|X11/extensions/XIproto.h|X11/X.h|" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \
- sed -i.old 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' qtbase/configure && \
- sed -i.old 's/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0)/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft)/' qtbase/src/plugins/platforms/cocoa/qcocoacursor.mm && \
- mkdir -p qtbase/mkspecs/macx-clang-linux &&\
- cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
- cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
- cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
- cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
- patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \
- patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \
- patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \
- patch -p1 < $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
- echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
- echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
- echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
- sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
- sed -i.old "s|QMAKE_LFLAGS = |!host_build: QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
- sed -i.old "s|QMAKE_CXXFLAGS = |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf
-
-endef
-
-define $(package)_config_cmds
- export PKG_CONFIG_SYSROOT_DIR=/ && \
- export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
- export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
- ./configure $($(package)_config_opts) && \
- echo "host_build: QT_CONFIG ~= s/system-zlib/zlib" >> mkspecs/qconfig.pri && \
- echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
- $(MAKE) sub-src-clean && \
- cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
- cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. && \
- cd qttools/src/linguist/lrelease/ && ../../../../qtbase/bin/qmake lrelease.pro -o Makefile && cd ../../../.. && \
- cd qtactiveqt/src/activeqt && ../../../qtbase/bin/qmake activeqt.pro -o Makefile
-endef
-
-define $(package)_build_cmds
- $(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \
- $(MAKE) -C ../qttools/src/linguist/lrelease && \
- $(MAKE) -C ../qtactiveqt/src/activeqt && \
- $(MAKE) -C ../qttranslations
-endef
-
-# $(MAKE) -C qtactiveqt/src/activeqt/container INSTALL_ROOT=$($(package)_staging_dir) install_target && \
-# $(MAKE) -C qtactiveqt/src/activeqt/control INSTALL_ROOT=$($(package)_staging_dir) install_target && \
-
-
-define $(package)_stage_cmds
- $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. && \
- $(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
- $(MAKE) -C qtactiveqt/src/activeqt INSTALL_ROOT=$($(package)_staging_dir) install &&\
- $(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets && \
- if `test -f qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a`; then \
- cp qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a $($(package)_staging_prefix_dir)/lib; \
- fi
-endef
-
-define $(package)_postprocess_cmds
- rm -rf native/mkspecs/ native/lib/ lib/cmake/ && \
- rm -f lib/lib*.la lib/*.prl plugins/*/*.prl
-endef
diff --git a/contrib/depends/packages/readline.mk b/contrib/depends/packages/readline.mk
new file mode 100644
index 000000000..826c1029e
--- /dev/null
+++ b/contrib/depends/packages/readline.mk
@@ -0,0 +1,33 @@
+package=readline
+$(package)_version=6.3
+$(package)_download_path=ftp://ftp.cwru.edu/pub/bash/
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
+$(package)_patches=readline-1.patch
+
+define $(package)_set_vars
+ $(package)_build_opts=CC="$($(package)_cc)"
+ $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
+ $(package)_config_opts=--prefix=$(host_prefix)
+ $(package)_config_opts+=--disable-shared --enable-multibye --without-purify --without-curses
+ $(package)_config_opts_release=--disable-debug-mode
+ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
+endef
+
+define $(package)_config_cmds
+ patch -p1 < $($(package)_patch_dir)/readline-1.patch &&\
+ export bash_cv_have_mbstate_t=yes &&\
+ export bash_cv_wcwidth_broken=yes &&\
+ ./configure $($(package)_config_opts)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) $($(package)_build_opts)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/unbound.mk b/contrib/depends/packages/unbound.mk
new file mode 100644
index 000000000..beeeb54c1
--- /dev/null
+++ b/contrib/depends/packages/unbound.mk
@@ -0,0 +1,28 @@
+package=unbound
+$(package)_version=1.6.8
+$(package)_download_path=http://www.unbound.net/downloads/
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=e3b428e33f56a45417107448418865fe08d58e0e7fea199b855515f60884dd49
+$(package)_dependencies=openssl expat ldns
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --enable-static --without-pyunbound --prefix=$(host_prefix) --with-libexpat=$(host_prefix) --with-ssl=$(host_prefix) --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads
+ $(package)_config_opts_linux=--with-pic
+ $(package)_config_opts_w64=--enable-static-exe --sysconfdir=/etc --prefix=$(host_prefix) --target=$(host_prefix)
+ $(package)_build_opts_mingw32=LDFLAGS="$($(package)_ldflags) -lpthread"
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf) $($(package)_config_opts)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) $($(package)_build_opts)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/unwind.mk b/contrib/depends/packages/unwind.mk
new file mode 100644
index 000000000..06e142115
--- /dev/null
+++ b/contrib/depends/packages/unwind.mk
@@ -0,0 +1,20 @@
+package=unwind
+$(package)_version=1.2
+$(package)_download_path=http://download.savannah.nongnu.org/releases/libunwind
+$(package)_file_name=lib$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=1de38ffbdc88bd694d10081865871cd2bfbb02ad8ef9e1606aee18d65532b992
+
+define $(package)_config_cmds
+ $($(package)_autoconf) --disable-shared --enable-static
+endef
+
+define $(package)_build_cmds
+ $(MAKE)
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install
+endef
+
+define $(package)_postprocess_cmds
+endef
diff --git a/contrib/depends/packages/xcb_proto.mk b/contrib/depends/packages/xcb_proto.mk
deleted file mode 100644
index 0c7c958d6..000000000
--- a/contrib/depends/packages/xcb_proto.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-package=xcb_proto
-$(package)_version=1.10
-$(package)_download_path=http://xcb.freedesktop.org/dist
-$(package)_file_name=xcb-proto-$($(package)_version).tar.bz2
-$(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-shared
- $(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
- find -name "*.pyc" -delete && \
- find -name "*.pyo" -delete
-endef
diff --git a/contrib/depends/packages/xextproto.mk b/contrib/depends/packages/xextproto.mk
deleted file mode 100644
index 98a11eb49..000000000
--- a/contrib/depends/packages/xextproto.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-package=xextproto
-$(package)_version=7.3.0
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0
-
-define $(package)_set_vars
-$(package)_config_opts=--disable-shared
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/xtrans.mk b/contrib/depends/packages/xtrans.mk
deleted file mode 100644
index 99eefa6d5..000000000
--- a/contrib/depends/packages/xtrans.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-package=xtrans
-$(package)_version=1.3.4
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=054d4ee3efd52508c753e9f7bc655ef185a29bd2850dd9e2fc2ccc33544f583a
-$(package)_dependencies=
-
-define $(package)_set_vars
-$(package)_config_opts_linux=--with-pic --disable-static
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/contrib/depends/packages/zeromq.mk b/contrib/depends/packages/zeromq.mk
new file mode 100644
index 000000000..01146c26f
--- /dev/null
+++ b/contrib/depends/packages/zeromq.mk
@@ -0,0 +1,34 @@
+package=zeromq
+$(package)_version=4.1.5
+$(package)_download_path=https://github.com/zeromq/zeromq4-1/releases/download/v$($(package)_version)/
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf
+$(package)_patches=9114d3957725acd34aa8b8d011585812f3369411.patch 9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
+
+define $(package)_set_vars
+ $(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
+ $(package)_config_opts_linux=--with-pic
+ $(package)_cxxflags=-std=c++11
+endef
+
+define $(package)_preprocess_cmds
+ patch -p1 < $($(package)_patch_dir)/9114d3957725acd34aa8b8d011585812f3369411.patch && \
+ patch -p1 < $($(package)_patch_dir)/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch && \
+ ./autogen.sh
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) libzmq.la
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA
+endef
+
+define $(package)_postprocess_cmds
+ rm -rf bin share
+endef
diff --git a/contrib/depends/packages/zlib.mk b/contrib/depends/packages/zlib.mk
index 7739c26a7..589490800 100644
--- a/contrib/depends/packages/zlib.mk
+++ b/contrib/depends/packages/zlib.mk
@@ -22,7 +22,6 @@ define $(package)_build_cmds
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts) &&\
- $(MAKE) DESTDIR=$(host_prefix) install $($(package)_build_opts)
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
endef
diff --git a/contrib/depends/patches/cmake/cmake-1-fixes.patch b/contrib/depends/patches/cmake/cmake-1-fixes.patch
new file mode 100644
index 000000000..062c06767
--- /dev/null
+++ b/contrib/depends/patches/cmake/cmake-1-fixes.patch
@@ -0,0 +1,67 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Fri, 12 Aug 2016 02:01:20 +1000
+Subject: [PATCH 1/3] fix windres invocation options
+
+windres doesn't recognise various gcc flags like -mms-bitfields,
+-fopenmp, -mthreads etc. (basically not `-D` or `-I`)
+
+diff --git a/Modules/Platform/Windows-windres.cmake b/Modules/Platform/Windows-windres.cmake
+index 1111111..2222222 100644
+--- a/Modules/Platform/Windows-windres.cmake
++++ b/Modules/Platform/Windows-windres.cmake
+@@ -1 +1 @@
+-set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <DEFINES> <INCLUDES> <FLAGS> <SOURCE> <OBJECT>")
++set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <DEFINES> <INCLUDES> <SOURCE> <OBJECT>")
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Tue, 25 Jul 2017 20:34:56 +1000
+Subject: [PATCH 2/3] add option to disable -isystem
+
+taken from (not accepted):
+https://gitlab.kitware.com/cmake/cmake/merge_requests/895
+
+see also:
+https://gitlab.kitware.com/cmake/cmake/issues/16291
+https://gitlab.kitware.com/cmake/cmake/issues/16919
+
+diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
+index 1111111..2222222 100644
+--- a/Modules/Compiler/GNU.cmake
++++ b/Modules/Compiler/GNU.cmake
+@@ -42,7 +42,7 @@ macro(__compiler_gnu lang)
+ string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
+ set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+ set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+- if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4) # work around #4462
++ if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4 AND (NOT MXE_DISABLE_INCLUDE_SYSTEM_FLAG)) # work around #4462
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
+ endif()
+ endmacro()
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Tue, 15 Aug 2017 15:25:06 +1000
+Subject: [PATCH 3/3] add CPACK_NSIS_EXECUTABLE variable
+
+
+diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
+index 1111111..2222222 100644
+--- a/Source/CPack/cmCPackNSISGenerator.cxx
++++ b/Source/CPack/cmCPackNSISGenerator.cxx
+@@ -384,7 +384,9 @@ int cmCPackNSISGenerator::InitializeInternal()
+ }
+ #endif
+
+- nsisPath = cmSystemTools::FindProgram("makensis", path, false);
++ this->SetOptionIfNotSet("CPACK_NSIS_EXECUTABLE", "makensis");
++ nsisPath = cmSystemTools::FindProgram(
++ this->GetOption("CPACK_NSIS_EXECUTABLE"), path, false);
+
+ if (nsisPath.empty()) {
+ cmCPackLogger(
diff --git a/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch b/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch
new file mode 100644
index 000000000..bbd4e99e7
--- /dev/null
+++ b/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch
@@ -0,0 +1,37 @@
+Don't build object files twice
+
+When passed --enable-static and --enable-shared, icu will generate
+both a shared and a static version of its libraries.
+
+However, in order to do so, it builds each and every object file
+twice: once with -fPIC (for the shared library), and once without
+-fPIC (for the static library). While admittedly building -fPIC for a
+static library generates a slightly suboptimal code, this is what all
+the autotools-based project are doing. They build each object file
+once, and they use it for both the static and shared libraries.
+
+icu builds the object files for the shared library as .o files, and
+the object files for static library as .ao files. By simply changing
+the suffix of object files used for static libraries to ".o", we tell
+icu to use the ones built for the shared library (i.e, with -fPIC),
+and avoid the double build of icu.
+
+On a fast build server, this brings the target icu build from
+3m41.302s down to 1m43.926s (approximate numbers: some other builds
+are running on the system at the same time).
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/source/config/mh-linux
+===================================================================
+--- a/source/config/mh-linux
++++ b/source/config/mh-linux
+@@ -38,7 +38,7 @@
+ ## Shared object suffix
+ SO = so
+ ## Non-shared intermediate object suffix
+-STATIC_O = ao
++STATIC_O = o
+
+ ## Compilation rules
+ %.$(STATIC_O): $(srcdir)/%.c
diff --git a/contrib/depends/patches/qt/fix-xcb-include-order.patch b/contrib/depends/patches/qt/fix-xcb-include-order.patch
deleted file mode 100644
index ec2bc17d9..000000000
--- a/contrib/depends/patches/qt/fix-xcb-include-order.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
-+++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17
-@@ -76,8 +76,6 @@
-
- DEFINES += $$QMAKE_DEFINES_XCB
- LIBS += $$QMAKE_LIBS_XCB
--QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
--QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
-
- CONFIG += qpa/genericunixfontdatabase
-
-@@ -89,7 +87,8 @@
- contains(QT_CONFIG, xcb-qt) {
- DEFINES += XCB_USE_RENDER
- XCB_DIR = ../../../3rdparty/xcb
-- INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
-+ QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
-+ QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
- LIBS += -lxcb -L$$MODULE_BASE_OUTDIR/lib -lxcb-static$$qtPlatformTargetSuffix()
- } else {
- LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms -lxcb-xinerama
---- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro
-@@ -9,7 +9,8 @@
-
- XCB_DIR = ../../../../3rdparty/xcb
-
--INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude
-+QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
-+QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude
-
- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
- QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
---- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
-+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
-@@ -6,6 +6,13 @@
- qxcbmain.cpp
- OTHER_FILES += xcb.json README
-
-+contains(QT_CONFIG, xcb-qt) {
-+ DEFINES += XCB_USE_RENDER
-+ XCB_DIR = ../../../3rdparty/xcb
-+ QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
-+ QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB
-+}
-+
- PLUGIN_TYPE = platforms
- PLUGIN_CLASS_NAME = QXcbIntegrationPlugin
- !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = -
diff --git a/contrib/depends/patches/qt/fix_qt_pkgconfig.patch b/contrib/depends/patches/qt/fix_qt_pkgconfig.patch
deleted file mode 100644
index 34302a9f2..000000000
--- a/contrib/depends/patches/qt/fix_qt_pkgconfig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/qtbase/mkspecs/features/qt_module.prf
-+++ new/qtbase/mkspecs/features/qt_module.prf
-@@ -245,7 +245,7 @@
- load(qt_targets)
-
- # this builds on top of qt_common
--!internal_module:!lib_bundle:if(unix|mingw) {
-+unix|mingw {
- CONFIG += create_pc
- QMAKE_PKGCONFIG_DESTDIR = pkgconfig
- host_build: \
diff --git a/contrib/depends/patches/qt/mac-qmake.conf b/contrib/depends/patches/qt/mac-qmake.conf
deleted file mode 100644
index ca70d30b1..000000000
--- a/contrib/depends/patches/qt/mac-qmake.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-MAKEFILE_GENERATOR = UNIX
-CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname
-QMAKE_INCREMENTAL_STYLE = sublib
-include(../common/macx.conf)
-include(../common/gcc-base-mac.conf)
-include(../common/clang.conf)
-include(../common/clang-mac.conf)
-QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH}
-QMAKE_XCODE_VERSION=4.3
-QMAKE_XCODE_DEVELOPER_PATH=/Developer
-QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION}
-QMAKE_MAC_SDK=macosx
-QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
-QMAKE_MAC_SDK.macosx.platform_name = macosx
-QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION}
-QMAKE_MAC_SDK.macosx.PlatformPath = /phony
-!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET}
-!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS
-!host_build: QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
-!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION}
-QMAKE_AR = $${CROSS_COMPILE}ar cq
-QMAKE_RANLIB=$${CROSS_COMPILE}ranlib
-QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool
-QMAKE_INSTALL_NAME_TOOL=$${CROSS_COMPILE}install_name_tool
-load(qt_config)
diff --git a/contrib/depends/patches/qt/mingw-uuidof.patch b/contrib/depends/patches/qt/mingw-uuidof.patch
deleted file mode 100644
index fb21923c8..000000000
--- a/contrib/depends/patches/qt/mingw-uuidof.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp
-@@ -77,7 +77,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <windowsx.h>
--#ifndef Q_OS_WINCE
-+#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
- # include <comdef.h>
- #endif
-
-@@ -814,7 +814,7 @@
- HWND_MESSAGE, NULL, static_cast<HINSTANCE>(GetModuleHandle(0)), NULL);
- }
-
--#ifndef Q_OS_WINCE
-+#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
- // Re-engineered from the inline function _com_error::ErrorMessage().
- // We cannot use it directly since it uses swprintf_s(), which is not
- // present in the MSVCRT.DLL found on Windows XP (QTBUG-35617).
-@@ -833,7 +833,7 @@
- return QString::asprintf("IDispatch error #%u", uint(wCode));
- return QString::asprintf("Unknown error 0x0%x", uint(comError.Error()));
- }
--#endif // !Q_OS_WINCE
-+#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
-
- /*!
- \brief Common COM error strings.
-@@ -901,12 +901,12 @@
- default:
- break;
- }
--#ifndef Q_OS_WINCE
-+#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
- _com_error error(hr);
- result += QByteArrayLiteral(" (");
- result += errorMessageFromComError(error);
- result += ')';
--#endif // !Q_OS_WINCE
-+#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1))
- return result;
- }
-
diff --git a/contrib/depends/patches/qt/pidlist_absolute.patch b/contrib/depends/patches/qt/pidlist_absolute.patch
deleted file mode 100644
index c79282417..000000000
--- a/contrib/depends/patches/qt/pidlist_absolute.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
---- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h
-+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
-@@ -136,10 +136,18 @@
- inline void init();
-
- typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **);
-+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
-+ typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, ITEMIDLIST **);
-+#else
- typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, PIDLIST_ABSOLUTE *);
-+#endif
- typedef HRESULT (WINAPI *SHGetStockIconInfo)(int , int , _SHSTOCKICONINFO *);
- typedef HRESULT (WINAPI *SHGetImageList)(int, REFIID , void **);
-+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
-+ typedef HRESULT (WINAPI *SHCreateItemFromIDList)(const ITEMIDLIST *, REFIID, void **);
-+#else
- typedef HRESULT (WINAPI *SHCreateItemFromIDList)(PCIDLIST_ABSOLUTE, REFIID, void **);
-+#endif
-
- SHCreateItemFromParsingName sHCreateItemFromParsingName;
- SHGetKnownFolderIDList sHGetKnownFolderIDList;
-diff -dur old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
---- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
-+++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
-@@ -1016,7 +1016,11 @@
- qWarning() << __FUNCTION__ << ": Invalid CLSID: " << url.path();
- return Q_NULLPTR;
- }
-+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
-+ ITEMIDLIST *idList;
-+#else
- PIDLIST_ABSOLUTE idList;
-+#endif
- HRESULT hr = QWindowsContext::shell32dll.sHGetKnownFolderIDList(uuid, 0, 0, &idList);
- if (FAILED(hr)) {
- qErrnoWarning("%s: SHGetKnownFolderIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString()));
diff --git a/contrib/depends/patches/readline/readline-1.patch b/contrib/depends/patches/readline/readline-1.patch
new file mode 100644
index 000000000..7610a29eb
--- /dev/null
+++ b/contrib/depends/patches/readline/readline-1.patch
@@ -0,0 +1,187 @@
+From c0572cecbeadc8fe24c70c5c39d49210a39ac719 Mon Sep 17 00:00:00 2001
+From: Timothy Gu <timothygu99@gmail.com>
+Date: Tue, 30 Sep 2014 10:32:33 -0700
+Subject: [PATCH 1/2] signals: safeguard the remaining usage of frequently
+ missing signals
+
+diff --git a/input.c b/input.c
+index 117dfe8..465f0b9 100644
+--- a/input.c
++++ b/input.c
+@@ -532,9 +532,17 @@ rl_getc (stream)
+ Otherwise (not EINTR), some error occurred, also signifying EOF. */
+ if (errno != EINTR)
+ return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
+- else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
++ else if (_rl_caught_signal == SIGTERM
++#if defined(SIGHUP)
++ || _rl_caught_signal == SIGHUP
++#endif
++ )
+ return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
+- else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
++ else if (_rl_caught_signal == SIGINT
++#if defined(SIGQUIT)
++ || _rl_caught_signal == SIGQUIT
++#endif
++ )
+ RL_CHECK_SIGNALS ();
+
+ if (rl_signal_event_hook)
+diff --git a/signals.c b/signals.c
+index 61f02f9..7c921d6 100644
+--- a/signals.c
++++ b/signals.c
+@@ -216,7 +216,9 @@ _rl_handle_signal (sig)
+ /* FALLTHROUGH */
+
+ case SIGTERM:
++#if defined (SIGHUP)
+ case SIGHUP:
++#endif
+ #if defined (SIGTSTP)
+ case SIGTSTP:
+ case SIGTTOU:
+@@ -426,7 +428,9 @@ rl_set_signals ()
+
+ rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
+ rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
++#if defined (SIGHUP)
+ rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
++#endif
+ #if defined (SIGQUIT)
+ rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit);
+ #endif
+@@ -491,7 +495,9 @@ rl_clear_signals ()
+ overhead */
+ rl_maybe_restore_sighandler (SIGINT, &old_int);
+ rl_maybe_restore_sighandler (SIGTERM, &old_term);
++#if defined (SIGHUP)
+ rl_maybe_restore_sighandler (SIGHUP, &old_hup);
++#endif
+ #if defined (SIGQUIT)
+ rl_maybe_restore_sighandler (SIGQUIT, &old_quit);
+ #endif
+--
+1.8.3.2
+
+
+From 6896ffa4fc85bf0dfae58e69a860d2076c1d9fd2 Mon Sep 17 00:00:00 2001
+From: Timothy Gu <timothygu99@gmail.com>
+Date: Tue, 30 Sep 2014 17:16:32 -0700
+Subject: [PATCH 2/2] Handle missing S_IS* macros more gracefully
+
+diff --git a/colors.c b/colors.c
+index 89d9035..ec19844 100644
+--- a/colors.c
++++ b/colors.c
+@@ -152,14 +152,22 @@ _rl_print_color_indicator (char *f)
+ {
+ colored_filetype = C_FILE;
+
++#if defined (S_ISUID)
+ if ((mode & S_ISUID) != 0 && is_colored (C_SETUID))
+ colored_filetype = C_SETUID;
+- else if ((mode & S_ISGID) != 0 && is_colored (C_SETGID))
++ else
++#endif
++#if defined (S_ISGID)
++ if ((mode & S_ISGID) != 0 && is_colored (C_SETGID))
+ colored_filetype = C_SETGID;
+- else if (is_colored (C_CAP) && 0) //f->has_capability)
++ else
++#endif
++ if (is_colored (C_CAP) && 0) //f->has_capability)
+ colored_filetype = C_CAP;
++#if defined(S_IXUGO)
+ else if ((mode & S_IXUGO) != 0 && is_colored (C_EXEC))
+ colored_filetype = C_EXEC;
++#endif
+ else if ((1 < astat.st_nlink) && is_colored (C_MULTIHARDLINK))
+ colored_filetype = C_MULTIHARDLINK;
+ }
+@@ -173,8 +181,10 @@ _rl_print_color_indicator (char *f)
+ colored_filetype = C_STICKY_OTHER_WRITABLE;
+ else
+ #endif
++#if defined (S_IWOTH)
+ if ((mode & S_IWOTH) != 0 && is_colored (C_OTHER_WRITABLE))
+ colored_filetype = C_OTHER_WRITABLE;
++#endif
+ #if defined (S_ISVTX)
+ else if ((mode & S_ISVTX) != 0 && is_colored (C_STICKY))
+ colored_filetype = C_STICKY;
+diff --git a/colors.h b/colors.h
+index fc926e5..e62edd0 100644
+--- a/colors.h
++++ b/colors.h
+@@ -96,7 +96,7 @@ enum indicator_no
+ };
+
+
+-#if !S_IXUGO
++#if !S_IXUGO && defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
+ # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
+ #endif
+
+diff --git a/posixstat.h b/posixstat.h
+index 3eb7f29..854a2c9 100644
+--- a/posixstat.h
++++ b/posixstat.h
+@@ -78,30 +78,44 @@
+
+ #if defined (S_IFBLK) && !defined (S_ISBLK)
+ #define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) /* block device */
++#elif !defined (S_IFBLK)
++#define S_ISBLK(m) 0
+ #endif
+
+ #if defined (S_IFCHR) && !defined (S_ISCHR)
+ #define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) /* character device */
++#elif !defined (S_IFCHR)
++#define S_ISCHR(m) 0
+ #endif
+
+ #if defined (S_IFDIR) && !defined (S_ISDIR)
+ #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) /* directory */
++#elif !defined (S_IFDIR)
++#define S_ISDIR(m) 0
+ #endif
+
+ #if defined (S_IFREG) && !defined (S_ISREG)
+ #define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) /* file */
++#elif !defined (S_IFREG)
++#define S_ISREG(m) 0
+ #endif
+
+ #if defined (S_IFIFO) && !defined (S_ISFIFO)
+ #define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) /* fifo - named pipe */
++#elif !defined (S_IFIFO)
++#define S_ISFIFO(m) 0
+ #endif
+
+ #if defined (S_IFLNK) && !defined (S_ISLNK)
+ #define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) /* symbolic link */
++#elif !defined (S_IFLNK)
++#define S_ISLNK(m) 0
+ #endif
+
+ #if defined (S_IFSOCK) && !defined (S_ISSOCK)
+ #define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) /* socket */
++#elif !defined (S_IFSOCK)
++#define S_ISSOCK(m) 0
+ #endif
+
+ /*
+@@ -137,6 +151,8 @@
+ /* These are non-standard, but are used in builtins.c$symbolic_umask() */
+ #define S_IRUGO (S_IRUSR | S_IRGRP | S_IROTH)
+ #define S_IWUGO (S_IWUSR | S_IWGRP | S_IWOTH)
++#if defined(S_IXUSR) && defined(S_IXGRP) && defined(S_IXOTH)
+ #define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
++#endif
+
+ #endif /* _POSIXSTAT_H_ */
+--
+1.8.3.2
+
diff --git a/contrib/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch b/contrib/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
new file mode 100644
index 000000000..f704b3d94
--- /dev/null
+++ b/contrib/depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
@@ -0,0 +1,22 @@
+From 9114d3957725acd34aa8b8d011585812f3369411 Mon Sep 17 00:00:00 2001
+From: Jeroen Ooms <jeroenooms@gmail.com>
+Date: Tue, 20 Oct 2015 13:10:38 +0200
+Subject: [PATCH] enable static libraries on mingw
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 393505b..e92131a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -265,7 +265,7 @@ case "${host_os}" in
+ libzmq_dso_visibility="no"
+
+ if test "x$enable_static" = "xyes"; then
+- AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
++ CPPFLAGS="-DZMQ_STATIC"
+ fi
+
+ # Set FD_SETSIZE to 1024 \ No newline at end of file
diff --git a/contrib/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch b/contrib/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
new file mode 100644
index 000000000..9aff2c179
--- /dev/null
+++ b/contrib/depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch
@@ -0,0 +1,22 @@
+From 9e6745c12e0b100cd38acecc16ce7db02905e27c Mon Sep 17 00:00:00 2001
+From: David Millard <dmillard10@gmail.com>
+Date: Tue, 10 May 2016 13:53:53 -0700
+Subject: [PATCH] Fix autotools for static MinGW builds
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5a0fa14..def6ea7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -259,7 +259,7 @@ case "${host_os}" in
+ libzmq_dso_visibility="no"
+
+ if test "x$enable_static" = "xyes"; then
+- CPPFLAGS="-DZMQ_STATIC"
++ CPPFLAGS="-DZMQ_STATIC $CPPFLAGS"
+ fi
+
+ # Set FD_SETSIZE to 1024 \ No newline at end of file
diff --git a/contrib/depends/protobuf.mk b/contrib/depends/protobuf.mk
new file mode 100644
index 000000000..54d3fd924
--- /dev/null
+++ b/contrib/depends/protobuf.mk
@@ -0,0 +1,29 @@
+package=protobuf
+$(package)_version=$(native_$(package)_version)
+$(package)_download_path=$(native_$(package)_download_path)
+$(package)_file_name=$(native_$(package)_file_name)
+$(package)_sha256_hash=$(native_$(package)_sha256_hash)
+$(package)_dependencies=native_$(package)
+$(package)_cxxflags=-std=c++11
+
+define $(package)_set_vars
+ $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
+ $(package)_config_opts_linux=--with-pic
+endef
+
+define $(package)_config_cmds
+ $($(package)_autoconf)
+endef
+
+define $(package)_build_cmds
+ $(MAKE) -C src libprotobuf.la
+endef
+
+define $(package)_stage_cmds
+ $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
+ $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
+endef
+
+define $(package)_postprocess_cmds
+ rm lib/libprotoc.a
+endef
diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
new file mode 100644
index 000000000..eb4fcba04
--- /dev/null
+++ b/contrib/depends/toolchain.cmake.in
@@ -0,0 +1,45 @@
+# this one is important
+SET(CMAKE_SYSTEM_NAME @depends@)
+
+#this one not so much
+SET(CMAKE_SYSTEM_VERSION 1)
+
+# specify the cross compiler
+SET(CMAKE_C_COMPILER @CC@)
+SET(CMAKE_CXX_COMPILER @CXX@)
+
+SET(STATIC true)
+SET(UNBOUND_STATIC true)
+
+# where is the target environment
+SET(CMAKE_FIND_ROOT_PATH @prefix@ /usr)
+
+SET(THREADS_PTHREAD_ARG "2" CACHE STRING "Forcibly set by CMakeLists.txt." FORCE)
+SET(Readline_ROOT_DIR @prefix@)
+
+SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
+SET(LIBUNWIND_LIBRARIES @prefix@/lib/libunwind.a)
+SET(LIBUNWIND_LIBRARY_DIRS @prefix@/lib)
+
+SET(UNBOUND_INCLUDE_DIR @prefix@/include)
+SET(UNBOUND_LIBRARIES @prefix@/lib)
+SET(UNBOUND_LIBRARY @prefix@/lib/libunbound.a)
+
+SET(ZMQ_INCLUDE_PATH @prefix@/include)
+SET(ZMQ_LIB @prefix@/lib/libzmq.a)
+
+#SET(BOOST_IGNORE_SYSTEM_PATHS_DEFAULT ON)
+#SET(BOOST_IGNORE_SYSTEM_PATH ON)
+#SET(BOOST_ROOT @prefix@)
+#SET(BOOST_LIBRARYDIR @prefix@/lib)
+
+# for libraries and headers in the target directories
+set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
+set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
+set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
+
+#set (MINGW_FLAG "-m64")
+#set (USE_LTO_DEFAULT false)
+
+#Create a new cmake flag that indicates building with depends
+set (DEPENDS true)