aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2016-09-14 17:25:53 +0000
committerWladimir J. van der Laan <laanwj@gmail.com>2016-09-14 19:32:00 +0200
commit64047f8e7feb518fc2fa79feee1af983798883cc (patch)
tree08ec7d8e59e9133ce1ee22010f208e0336c9bcdd /depends
parent881d7eaf29f78591099dc167f6f0ae07ed3fbab7 (diff)
downloadbitcoin-64047f8e7feb518fc2fa79feee1af983798883cc.tar.xz
depends: Add libevent compatibility patch for windows
Add a patch that seems to be necessary for compatibilty of libevent 2.0.22 with recent mingw-w64 gcc versions (at least GCC 5.3.1 from Ubuntu 16.04). Without this patch the Content-Length in the HTTP header ends up as `Content-Length: zu`, causing communication between the RPC client and server to break down. See discussion in #8653. Source: https://sourceforge.net/p/levent/bugs/363/ Thanks to @sstone for the suggestion.
Diffstat (limited to 'depends')
-rw-r--r--depends/packages/libevent.mk5
-rw-r--r--depends/patches/libevent/libevent-2-fixes.patch18
2 files changed, 21 insertions, 2 deletions
diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk
index 2e9be1e98c..4b02b2eff9 100644
--- a/depends/packages/libevent.mk
+++ b/depends/packages/libevent.mk
@@ -3,10 +3,11 @@ $(package)_version=2.0.22
$(package)_download_path=https://github.com/libevent/libevent/releases/download/release-2.0.22-stable
$(package)_file_name=$(package)-$($(package)_version)-stable.tar.gz
$(package)_sha256_hash=71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3
-$(package)_patches=reuseaddr.patch
+$(package)_patches=reuseaddr.patch libevent-2-fixes.patch
define $(package)_preprocess_cmds
- patch -p1 < $($(package)_patch_dir)/reuseaddr.patch
+ patch -p1 < $($(package)_patch_dir)/reuseaddr.patch && \
+ patch -p1 < $($(package)_patch_dir)/libevent-2-fixes.patch
endef
define $(package)_set_vars
diff --git a/depends/patches/libevent/libevent-2-fixes.patch b/depends/patches/libevent/libevent-2-fixes.patch
new file mode 100644
index 0000000000..79fec8a488
--- /dev/null
+++ b/depends/patches/libevent/libevent-2-fixes.patch
@@ -0,0 +1,18 @@
+--- a/util-internal.h 2013-11-01 12:18:57.000000000 -0600
++++ b/util-internal.h 2015-07-20 20:19:43.199560900 -0500
+@@ -299,8 +299,13 @@ HANDLE evutil_load_windows_system_librar
+
+ #if defined(__STDC__) && defined(__STDC_VERSION__)
+ #if (__STDC_VERSION__ >= 199901L)
+-#define EV_SIZE_FMT "%zu"
+-#define EV_SSIZE_FMT "%zd"
++ #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
++ #define EV_SIZE_FMT "%Iu"
++ #define EV_SSIZE_FMT "%Id"
++ #else
++ #define EV_SIZE_FMT "%zu"
++ #define EV_SSIZE_FMT "%zd"
++ #endif
+ #define EV_SIZE_ARG(x) (x)
+ #define EV_SSIZE_ARG(x) (x)
+ #endif