summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/alsa_lib-1.1.6.local.patch (renamed from patches/alsa_lib-1.1.4.1.local.patch)0
-rw-r--r--patches/expat-2.2.5.local.patch (renamed from patches/expat-2.2.0.local.patch)0
-rw-r--r--patches/libassuan-2.4.3.local.patch192
-rw-r--r--patches/libgcrypt-1.7.4.local.patch170
-rw-r--r--patches/libgcrypt-1.8.2.local.patch14
-rw-r--r--patches/libuv-1.19.2.local.patch48
-rw-r--r--patches/tiff/CVE-2017-18013.patch34
-rw-r--r--patches/tiff/CVE-2018-5784.patch128
-rw-r--r--patches/tiff/CVE-2018-7456.patch170
-rw-r--r--vars/build.vars59
-rw-r--r--vars/cmake.vars3
11 files changed, 428 insertions, 390 deletions
diff --git a/patches/alsa_lib-1.1.4.1.local.patch b/patches/alsa_lib-1.1.6.local.patch
index 3171801d..3171801d 100644
--- a/patches/alsa_lib-1.1.4.1.local.patch
+++ b/patches/alsa_lib-1.1.6.local.patch
diff --git a/patches/expat-2.2.0.local.patch b/patches/expat-2.2.5.local.patch
index b6f1446b..b6f1446b 100644
--- a/patches/expat-2.2.0.local.patch
+++ b/patches/expat-2.2.5.local.patch
diff --git a/patches/libassuan-2.4.3.local.patch b/patches/libassuan-2.4.3.local.patch
deleted file mode 100644
index 8e0265b0..00000000
--- a/patches/libassuan-2.4.3.local.patch
+++ /dev/null
@@ -1,192 +0,0 @@
---- libassuan-2.4.3.orig/configure 2016-07-14 10:11:48.000000000 +0200
-+++ libassuan-2.4.3/configure 2016-10-18 22:20:05.511896688 +0200
-@@ -14171,187 +14171,8 @@
-
- # Checking for libgpg-error.
-
-- gpg_error_config_prefix=""
--
--# Check whether --with-libgpg-error-prefix was given.
--if test "${with_libgpg_error_prefix+set}" = set; then :
-- withval=$with_libgpg_error_prefix; gpg_error_config_prefix="$withval"
--fi
--
--
--
--# Check whether --with-gpg-error-prefix was given.
--if test "${with_gpg_error_prefix+set}" = set; then :
-- withval=$with_gpg_error_prefix; gpg_error_config_prefix="$withval"
--fi
--
--
-- if test x$gpg_error_config_prefix != x ; then
-- if test x${GPG_ERROR_CONFIG+set} != xset ; then
-- GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
-- fi
-- fi
--
-- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}gpg-error-config", so it can be a program name with args.
--set dummy ${ac_tool_prefix}gpg-error-config; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_path_GPG_ERROR_CONFIG+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- case $GPG_ERROR_CONFIG in
-- [\\/]* | ?:[\\/]*)
-- ac_cv_path_GPG_ERROR_CONFIG="$GPG_ERROR_CONFIG" # Let the user override the test with a path.
-- ;;
-- *)
-- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_path_GPG_ERROR_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
-- ;;
--esac
--fi
--GPG_ERROR_CONFIG=$ac_cv_path_GPG_ERROR_CONFIG
--if test -n "$GPG_ERROR_CONFIG"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPG_ERROR_CONFIG" >&5
--$as_echo "$GPG_ERROR_CONFIG" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
--
--fi
--if test -z "$ac_cv_path_GPG_ERROR_CONFIG"; then
-- ac_pt_GPG_ERROR_CONFIG=$GPG_ERROR_CONFIG
-- # Extract the first word of "gpg-error-config", so it can be a program name with args.
--set dummy gpg-error-config; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_path_ac_pt_GPG_ERROR_CONFIG+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- case $ac_pt_GPG_ERROR_CONFIG in
-- [\\/]* | ?:[\\/]*)
-- ac_cv_path_ac_pt_GPG_ERROR_CONFIG="$ac_pt_GPG_ERROR_CONFIG" # Let the user override the test with a path.
-- ;;
-- *)
-- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_path_ac_pt_GPG_ERROR_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
-- ;;
--esac
--fi
--ac_pt_GPG_ERROR_CONFIG=$ac_cv_path_ac_pt_GPG_ERROR_CONFIG
--if test -n "$ac_pt_GPG_ERROR_CONFIG"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_GPG_ERROR_CONFIG" >&5
--$as_echo "$ac_pt_GPG_ERROR_CONFIG" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
-- if test "x$ac_pt_GPG_ERROR_CONFIG" = x; then
-- GPG_ERROR_CONFIG="no"
-- else
-- case $cross_compiling:$ac_tool_warned in
--yes:)
--{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
--$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
--ac_tool_warned=yes ;;
--esac
-- GPG_ERROR_CONFIG=$ac_pt_GPG_ERROR_CONFIG
-- fi
--else
-- GPG_ERROR_CONFIG="$ac_cv_path_GPG_ERROR_CONFIG"
--fi
--
-- min_gpg_error_version=1.17
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5
--$as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; }
-- ok=no
-- if test "$GPG_ERROR_CONFIG" != "no" \
-- && test -f "$GPG_ERROR_CONFIG" ; then
-- req_major=`echo $min_gpg_error_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'`
-- req_minor=`echo $min_gpg_error_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\)/\2/'`
-- gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
-- major=`echo $gpg_error_config_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'`
-- minor=`echo $gpg_error_config_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'`
-- if test "$major" -gt "$req_major"; then
-- ok=yes
-- else
-- if test "$major" -eq "$req_major"; then
-- if test "$minor" -ge "$req_minor"; then
-- ok=yes
-- fi
-- fi
-- fi
-- fi
-- if test $ok = yes; then
-- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
-- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5
--$as_echo "yes ($gpg_error_config_version)" >&6; }
-- :
-- gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none`
-- if test x"$gpg_error_config_host" != xnone ; then
-- if test x"$gpg_error_config_host" != x"$host" ; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
--***
--*** The config script $GPG_ERROR_CONFIG was
--*** built for $gpg_error_config_host and thus may not match the
--*** used host $host.
--*** You may want to use the configure option --with-gpg-error-prefix
--*** to specify a matching config script.
--***" >&5
--$as_echo "$as_me: WARNING:
--***
--*** The config script $GPG_ERROR_CONFIG was
--*** built for $gpg_error_config_host and thus may not match the
--*** used host $host.
--*** You may want to use the configure option --with-gpg-error-prefix
--*** to specify a matching config script.
--***" >&2;}
-- fi
-- fi
-- else
-- GPG_ERROR_CFLAGS=""
-- GPG_ERROR_LIBS=""
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
-- as_fn_error $? "libgpg-error was not found" "$LINENO" 5
-- fi
--
--
--
-+#Overcomplicated useless checking for gpg-error, use CFLAGS and LDFLAGS! >:(
-+ GPG_ERROR_LIBS="-lgpg-error"
-
- #
- # Checks for library functions.
diff --git a/patches/libgcrypt-1.7.4.local.patch b/patches/libgcrypt-1.7.4.local.patch
deleted file mode 100644
index 15c9576d..00000000
--- a/patches/libgcrypt-1.7.4.local.patch
+++ /dev/null
@@ -1,170 +0,0 @@
---- libgcrypt-1.7.4/configure.orig 2016-12-09 15:49:07.000000000 +0100
-+++ libgcrypt-1.7.4/configure 2016-12-17 21:18:38.325971000 +0100
-@@ -13068,6 +13068,10 @@
- PRINTABLE_OS_NAME="GNU/Linux"
- ;;
-
-+ *-midipix*)
-+ PRINTABLE_OS_NAME="Midipix"
-+ ;;
-+
- *)
- PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
- ;;
-@@ -14141,155 +14145,7 @@
- # gpg-error is required.
- #
-
-- gpg_error_config_prefix=""
--
--# Check whether --with-libgpg-error-prefix was given.
--if test "${with_libgpg_error_prefix+set}" = set; then :
-- withval=$with_libgpg_error_prefix; gpg_error_config_prefix="$withval"
--fi
--
--
--
--# Check whether --with-gpg-error-prefix was given.
--if test "${with_gpg_error_prefix+set}" = set; then :
-- withval=$with_gpg_error_prefix; gpg_error_config_prefix="$withval"
--fi
--
--
-- if test x"${GPG_ERROR_CONFIG}" = x ; then
-- if test x"${gpg_error_config_prefix}" != x ; then
-- GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config"
-- else
-- case "${SYSROOT}" in
-- /*)
-- if test -x "${SYSROOT}/bin/gpg-error-config" ; then
-- GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config"
-- fi
-- ;;
-- '')
-- ;;
-- *)
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&5
--$as_echo "$as_me: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&2;}
-- ;;
-- esac
-- fi
-- fi
--
-- # Extract the first word of "gpg-error-config", so it can be a program name with args.
--set dummy gpg-error-config; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_path_GPG_ERROR_CONFIG+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- case $GPG_ERROR_CONFIG in
-- [\\/]* | ?:[\\/]*)
-- ac_cv_path_GPG_ERROR_CONFIG="$GPG_ERROR_CONFIG" # Let the user override the test with a path.
-- ;;
-- *)
-- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_path_GPG_ERROR_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
-- test -z "$ac_cv_path_GPG_ERROR_CONFIG" && ac_cv_path_GPG_ERROR_CONFIG="no"
-- ;;
--esac
--fi
--GPG_ERROR_CONFIG=$ac_cv_path_GPG_ERROR_CONFIG
--if test -n "$GPG_ERROR_CONFIG"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPG_ERROR_CONFIG" >&5
--$as_echo "$GPG_ERROR_CONFIG" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
--
-- min_gpg_error_version="$NEED_GPG_ERROR_VERSION"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5
--$as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; }
-- ok=no
-- if test "$GPG_ERROR_CONFIG" != "no" \
-- && test -f "$GPG_ERROR_CONFIG" ; then
-- req_major=`echo $min_gpg_error_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'`
-- req_minor=`echo $min_gpg_error_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\)/\2/'`
-- gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
-- major=`echo $gpg_error_config_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'`
-- minor=`echo $gpg_error_config_version | \
-- sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'`
-- if test "$major" -gt "$req_major"; then
-- ok=yes
-- else
-- if test "$major" -eq "$req_major"; then
-- if test "$minor" -ge "$req_minor"; then
-- ok=yes
-- fi
-- fi
-- fi
-- fi
-- if test $ok = yes; then
-- GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
-- GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
-- GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null`
-- GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null`
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5
--$as_echo "yes ($gpg_error_config_version)" >&6; }
-- :
-- gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none`
-- if test x"$gpg_error_config_host" != xnone ; then
-- if test x"$gpg_error_config_host" != x"$host" ; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
--***
--*** The config script $GPG_ERROR_CONFIG was
--*** built for $gpg_error_config_host and thus may not match the
--*** used host $host.
--*** You may want to use the configure option --with-gpg-error-prefix
--*** to specify a matching config script or use \$SYSROOT.
--***" >&5
--$as_echo "$as_me: WARNING:
--***
--*** The config script $GPG_ERROR_CONFIG was
--*** built for $gpg_error_config_host and thus may not match the
--*** used host $host.
--*** You may want to use the configure option --with-gpg-error-prefix
--*** to specify a matching config script or use \$SYSROOT.
--***" >&2;}
-- gpg_config_script_warn="$gpg_config_script_warn libgpg-error"
-- fi
-- fi
-- else
-- GPG_ERROR_CFLAGS=""
-- GPG_ERROR_LIBS=""
-- GPG_ERROR_MT_CFLAGS=""
-- GPG_ERROR_MT_LIBS=""
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
-- :
-- fi
--
--
--
--
--
--if test "x$GPG_ERROR_LIBS" = "x"; then
-- as_fn_error $? "libgpg-error is needed.
-- See ftp://ftp.gnupg.org/gcrypt/libgpg-error/ ." "$LINENO" 5
--fi
-+ GPG_ERROR_LIBS="-lgpg-error"
-
-
- $as_echo "#define GPG_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_GCRYPT" >>confdefs.h
diff --git a/patches/libgcrypt-1.8.2.local.patch b/patches/libgcrypt-1.8.2.local.patch
new file mode 100644
index 00000000..1fba56bc
--- /dev/null
+++ b/patches/libgcrypt-1.8.2.local.patch
@@ -0,0 +1,14 @@
+diff -ru libgcrypt-1.8.2.orig/configure libgcrypt-1.8.2/configure
+--- libgcrypt-1.8.2.orig/configure 2017-12-13 14:54:17.000000000 +0100
++++ libgcrypt-1.8.2/configure 2018-05-05 00:17:43.366304238 +0200
+@@ -13074,6 +13074,10 @@
+ PRINTABLE_OS_NAME="GNU/Linux"
+ ;;
+
++ *-midipix*)
++ PRINTABLE_OS_NAME="Midipix"
++ ;;
++
+ *)
+ PRINTABLE_OS_NAME=`uname -s || echo "Unknown"`
+ ;;
diff --git a/patches/libuv-1.19.2.local.patch b/patches/libuv-1.19.2.local.patch
new file mode 100644
index 00000000..558f3fe9
--- /dev/null
+++ b/patches/libuv-1.19.2.local.patch
@@ -0,0 +1,48 @@
+diff -ru libuv-v1.19.2.orig/configure.ac libuv-v1.19.2/configure.ac
+--- libuv-v1.19.2.orig/configure.ac 2018-02-21 21:25:38.000000000 +0100
++++ libuv-v1.19.2/configure.ac 2018-05-04 20:35:43.157687243 +0200
+@@ -57,6 +57,7 @@
+ AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])])
+ AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[*freebsd*], [true], [false])])
+ AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])])
++AM_CONDITIONAL([MIDIPIX], [AS_CASE([$host_os],[midipix*], [true], [false])])
+ AM_CONDITIONAL([MSYS], [AS_CASE([$host_os],[msys*], [true], [false])])
+ AM_CONDITIONAL([NETBSD], [AS_CASE([$host_os],[netbsd*], [true], [false])])
+ AM_CONDITIONAL([OPENBSD], [AS_CASE([$host_os],[openbsd*], [true], [false])])
+Only in libuv-v1.19.2: depcomp
+diff -ru libuv-v1.19.2.orig/include/uv-unix.h libuv-v1.19.2/include/uv-unix.h
+--- libuv-v1.19.2.orig/include/uv-unix.h 2018-02-21 21:25:38.000000000 +0100
++++ libuv-v1.19.2/include/uv-unix.h 2018-05-04 18:53:02.286365282 +0200
+@@ -62,7 +62,7 @@
+ defined(__OpenBSD__) || \
+ defined(__NetBSD__)
+ # include "uv-bsd.h"
+-#elif defined(__CYGWIN__) || defined(__MSYS__)
++#elif defined(__CYGWIN__) || defined(__MSYS__) || defined(__midipix__)
+ # include "uv-posix.h"
+ #endif
+
+diff -ru libuv-v1.19.2.orig/Makefile.am libuv-v1.19.2/Makefile.am
+--- libuv-v1.19.2.orig/Makefile.am 2018-02-21 21:25:38.000000000 +0100
++++ libuv-v1.19.2/Makefile.am 2018-05-04 20:55:46.028984363 +0200
+@@ -403,6 +403,20 @@
+ test_run_tests_LDFLAGS += -lutil
+ endif
+
++# src/unix/cygwin.c is mostly just stubs, implement proper codepaths at later date?
++if MIDIPIX
++include_HEADERS += include/uv-posix.h
++libuv_la_CFLAGS += -D_GNU_SOURCE
++libuv_la_SOURCES += src/unix/cygwin.c \
++ src/unix/no-fsevents.c \
++ src/unix/no-proctitle.c \
++ src/unix/posix-hrtime.c \
++ src/unix/posix-poll.c \
++ src/unix/procfs-exepath.c \
++ src/unix/sysinfo-loadavg.c \
++ src/unix/sysinfo-memory.c
++endif
++
+ if MSYS
+ libuv_la_CFLAGS += -D_GNU_SOURCE
+ libuv_la_SOURCES += src/unix/cygwin.c \
diff --git a/patches/tiff/CVE-2017-18013.patch b/patches/tiff/CVE-2017-18013.patch
new file mode 100644
index 00000000..5f56ff25
--- /dev/null
+++ b/patches/tiff/CVE-2017-18013.patch
@@ -0,0 +1,34 @@
+From c6f41df7b581402dfba3c19a1e3df4454c551a01 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sun, 31 Dec 2017 15:09:41 +0100
+Subject: [PATCH] libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer dereference on corrupted file. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2770
+
+---
+ libtiff/tif_print.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 9959d35..8deceb2 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -667,13 +665,13 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+ fprintf(fd, " %3lu: [%8I64u, %8I64u]\n",
+ (unsigned long) s,
+- (unsigned __int64) td->td_stripoffset[s],
+- (unsigned __int64) td->td_stripbytecount[s]);
++ td->td_stripoffset ? (unsigned __int64) td->td_stripoffset[s] : 0,
++ td->td_stripbytecount ? (unsigned __int64) td->td_stripbytecount[s] : 0);
+ #else
+ fprintf(fd, " %3lu: [%8llu, %8llu]\n",
+ (unsigned long) s,
+- (unsigned long long) td->td_stripoffset[s],
+- (unsigned long long) td->td_stripbytecount[s]);
++ td->td_stripoffset ? (unsigned long long) td->td_stripoffset[s] : 0,
++ td->td_stripbytecount ? (unsigned long long) td->td_stripbytecount[s] : 0);
+ #endif
+ }
+ }
+--
+libgit2 0.26.0
+
diff --git a/patches/tiff/CVE-2018-5784.patch b/patches/tiff/CVE-2018-5784.patch
new file mode 100644
index 00000000..92fc2daf
--- /dev/null
+++ b/patches/tiff/CVE-2018-5784.patch
@@ -0,0 +1,128 @@
+From 473851d211cf8805a161820337ca74cc9615d6ef Mon Sep 17 00:00:00 2001
+From: Nathan Baker <nathanb@lenovo-chrome.com>
+Date: Tue, 6 Feb 2018 10:13:57 -0500
+Subject: [PATCH] Fix for bug 2772
+
+It is possible to craft a TIFF document where the IFD list is circular,
+leading to an infinite loop while traversing the chain. The libtiff
+directory reader has a failsafe that will break out of this loop after
+reading 65535 directory entries, but it will continue processing,
+consuming time and resources to process what is essentially a bogus TIFF
+document.
+
+This change fixes the above behavior by breaking out of processing when
+a TIFF document has >= 65535 directories and terminating with an error.
+---
+ contrib/addtiffo/tif_overview.c | 14 +++++++++++++-
+ tools/tiff2pdf.c | 10 ++++++++++
+ tools/tiffcrop.c | 13 +++++++++++--
+ 3 files changed, 34 insertions(+), 3 deletions(-)
+
+diff --git a/contrib/addtiffo/tif_overview.c b/contrib/addtiffo/tif_overview.c
+index c61ffbb..03b3573 100644
+--- a/contrib/addtiffo/tif_overview.c
++++ b/contrib/addtiffo/tif_overview.c
+@@ -65,6 +65,8 @@
+ # define MAX(a,b) ((a>b) ? a : b)
+ #endif
+
++#define TIFF_DIR_MAX 65534
++
+ void TIFFBuildOverviews( TIFF *, int, int *, int, const char *,
+ int (*)(double,void*), void * );
+
+@@ -91,6 +93,7 @@ uint32 TIFF_WriteOverview( TIFF *hTIFF, uint32 nXSize, uint32 nYSize,
+ {
+ toff_t nBaseDirOffset;
+ toff_t nOffset;
++ tdir_t iNumDir;
+
+ (void) bUseSubIFDs;
+
+@@ -147,7 +150,16 @@ uint32 TIFF_WriteOverview( TIFF *hTIFF, uint32 nXSize, uint32 nYSize,
+ return 0;
+
+ TIFFWriteDirectory( hTIFF );
+- TIFFSetDirectory( hTIFF, (tdir_t) (TIFFNumberOfDirectories(hTIFF)-1) );
++ iNumDir = TIFFNumberOfDirectories(hTIFF);
++ if( iNumDir > TIFF_DIR_MAX )
++ {
++ TIFFErrorExt( TIFFClientdata(hTIFF),
++ "TIFF_WriteOverview",
++ "File `%s' has too many directories.\n",
++ TIFFFileName(hTIFF) );
++ exit(-1);
++ }
++ TIFFSetDirectory( hTIFF, (tdir_t) (iNumDir - 1) );
+
+ nOffset = TIFFCurrentDirOffset( hTIFF );
+
+diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
+index 984ef65..832a247 100644
+--- a/tools/tiff2pdf.c
++++ b/tools/tiff2pdf.c
+@@ -68,6 +68,8 @@ extern int getopt(int, char**, char*);
+
+ #define PS_UNIT_SIZE 72.0F
+
++#define TIFF_DIR_MAX 65534
++
+ /* This type is of PDF color spaces. */
+ typedef enum {
+ T2P_CS_BILEVEL = 0x01, /* Bilevel, black and white */
+@@ -1049,6 +1053,14 @@ void t2p_read_tiff_init(T2P* t2p, TIFF* input){
+ uint16* tiff_transferfunction[3];
+
+ directorycount=TIFFNumberOfDirectories(input);
++ if(directorycount > TIFF_DIR_MAX) {
++ TIFFError(
++ TIFF2PDF_MODULE,
++ "TIFF contains too many directories, %s",
++ TIFFFileName(input));
++ t2p->t2p_error = T2P_ERR_ERROR;
++ return;
++ }
+ t2p->tiff_pages = (T2P_PAGE*) _TIFFmalloc(TIFFSafeMultiply(tmsize_t,directorycount,sizeof(T2P_PAGE)));
+ if(t2p->tiff_pages==NULL){
+ TIFFError(
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index 91a38f6..e466dae 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -217,6 +215,8 @@ extern int getopt(int argc, char * const argv[], const char *optstring);
+ #define DUMP_TEXT 1
+ #define DUMP_RAW 2
+
++#define TIFF_DIR_MAX 65534
++
+ /* Offsets into buffer for margins and fixed width and length segments */
+ struct offset {
+ uint32 tmargin;
+@@ -2233,7 +2234,7 @@ main(int argc, char* argv[])
+ pageNum = -1;
+ else
+ total_images = 0;
+- /* read multiple input files and write to output file(s) */
++ /* Read multiple input files and write to output file(s) */
+ while (optind < argc - 1)
+ {
+ in = TIFFOpen (argv[optind], "r");
+@@ -2241,7 +2242,14 @@ main(int argc, char* argv[])
+ return (-3);
+
+ /* If only one input file is specified, we can use directory count */
+- total_images = TIFFNumberOfDirectories(in);
++ total_images = TIFFNumberOfDirectories(in);
++ if (total_images > TIFF_DIR_MAX)
++ {
++ TIFFError (TIFFFileName(in), "File contains too many directories");
++ if (out != NULL)
++ (void) TIFFClose(out);
++ return (1);
++ }
+ if (image_count == 0)
+ {
+ dirnum = 0;
+--
+libgit2 0.26.0
+
diff --git a/patches/tiff/CVE-2018-7456.patch b/patches/tiff/CVE-2018-7456.patch
new file mode 100644
index 00000000..b2d081a5
--- /dev/null
+++ b/patches/tiff/CVE-2018-7456.patch
@@ -0,0 +1,170 @@
+From be4c85b16e8801a16eec25e80eb9f3dd6a96731b Mon Sep 17 00:00:00 2001
+From: Hugo Lefeuvre <hle@debian.org>
+Date: Sun, 8 Apr 2018 14:07:08 -0400
+Subject: [PATCH] Fix NULL pointer dereference in TIFFPrintDirectory
+
+The TIFFPrintDirectory function relies on the following assumptions,
+supposed to be guaranteed by the specification:
+
+(a) A Transfer Function field is only present if the TIFF file has
+ photometric type < 3.
+
+(b) If SamplesPerPixel > Color Channels, then the ExtraSamples field
+ has count SamplesPerPixel - (Color Channels) and contains
+ information about supplementary channels.
+
+While respect of (a) and (b) are essential for the well functioning of
+TIFFPrintDirectory, no checks are realized neither by the callee nor
+by TIFFPrintDirectory itself. Hence, following scenarios might happen
+and trigger the NULL pointer dereference:
+
+(1) TIFF File of photometric type 4 or more has illegal Transfer
+ Function field.
+
+(2) TIFF File has photometric type 3 or less and defines a
+ SamplesPerPixel field such that SamplesPerPixel > Color Channels
+ without defining all extra samples in the ExtraSamples fields.
+
+In this patch, we address both issues with respect of the following
+principles:
+
+(A) In the case of (1), the defined transfer table should be printed
+ safely even if it isn't 'legal'. This allows us to avoid expensive
+ checks in TIFFPrintDirectory. Also, it is quite possible that
+ an alternative photometric type would be developed (not part of the
+ standard) and would allow definition of Transfer Table. We want
+ libtiff to be able to handle this scenario out of the box.
+
+(B) In the case of (2), the transfer table should be printed at its
+ right size, that is if TIFF file has photometric type Palette
+ then the transfer table should have one row and not three, even
+ if two extra samples are declared.
+
+In order to fulfill (A) we simply add a new 'i < 3' end condition to
+the broken TIFFPrintDirectory loop. This makes sure that in any case
+where (b) would be respected but not (a), everything stays fine.
+
+(B) is fulfilled by the loop condition
+'i < td->td_samplesperpixel - td->td_extrasamples'. This is enough as
+long as (b) is respected.
+
+Naturally, we also make sure (b) is respected. This is done in the
+TIFFReadDirectory function by making sure any non-color channel is
+counted in ExtraSamples.
+
+This commit addresses CVE-2018-7456.
+---
+ libtiff/tif_dirread.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libtiff/tif_print.c | 2 +-
+ 2 files changed, 63 insertions(+), 1 deletion(-)
+
+diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
+index 6baa7b3..af5b84a 100644
+--- a/libtiff/tif_dirread.c
++++ b/libtiff/tif_dirread.c
+@@ -165,6 +165,7 @@ static int TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32 nstrips, uin
+ static int TIFFFetchSubjectDistance(TIFF*, TIFFDirEntry*);
+ static void ChopUpSingleUncompressedStrip(TIFF*);
+ static uint64 TIFFReadUInt64(const uint8 *value);
++static int _TIFFGetMaxColorChannels(uint16 photometric);
+
+ static int _TIFFFillStrilesInternal( TIFF *tif, int loadStripByteCount );
+
+@@ -3505,6 +3506,35 @@ static void TIFFReadDirEntryOutputErr(TIFF* tif, enum TIFFReadDirEntryErr err, c
+ }
+
+ /*
++ * Return the maximum number of color channels specified for a given photometric
++ * type. 0 is returned if photometric type isn't supported or no default value
++ * is defined by the specification.
++ */
++static int _TIFFGetMaxColorChannels( uint16 photometric )
++{
++ switch (photometric) {
++ case PHOTOMETRIC_PALETTE:
++ case PHOTOMETRIC_MINISWHITE:
++ case PHOTOMETRIC_MINISBLACK:
++ return 1;
++ case PHOTOMETRIC_YCBCR:
++ case PHOTOMETRIC_RGB:
++ case PHOTOMETRIC_CIELAB:
++ return 3;
++ case PHOTOMETRIC_SEPARATED:
++ case PHOTOMETRIC_MASK:
++ return 4;
++ case PHOTOMETRIC_LOGL:
++ case PHOTOMETRIC_LOGLUV:
++ case PHOTOMETRIC_CFA:
++ case PHOTOMETRIC_ITULAB:
++ case PHOTOMETRIC_ICCLAB:
++ default:
++ return 0;
++ }
++}
++
++/*
+ * Read the next TIFF directory from a file and convert it to the internal
+ * format. We read directories sequentially.
+ */
+@@ -3520,6 +3550,7 @@ TIFFReadDirectory(TIFF* tif)
+ uint32 fii=FAILED_FII;
+ toff_t nextdiroff;
+ int bitspersample_read = FALSE;
++ int color_channels;
+
+ tif->tif_diroff=tif->tif_nextdiroff;
+ if (!TIFFCheckDirOffset(tif,tif->tif_nextdiroff))
+@@ -4024,6 +4055,37 @@ TIFFReadDirectory(TIFF* tif)
+ }
+ }
+ }
++
++ /*
++ * Make sure all non-color channels are extrasamples.
++ * If it's not the case, define them as such.
++ */
++ color_channels = _TIFFGetMaxColorChannels(tif->tif_dir.td_photometric);
++ if (color_channels && tif->tif_dir.td_samplesperpixel - tif->tif_dir.td_extrasamples > color_channels) {
++ uint16 old_extrasamples;
++ uint16 *new_sampleinfo;
++
++ TIFFWarningExt(tif->tif_clientdata,module, "Sum of Photometric type-related "
++ "color channels and ExtraSamples doesn't match SamplesPerPixel. "
++ "Defining non-color channels as ExtraSamples.");
++
++ old_extrasamples = tif->tif_dir.td_extrasamples;
++ tif->tif_dir.td_extrasamples = (tif->tif_dir.td_samplesperpixel - color_channels);
++
++ // sampleinfo should contain information relative to these new extra samples
++ new_sampleinfo = (uint16*) _TIFFcalloc(tif->tif_dir.td_extrasamples, sizeof(uint16));
++ if (!new_sampleinfo) {
++ TIFFErrorExt(tif->tif_clientdata, module, "Failed to allocate memory for "
++ "temporary new sampleinfo array (%d 16 bit elements)",
++ tif->tif_dir.td_extrasamples);
++ goto bad;
++ }
++
++ memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16));
++ _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples);
++ _TIFFfree(new_sampleinfo);
++ }
++
+ /*
+ * Verify Palette image has a Colormap.
+ */
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 8deceb2..1d86adb 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -544,7 +544,7 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ uint16 i;
+ fprintf(fd, " %2ld: %5u",
+ l, td->td_transferfunction[0][l]);
+- for (i = 1; i < td->td_samplesperpixel; i++)
++ for (i = 1; i < td->td_samplesperpixel - td->td_extrasamples && i < 3; i++)
+ fprintf(fd, " %5u",
+ td->td_transferfunction[i][l]);
+ fputc('\n', fd);
+--
+libgit2 0.27.0
+
diff --git a/vars/build.vars b/vars/build.vars
index 63afa828..2e13af42 100644
--- a/vars/build.vars
+++ b/vars/build.vars
@@ -285,8 +285,8 @@ HOST_PACKAGES_DEPS_PACKAGES="
cmake_host llvm_host clang_host file_host libffi_host glib_host gperf_host
infounzip_host infozip_host intltool_host python2_host python3_host ruby_host";
HOST_PACKAGES_DEPS_PREFIX="${PREFIX}";
-: ${PKG_CMAKE_HOST_SHA256SUM:=7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe};
-: ${PKG_CMAKE_HOST_VERSION:=3.6.3};
+: ${PKG_CMAKE_HOST_SHA256SUM:=dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0};
+: ${PKG_CMAKE_HOST_VERSION:=3.7.2};
: ${PKG_CMAKE_HOST_URL:=https://cmake.org/files/v${PKG_CMAKE_HOST_VERSION%.*}/cmake-${PKG_CMAKE_HOST_VERSION}.tar.gz};
: ${PKG_CMAKE_HOST_CONFIGURE_ARGS:="--parallel=${DEFAULT_BUILD_CPUS} --prefix=${PREFIX}"};
: ${PKG_LLVM_HOST_SHA256SUM:=6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9};
@@ -348,18 +348,18 @@ libpng libjpeg_turbo tiff giflib libffi gdbm geoip pcre glib gzip libarchive
libatomic_ops musl_compat libbsd libpipeline libevent libfetch libogg libvorbis libunistring
libgpg_error libassuan libfirm libgcrypt libksba libudns lua ncurses ncursestw
ncursesw libnettle gnutls libreadline npth popt file zstd rpm xz libsolv tdnf
-shared_mime_info sqlite3 w32api w32lib cmake qrencode util_linux";
+shared_mime_info sqlite3 w32api w32lib libuv cmake qrencode util_linux";
NATIVE_PACKAGES_DEPS_PREFIX="${PREFIX_NATIVE}";
NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
-: ${PKG_EXPAT_SHA256SUM:=d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff};
-: ${PKG_EXPAT_VERSION:=2.2.0};
+: ${PKG_EXPAT_SHA256SUM:=d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6};
+: ${PKG_EXPAT_VERSION:=2.2.5};
: ${PKG_EXPAT_URL:=http://download.openpkg.org/components/cache/expat/expat-${PKG_EXPAT_VERSION}.tar.bz2};
-: ${PKG_LIBXML2_SHA256SUM:=ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c};
-: ${PKG_LIBXML2_VERSION:=2.9.4};
+: ${PKG_LIBXML2_SHA256SUM:=0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732};
+: ${PKG_LIBXML2_VERSION:=2.9.8};
: ${PKG_LIBXML2_URL:=ftp://xmlsoft.org/libxml2/libxml2-${PKG_LIBXML2_VERSION}.tar.gz};
: ${PKG_LIBXML2_CONFIGURE_ARGS_EXTRA:="--with-python=no"};
: ${PKG_ALSA_LIB_SHA256SUM:=91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76};
-: ${PKG_ALSA_LIB_VERSION:=1.1.4.1};
+: ${PKG_ALSA_LIB_VERSION:=1.1.6};
: ${PKG_ALSA_LIB_URL:=ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.4.1.tar.bz2};
: ${PKG_ALSA_LIB_CONFIGURE_ARGS_EXTRA:="--disable-python --with-versioned=no"};
: ${PKG_APR_SHA256SUM:=131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172};
@@ -403,8 +403,8 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_LIBJPEG_TURBO_VERSION:=1.5.2};
: ${PKG_LIBJPEG_TURBO_URL:=http://ftp.uni-erlangen.de/gentoo/distfiles/libjpeg-turbo-${PKG_LIBJPEG_TURBO_VERSION}.tar.gz};
: ${PKG_LIBJPEG_TURBO_CONFIGURE_ARGS_EXTRA:=--without-simd --with-jpeg8};
-: ${PKG_TIFF_SHA256SUM:=59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910};
-: ${PKG_TIFF_VERSION:=4.0.8};
+: ${PKG_TIFF_SHA256SUM:=6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd};
+: ${PKG_TIFF_VERSION:=4.0.9};
: ${PKG_TIFF_URL:=ftp://download.osgeo.org/libtiff/tiff-${PKG_TIFF_VERSION}.tar.gz};
: ${PKG_TIFF_CONFIGURE_ARGS_EXTRA:=--disable-cxx};
: ${PKG_GIFLIB_SHA256SUM:=df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5};
@@ -416,12 +416,12 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_LIBFFI_URL:=ftp://sourceware.org/pub/libffi/libffi-${PKG_LIBFFI_VERSION}.tar.gz};
: ${PKG_LIBFFI_CFLAGS_CONFIGURE_EXTRA:=-D_WIN64};
: ${PKG_LIBFFI_PATCHES_EXTRA:="${BUILD_WORKDIR}/chainport/libffi-${PKG_LIBFFI_VERSION}.midipix.patch"};
-: ${PKG_GDBM_SHA256SUM:=9d252cbd7d793f7b12bcceaddda98d257c14f4d1890d851c386c37207000a253};
-: ${PKG_GDBM_VERSION:=1.13};
+: ${PKG_GDBM_SHA256SUM:=cdceff00ffe014495bed3aed71c7910aa88bf29379f795abc0f46d4ee5f8bc5f};
+: ${PKG_GDBM_VERSION:=1.14.1};
: ${PKG_GDBM_URL:=ftp://ftp.gnu.org/gnu/gdbm/gdbm-${PKG_GDBM_VERSION}.tar.gz};
: ${PKG_GEOIP_URLS_GIT:="geoip-api-c=https://github.com/maxmind/geoip-api-c@master"};
-: ${PKG_PCRE_SHA256SUM:=244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c};
-: ${PKG_PCRE_VERSION:=8.41};
+: ${PKG_PCRE_SHA256SUM:=69acbc2fbdefb955d42a4c606dfde800c2885711d2979e356c0636efde9ec3b5};
+: ${PKG_PCRE_VERSION:=8.42};
: ${PKG_PCRE_URL:=ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PKG_PCRE_VERSION}.tar.gz};
: ${PKG_GLIB_SHA256SUM:=fe22998ff0394ec31e6e5511c379b74011bee61a4421bca7fcab223dfbe0fc6a};
: ${PKG_GLIB_VERSION:=2.54.0};
@@ -434,10 +434,9 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_GZIP_CONFIGURE_ARGS:=--host=${DEFAULT_TARGET} --prefix= --target=${DEFAULT_TARGET}};
: ${PKG_GZIP_MAKEFLAGS_BUILD_EXTRA:=OBJA= prefix=};
: ${PKG_GZIP_MAKEFLAGS_INSTALL_EXTRA:="OBJA="};
-: ${PKG_LIBARCHIVE_SHA256SUM:=691c194ee132d1f0f7a42541f091db811bc2e56f7107e9121be2bc8c04f1060f};
-: ${PKG_LIBARCHIVE_VERSION:=3.2.2};
+: ${PKG_LIBARCHIVE_SHA256SUM:=ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce};
+: ${PKG_LIBARCHIVE_VERSION:=3.3.2};
: ${PKG_LIBARCHIVE_URL:=http://www.libarchive.org/downloads/libarchive-${PKG_LIBARCHIVE_VERSION}.tar.gz};
-: ${PKG_LIBARCHIVE_CONFIGURE_ARGS_EXTRA:=--without-xml2};
: ${PKG_LIBARCHIVE_LDFLAGS_CONFIGURE_EXTRA:=-L${PREFIX_NATIVE}/lib};
: ${PKG_LIBATOMIC_OPS_URLS_GIT:="libatomic_ops=https://github.com/ivmai/libatomic_ops@master"};
: ${PKG_MUSL_COMPAT_URLS_GIT:=musl_compat=https://github.com/Redfoxmoon3/musl-compat.git@master};
@@ -471,18 +470,19 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_LIBGPG_ERROR_SHA256SUM:=f628f75843433b38b05af248121beb7db5bd54bb2106f384edac39934261320c};
: ${PKG_LIBGPG_ERROR_VERSION:=1.25};
: ${PKG_LIBGPG_ERROR_URL:=https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${PKG_LIBGPG_ERROR_VERSION}.tar.bz2};
-: ${PKG_LIBASSUAN_SHA256SUM:=22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71};
-: ${PKG_LIBASSUAN_VERSION:=2.4.3};
+: ${PKG_LIBASSUAN_SHA256SUM:=47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449};
+: ${PKG_LIBASSUAN_VERSION:=2.5.1};
: ${PKG_LIBASSUAN_URL:=https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-${PKG_LIBASSUAN_VERSION}.tar.bz2};
+: ${PKG_LIBASSUAN_CONFIGURE_ARGS_EXTRA:=--with-libgpg-error-prefix=${PREFIX_NATIVE}};
: ${PKG_LIBFIRM_URLS_GIT:="libfirm=http://pp.info.uni-karlsruhe.de/git/libfirm.git@master bfirm=${DEFAULT_GITROOT}/compilers/bfirm@main"};
: ${PKG_LIBFIRM_BASE_DIR:=${BUILD_WORKDIR}/cparser+libfirm-build};
: ${PKG_LIBFIRM_BUILD_DIR:=build/libfirm};
: ${PKG_LIBFIRM_CONFIGURE:=bfirm/configure};
: ${PKG_LIBFIRM_CONFIGURE_ARGS:="--source-dir=../../libfirm --prefix="};
-: ${PKG_LIBGCRYPT_SHA256SUM:=3b67862e2f4711e25c4ce3cc4b48d52a58a3afdcd1d8c6a57f93a1c0ef03e5c6};
-: ${PKG_LIBGCRYPT_VERSION:=1.7.4};
+: ${PKG_LIBGCRYPT_SHA256SUM:=c8064cae7558144b13ef0eb87093412380efa16c4ee30ad12ecb54886a524c07};
+: ${PKG_LIBGCRYPT_VERSION:=1.8.2};
: ${PKG_LIBGCRYPT_URL:=https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-${PKG_LIBGCRYPT_VERSION}.tar.bz2};
-: ${PKG_LIBGCRYPT_CONFIGURE_ARGS_EXTRA:=--disable-asm --disable-padlock-support --disable-aesni-support --disable-pclmul-support --disable-sse41-support --disable-drng-support --disable-avx-support --disable-avx2-support gcry_cv_gcc_inline_asm_avx2=no gcry_cv_gcc_inline_asm_avx=no gcry_cv_gcc_inline_asm_bmi2=no gcry_cv_gcc_inline_asm_pclmul=no gcry_cv_gcc_inline_asm_sse41=no gcry_cv_gcc_inline_asm_ssse3=no --disable-amd64-as-feature-detection};
+: ${PKG_LIBGCRYPT_CONFIGURE_ARGS_EXTRA:=--with-libgpg-error-prefix=${PREFIX_NATIVE} --disable-asm --disable-padlock-support --disable-aesni-support --disable-pclmul-support --disable-sse41-support --disable-drng-support --disable-avx-support --disable-avx2-support --disable-amd64-as-feature-detection};
: ${PKG_LIBKSBA_SHA256SUM:=41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340};
: ${PKG_LIBKSBA_VERSION:=1.3.5};
: ${PKG_LIBKSBA_URL:=https://www.gnupg.org/ftp/gcrypt/libksba/libksba-${PKG_LIBKSBA_VERSION}.tar.bz2};
@@ -518,8 +518,8 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_LIBREADLINE_VERSION:=7.0};
: ${PKG_LIBREADLINE_URL:=ftp://ftp.gnu.org/gnu/readline/readline-${PKG_LIBREADLINE_VERSION}.tar.gz};
: ${PKG_LIBREADLINE_CONFIGURE_ARGS_EXTRA:="--with-curses --disable-static"};
-: ${PKG_NPTH_SHA256SUM:=bca81940436aed0734eb8d0ff8b179e04cc8c087f5625204419f5f45d736a82a};
-: ${PKG_NPTH_VERSION:=1.3};
+: ${PKG_NPTH_SHA256SUM:=294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2};
+: ${PKG_NPTH_VERSION:=1.5};
: ${PKG_NPTH_URL:=https://www.gnupg.org/ftp/gcrypt/npth/npth-${PKG_NPTH_VERSION}.tar.bz2};
: ${PKG_POPT_SHA256SUM:=e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8};
: ${PKG_POPT_VERSION:=1.16};
@@ -563,8 +563,11 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_W32API_MAKEFLAGS_BUILD:="DESTDIR=${PREFIX_NATIVE}"};
: ${PKG_W32LIB_URLS_GIT:="w32lib=git://git.midipix.org/w32lib"};
: ${PKG_W32LIB_CONFIGURE_ARGS:="--host=${DEFAULT_TARGET} --prefix= --target=${DEFAULT_TARGET}"};
-: ${PKG_CMAKE_SHA256SUM:=7d73ee4fae572eb2d7cd3feb48971aea903bb30a20ea5ae8b4da826d8ccad5fe};
-: ${PKG_CMAKE_VERSION:=3.6.3};
+: ${PKG_LIBUV_SHA256SUM:=7cbcf2017e7116cf9da8ec1c6a146d578536b1e479458438873c991f984a53d7};
+: ${PKG_LIBUV_VERSION:=1.19.2};
+: ${PKG_LIBUV_URL:=https://dist.libuv.org/dist/v${PKG_LIBUV_VERSION}/libuv-v${PKG_LIBUV_VERSION}.tar.gz};
+: ${PKG_CMAKE_SHA256SUM:=dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0};
+: ${PKG_CMAKE_VERSION:=3.7.2};
: ${PKG_CMAKE_URL:=https://cmake.org/files/v${PKG_CMAKE_VERSION%.*}/cmake-${PKG_CMAKE_VERSION}.tar.gz};
: ${PKG_CMAKE_CFLAGS_CONFIGURE_EXTRA:="-g0 -O2"};
: ${PKG_CMAKE_CONFIGURE_ARGS:="--parallel=${DEFAULT_BUILD_CPUS} --prefix="};
@@ -572,8 +575,8 @@ NATIVE_PACKAGES_DEPS_PYTHON="${PREFIX}/bin/python";
: ${PKG_QRENCODE_VERSION:=3.4.4};
: ${PKG_QRENCODE_URL:=https://fukuchi.org/works/qrencode/qrencode-${PKG_QRENCODE_VERSION}.tar.bz2};
: ${PKG_QRENCODE_CONFIGURE_ARGS_EXTRA:=--disable-sdltest};
-: ${PKG_UTIL_LINUX_SHA256SUM:=d5950e4b2839d00aa3781f439bfada8091bc6ed8180d8262c53b4e4304e2d299};
-: ${PKG_UTIL_LINUX_VERSION:=2.31};
+: ${PKG_UTIL_LINUX_SHA256SUM:=ce43afee3182f1bddb0be83f68bd378770efb9b6fdd8f464333ff8e07903db56};
+: ${PKG_UTIL_LINUX_VERSION:=2.32};
: ${PKG_UTIL_LINUX_URL:=https://www.kernel.org/pub/linux/utils/util-linux/v${PKG_UTIL_LINUX_VERSION}/util-linux-${PKG_UTIL_LINUX_VERSION}.tar.gz};
: ${PKG_UTIL_LINUX_CONFIGURE_ARGS_EXTRA:=--disable-agetty --disable-lslogins --disable-wall --disable-write};
diff --git a/vars/cmake.vars b/vars/cmake.vars
index 7fb8f0dd..ae269b2b 100644
--- a/vars/cmake.vars
+++ b/vars/cmake.vars
@@ -19,6 +19,7 @@ pkg_cmake_configure() {
-DCMAKE_USE_SYSTEM_BZIP2=ON \
-DCMAKE_USE_SYSTEM_CURL=ON \
-DCMAKE_USE_SYSTEM_EXPAT=OFF \
+ -DCMAKE_USE_SYSTEM_LIBUV=ON \
-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON \
-DCMAKE_USE_SYSTEM_ZLIB=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
@@ -26,6 +27,8 @@ pkg_cmake_configure() {
-DCURL_LIBRARY="${PKG_PREFIX}/lib/libcurl.lib.a" \
-DCURSES_NCURSES_LIBRARY="${PKG_PREFIX}/lib/libncurses.lib.a" \
-DKWSYS_LFS_WORKS=YES \
+ -DLibUV_INCLUDE_DIR="${PKG_PREFIX}/include" \
+ -DLibUV_LIBRARY="${PKG_PREFIX}/lib/libuv.1.0.0.lib.a" \
-DLibArchive_INCLUDE_DIR="${PKG_PREFIX}/include" \
-DLibArchive_LIBRARY="${PKG_PREFIX}/lib/libarchive.lib.a" \
-DLIBLZMA_HAS_AUTO_DECODER=YES \