aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorsdcb <sdflysha@qq.com>2017-01-14 10:55:19 +0800
committersdcb <sdflysha@qq.com>2017-01-14 10:55:19 +0800
commitbeec44ae8d09b31a6c137bd580bd05111adc3077 (patch)
treee444c555f550471800becec72001ce4428b95a89 /ports
parentc104c8966f7bf2fa6576d25cc3631894008c94e1 (diff)
parent1e4e45ffcee2774a6cbe87527c140fa2107bd29d (diff)
downloadvcpkg-beec44ae8d09b31a6c137bd580bd05111adc3077.tar.gz
vcpkg-beec44ae8d09b31a6c137bd580bd05111adc3077.zip
Merge remote-tracking branch 'refs/remotes/upstream/master'
Diffstat (limited to 'ports')
-rw-r--r--ports/boost/CONTROL2
-rw-r--r--ports/boost/portfile.cmake9
-rw-r--r--ports/curl/0002_fix_uwp.patch109
-rw-r--r--ports/curl/CONTROL2
-rw-r--r--ports/curl/portfile.cmake39
-rw-r--r--ports/directxmesh/CONTROL3
-rw-r--r--ports/directxmesh/portfile.cmake52
-rw-r--r--ports/directxtex/CONTROL3
-rw-r--r--ports/directxtex/portfile.cmake59
-rw-r--r--ports/directxtk/CONTROL2
-rw-r--r--ports/directxtk/portfile.cmake8
-rw-r--r--ports/directxtk12/CONTROL2
-rw-r--r--ports/directxtk12/portfile.cmake8
-rw-r--r--ports/freetype/0003-Fix-UWP.patch63
-rw-r--r--ports/freetype/CONTROL2
-rw-r--r--ports/freetype/portfile.cmake1
-rw-r--r--ports/glew/CONTROL2
-rw-r--r--ports/glew/portfile.cmake10
-rw-r--r--ports/http-parser/CMakeLists.txt10
-rw-r--r--ports/http-parser/CONTROL2
-rw-r--r--ports/libssh2/0001-Fix-UWP.patch48
-rw-r--r--ports/libssh2/CONTROL2
-rw-r--r--ports/libssh2/portfile.cmake4
-rw-r--r--ports/libwebsockets/0001-Fix-UWP.patch91
-rw-r--r--ports/libwebsockets/CONTROL2
-rw-r--r--ports/libwebsockets/portfile.cmake6
-rw-r--r--ports/metis/CONTROL3
-rw-r--r--ports/metis/disable-programs.patch8
-rw-r--r--ports/metis/enable-install.patch15
-rw-r--r--ports/metis/fix-gklib-vs14-math.patch11
-rw-r--r--ports/metis/fix-metis-vs14-math.patch11
-rw-r--r--ports/metis/fix-runtime-install-destination.patch10
-rw-r--r--ports/metis/portfile.cmake47
-rw-r--r--ports/openssl/CONTROL2
-rw-r--r--ports/openssl/setVSvars.bat8
-rw-r--r--ports/sdl2-image/CMakeLists.txt109
-rw-r--r--ports/sdl2-image/CONTROL5
-rw-r--r--ports/sdl2-image/FindWEBP.cmake24
-rw-r--r--ports/sdl2-image/correct-sdl-headers-dir.patch25
-rw-r--r--ports/sdl2-image/portfile.cmake39
-rw-r--r--ports/szip/CONTROL3
-rw-r--r--ports/szip/disable-static-lib-in-shared-build.patch39
-rw-r--r--ports/szip/portfile.cmake48
-rw-r--r--ports/tiff/CONTROL2
-rw-r--r--ports/tiff/fix-uwp.patch25
-rw-r--r--ports/tiff/portfile.cmake1
46 files changed, 928 insertions, 48 deletions
diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL
index 9e2afdf8a..01d6e9858 100644
--- a/ports/boost/CONTROL
+++ b/ports/boost/CONTROL
@@ -1,4 +1,4 @@
Source: boost
-Version: 1.62-9
+Version: 1.62-10
Description: Peer-reviewed portable C++ source libraries
Build-Depends: zlib
diff --git a/ports/boost/portfile.cmake b/ports/boost/portfile.cmake
index 6cc21a091..3fbd06982 100644
--- a/ports/boost/portfile.cmake
+++ b/ports/boost/portfile.cmake
@@ -108,11 +108,10 @@ file(
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp
- "\n#define BOOST_ALL_DYN_LINK\n"
- )
-endif()
+# Disable Boost auto-link.
+file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp
+ "\n#define BOOST_ALL_NO_LIB\n"
+)
file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost RENAME copyright)
message(STATUS "Packaging headers done")
diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch
new file mode 100644
index 000000000..5cd0678cf
--- /dev/null
+++ b/ports/curl/0002_fix_uwp.patch
@@ -0,0 +1,109 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed3f38a..d6480b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1010,7 +1010,9 @@ include(CMake/OtherTests.cmake)
+ add_definitions(-DHAVE_CONFIG_H)
+
+ # For windows, do not allow the compiler to use default target (Vista).
+-if(WIN32)
++if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
++ add_definitions(-D_WIN32_WINNT=0x0A00 -DHAVE_STRUCT_POLLFD -D_WINSOCK_DEPRECATED_NO_WARNINGS)
++elseif(WIN32)
+ add_definitions(-D_WIN32_WINNT=0x0501)
+ endif(WIN32)
+
+diff --git a/lib/curl_gethostname.c b/lib/curl_gethostname.c
+index 2591fd8..cef38ac 100644
+--- a/lib/curl_gethostname.c
++++ b/lib/curl_gethostname.c
+@@ -21,6 +21,7 @@
+ ***************************************************************************/
+
+ #include "curl_setup.h"
++#include "curl/curl.h"
+
+ #include "curl_gethostname.h"
+
+@@ -64,9 +65,10 @@ int Curl_gethostname(char *name, GETHOSTNAME_TYPE_ARG2 namelen) {
+ #ifdef DEBUGBUILD
+
+ /* Override host name when environment variable CURL_GETHOSTNAME is set */
+- const char *force_hostname = getenv("CURL_GETHOSTNAME");
++ char *force_hostname = curl_getenv("CURL_GETHOSTNAME");
+ if(force_hostname) {
+ strncpy(name, force_hostname, namelen);
++ free(force_hostname);
+ err = 0;
+ }
+ else {
+diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
+index 812a073..02c8416 100644
+--- a/lib/curl_ntlm_core.c
++++ b/lib/curl_ntlm_core.c
+@@ -696,9 +696,12 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash,
+
+ /* Calculate the timestamp */
+ #ifdef DEBUGBUILD
+- char *force_timestamp = getenv("CURL_FORCETIME");
+- if(force_timestamp)
++ char *force_timestamp = curl_getenv("CURL_FORCETIME");
++ if (force_timestamp)
++ {
+ tw = CURL_OFF_T_C(11644473600) * 10000000;
++ free(force_timestamp);
++ }
+ else
+ #endif
+ tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000;
+diff --git a/lib/ftp.c b/lib/ftp.c
+index b231731..d50779f 100644
+--- a/lib/ftp.c
++++ b/lib/ftp.c
+@@ -3250,7 +3250,7 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
+ ssize_t nread;
+ int ftpcode;
+ CURLcode result = CURLE_OK;
+- char *path;
++ char *path = NULL;
+ const char *path_to_use = data->state.path;
+
+ if(!ftp)
+diff --git a/lib/smb.c b/lib/smb.c
+index 7cb0c96..2f43d3c 100644
+--- a/lib/smb.c
++++ b/lib/smb.c
+@@ -32,8 +32,12 @@
+
+ #ifdef HAVE_PROCESS_H
+ #include <process.h>
++#if defined(CURL_WINDOWS_APP)
++#define getpid GetCurrentProcessId
++#else
+ #define getpid _getpid
+ #endif
++#endif
+
+ #include "smb.h"
+ #include "urldata.h"
+diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
+index 56a8823..5a895ed 100644
+--- a/lib/vtls/vtls.c
++++ b/lib/vtls/vtls.c
+@@ -197,7 +197,7 @@ unsigned int Curl_rand(struct Curl_easy *data)
+ static bool seeded = FALSE;
+
+ #ifdef CURLDEBUG
+- char *force_entropy = getenv("CURL_ENTROPY");
++ char *force_entropy = curl_getenv("CURL_ENTROPY");
+ if(force_entropy) {
+ if(!seeded) {
+ size_t elen = strlen(force_entropy);
+@@ -208,6 +208,7 @@ unsigned int Curl_rand(struct Curl_easy *data)
+ }
+ else
+ randseed++;
++ free(force_entropy);
+ return randseed;
+ }
+ #endif
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL
index e18ea2f67..9ae7e7e52 100644
--- a/ports/curl/CONTROL
+++ b/ports/curl/CONTROL
@@ -1,4 +1,4 @@
Source: curl
-Version: 7.51.0-2
+Version: 7.51.0-3
Build-Depends: zlib, openssl, libssh2
Description: A library for transferring data with URLs
diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake
index 01c76718b..35bfbd592 100644
--- a/ports/curl/portfile.cmake
+++ b/ports/curl/portfile.cmake
@@ -11,6 +11,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002_fix_uwp.patch
)
if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
@@ -19,16 +20,34 @@ else()
SET(CURL_STATICLIB ON)
endif()
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -DBUILD_TESTING=OFF
- -DBUILD_CURL_EXE=OFF
- -DENABLE_MANUAL=OFF
- -DCURL_STATICLIB=${CURL_STATICLIB}
- OPTIONS_DEBUG
- -DENABLE_DEBUG=ON
-)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DBUILD_CURL_EXE=OFF
+ -DENABLE_MANUAL=OFF
+ -DUSE_WIN32_LDAP=OFF
+ -DCURL_DISABLE_TELNET=ON
+ -DENABLE_IPV6=OFF
+ -DENABLE_UNIX_SOCKETS=OFF
+ -DCMAKE_USE_OPENSSL=ON
+ -DCURL_STATICLIB=${CURL_STATICLIB}
+ OPTIONS_DEBUG
+ -DENABLE_DEBUG=ON
+ )
+else()
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DBUILD_CURL_EXE=OFF
+ -DENABLE_MANUAL=OFF
+ -DCURL_STATICLIB=${CURL_STATICLIB}
+ OPTIONS_DEBUG
+ -DENABLE_DEBUG=ON
+ )
+endif()
vcpkg_install_cmake()
diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL
new file mode 100644
index 000000000..13401f80d
--- /dev/null
+++ b/ports/directxmesh/CONTROL
@@ -0,0 +1,3 @@
+Source: directxmesh
+Version: oct2016
+Description: DirectXMesh geometry processing library \ No newline at end of file
diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake
new file mode 100644
index 000000000..184784d48
--- /dev/null
+++ b/ports/directxmesh/portfile.cmake
@@ -0,0 +1,52 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXMesh-oct2016)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Microsoft/DirectXMesh/archive/oct2016.tar.gz"
+ FILENAME "DirectXMesh-oct2016.tar.gz"
+ SHA512 8aaf9749766afd23709ce6c6f8d74b008fe9f96789e4d97cb387633dad34b4132ef28dfe028d13c779ea366428d53076a881c0d63c4f0c2c74d552293c8d6bf1
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ SET(BUILD_ARCH "Win32")
+ELSE()
+ SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
+ENDIF()
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2015.sln
+ PLATFORM ${BUILD_ARCH}
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/DirectXMesh/DirectXMesh.h
+ ${SOURCE_PATH}/DirectXMesh/DirectXMesh.inl
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+file(INSTALL
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXMesh.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXMesh.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
+file(INSTALL
+ ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2015/${BUILD_ARCH}/Release/Meshconvert.exe
+ DESTINATION ${TOOL_PATH})
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/directxmesh)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/directxmesh/LICENSE ${CURRENT_PACKAGES_DIR}/share/directxmesh/copyright)
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL
new file mode 100644
index 000000000..b11daa8d4
--- /dev/null
+++ b/ports/directxtex/CONTROL
@@ -0,0 +1,3 @@
+Source: directxtex
+Version: dec2016
+Description: DirectXTex texture processing library \ No newline at end of file
diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake
new file mode 100644
index 000000000..70bb16658
--- /dev/null
+++ b/ports/directxtex/portfile.cmake
@@ -0,0 +1,59 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/directxtex-dec2016)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Microsoft/DirectXTex/archive/dec2016.tar.gz"
+ FILENAME "directxtex-dec2016.tar.gz"
+ SHA512 87797340c40a98a7b11b6eb7da17d0b93bc01ba48deed50e99ce74e0e33387cac2ec18f2f14d0148c2a79f97ca98d6b2a228dad2f16010b6dcf03c0d24a79d20
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ SET(BUILD_ARCH "Win32")
+ELSE()
+ SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
+ENDIF()
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2015.sln
+ PLATFORM ${BUILD_ARCH}
+)
+
+file(INSTALL
+ ${SOURCE_PATH}/DirectXTex/DirectXTex.h
+ ${SOURCE_PATH}/DirectXTex/DirectXTex.inl
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+file(INSTALL
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXTex.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXTex.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+
+set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
+file(MAKE_DIRECTORY ${TOOL_PATH})
+file(INSTALL
+ ${SOURCE_PATH}/Texdiag/Bin/Desktop_2015/${BUILD_ARCH}/Release/texdiag.exe
+ DESTINATION ${TOOL_PATH})
+file(INSTALL
+ ${SOURCE_PATH}/Texconv/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texconv.exe
+ DESTINATION ${TOOL_PATH})
+file(INSTALL
+ ${SOURCE_PATH}/Texassemble/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texassemble.exe
+ DESTINATION ${TOOL_PATH})
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/DirectXTex)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/DirectXTex/LICENSE ${CURRENT_PACKAGES_DIR}/share/DirectXTex/copyright)
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL
index b5e0bcb7d..8a3da81a6 100644
--- a/ports/directxtk/CONTROL
+++ b/ports/directxtk/CONTROL
@@ -1,3 +1,3 @@
Source: directxtk
-Version: oct2016-1
+Version: dec2016
Description: A collection of helper classes for writing DirectX 11.x code in C++.
diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake
index c14b7c6aa..08f8a4537 100644
--- a/ports/directxtk/portfile.cmake
+++ b/ports/directxtk/portfile.cmake
@@ -4,11 +4,11 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK-oct2016)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK-dec2016)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXTK/archive/oct2016.tar.gz"
- FILENAME "oct2016.tar.gz"
- SHA512 b44ee28518ca65d38a3c915881ef79533b48b07d3738b616f1935d7c00a26d5e48b2292cde6acc34e933f85ba2a6362c585c60b2bbc704745d43cef53769a112
+ URLS "https://github.com/Microsoft/DirectXTK/archive/dec2016.tar.gz"
+ FILENAME "DirectXTK-dec2016.tar.gz"
+ SHA512 efb8a98d0872bf1835b274ba88615e88c4a58ab753c5ebef5a407c54d5f9a2197d1521f14651c60ea16c047918db6f54bf2ac58a6eb7330490b9bae619e8dad3
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL
index dd9ca5620..60393a1d9 100644
--- a/ports/directxtk12/CONTROL
+++ b/ports/directxtk12/CONTROL
@@ -1,3 +1,3 @@
Source: directxtk12
-Version: oct2016
+Version: dec2016
Description: A collection of helper classes for writing DirectX 12 code in C++.
diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake
index 19372a3b1..e6f2fb4d8 100644
--- a/ports/directxtk12/portfile.cmake
+++ b/ports/directxtk12/portfile.cmake
@@ -4,11 +4,11 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK12-oct2016)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK12-dec2016)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXTK12/archive/oct2016.tar.gz"
- FILENAME "DirectXTK12-oct2016.tar.gz"
- SHA512 f33af80dc018c1fda117eeef66bd08046b48572806d879651187cbed9d5ceb402b1798ecc0e1089b54ddb879e5355b45f2b67e3be99fbe270c5216a945a9924b
+ URLS "https://github.com/Microsoft/DirectXTK12/archive/dec2016.tar.gz"
+ FILENAME "DirectXTK12-dec2016.tar.gz"
+ SHA512 7c98fbf1d7ef96807a38d396a87dacdc60fdcd7e461210d246cc424789c4c5c5fb1390db958c1bd1f77da8af756a9eae36813e5da6bbb0ea1432ff4004f1d010
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/freetype/0003-Fix-UWP.patch b/ports/freetype/0003-Fix-UWP.patch
new file mode 100644
index 000000000..253f91e6a
--- /dev/null
+++ b/ports/freetype/0003-Fix-UWP.patch
@@ -0,0 +1,63 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 744b2d5..d114b9b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -312,6 +312,9 @@ else ()
+ set(BASE_SRCS ${BASE_SRCS} src/base/ftdebug.c)
+ endif ()
+
++if(MSVC)
++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
++endif()
+
+ if (BUILD_FRAMEWORK)
+ set(BASE_SRCS
+diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
+index 4666d48..382a915 100644
+--- a/include/freetype/freetype.h
++++ b/include/freetype/freetype.h
+@@ -845,6 +845,9 @@ FT_BEGIN_HEADER
+ /*************************************************************************/
+ /*************************************************************************/
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++#define generic GenericFromFreeTypeLibrary
++#endif
+
+ /*************************************************************************/
+ /* */
+@@ -1777,6 +1780,10 @@ FT_BEGIN_HEADER
+
+ } FT_GlyphSlotRec;
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++#undef generic
++#endif
++
+
+ /*************************************************************************/
+ /*************************************************************************/
+diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
+index fa05347..ae2754b 100644
+--- a/src/base/ftobjs.c
++++ b/src/base/ftobjs.c
+@@ -457,6 +457,9 @@
+ return error;
+ }
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++#define generic GenericFromFreeTypeLibrary
++#endif
+
+ /* documentation is in ftobjs.h */
+
+@@ -971,6 +974,9 @@
+ FT_FREE( face );
+ }
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++#undef generic
++#endif
+
+ static void
+ Destroy_Driver( FT_Driver driver )
diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL
index 74f7e4986..866033e3c 100644
--- a/ports/freetype/CONTROL
+++ b/ports/freetype/CONTROL
@@ -1,4 +1,4 @@
Source: freetype
-Version: 2.6.3-3
+Version: 2.6.3-4
Build-Depends: zlib, bzip2, libpng
Description: A library to render fonts. \ No newline at end of file
diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake
index 2e5e30c78..360345f1c 100644
--- a/ports/freetype/portfile.cmake
+++ b/ports/freetype/portfile.cmake
@@ -11,6 +11,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Support-Windows-DLLs-via-CMAKE_WINDOWS_EXPORT_ALL_SY.patch
${CMAKE_CURRENT_LIST_DIR}/0002-Add-CONFIG_INSTALL_PATH-option.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-Fix-UWP.patch
)
vcpkg_configure_cmake(
diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL
index 13eb3262e..21051a475 100644
--- a/ports/glew/CONTROL
+++ b/ports/glew/CONTROL
@@ -1,3 +1,3 @@
Source: glew
-Version: 2.0.0
+Version: 2.0.0-1
Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. \ No newline at end of file
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index e7cf16cf2..c975ca099 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -57,17 +57,15 @@ message(STATUS "Installing")
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(INSTALL
${SOURCE_PATH}/bin/Debug/${BUILD_ARCH}/glew32d.dll
- ${SOURCE_PATH}/bin/Debug/${BUILD_ARCH}/glew32d.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(INSTALL
${SOURCE_PATH}/bin/Release/${BUILD_ARCH}/glew32.dll
- ${SOURCE_PATH}/bin/Release/${BUILD_ARCH}/glew32.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
file(INSTALL
${SOURCE_PATH}/lib/Debug/${BUILD_ARCH}/glew32d.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME glew32.lib
)
file(INSTALL
${SOURCE_PATH}/lib/Release/${BUILD_ARCH}/glew32.lib
@@ -76,13 +74,11 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
else()
file(INSTALL
${SOURCE_PATH}/lib/Debug/${BUILD_ARCH}/glew32sd.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- RENAME glew32d.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME glew32.lib
)
file(INSTALL
${SOURCE_PATH}/lib/Release/${BUILD_ARCH}/glew32s.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- RENAME glew32.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME glew32.lib
)
endif()
diff --git a/ports/http-parser/CMakeLists.txt b/ports/http-parser/CMakeLists.txt
index 6e9067a04..d959fff79 100644
--- a/ports/http-parser/CMakeLists.txt
+++ b/ports/http-parser/CMakeLists.txt
@@ -5,13 +5,17 @@ if (BUILD_SHARED_LIBS)
SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
+if(CMAKE_BUILD_TYPE MATCHES "Release")
+ add_definitions(-DHTTP_PARSER_STRICT=0)
+endif()
+
add_library(http_parser http_parser.c http_parser.h)
install(TARGETS http_parser
- RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
)
if (NOT SKIP_INSTALL_HEADERS)
- install(FILES http_parser.h DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
+ install(FILES http_parser.h DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
endif() \ No newline at end of file
diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL
index 41d234d26..605f3354c 100644
--- a/ports/http-parser/CONTROL
+++ b/ports/http-parser/CONTROL
@@ -1,3 +1,3 @@
Source: http-parser
-Version: 2.7.1
+Version: 2.7.1-1
Description: HTTP Parser. \ No newline at end of file
diff --git a/ports/libssh2/0001-Fix-UWP.patch b/ports/libssh2/0001-Fix-UWP.patch
new file mode 100644
index 000000000..270dd7b90
--- /dev/null
+++ b/ports/libssh2/0001-Fix-UWP.patch
@@ -0,0 +1,48 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 6401acf..64de3e9 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -349,7 +349,7 @@ target_include_directories(libssh2 PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+ # Check for the OS.
+ # Daniel's note: this should not be necessary and we need to work to
+ # get this removed.
+-if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
++if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows" OR ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
+ target_compile_definitions(libssh2 PRIVATE LIBSSH2_WIN32)
+ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ target_compile_definitions(libssh2 PRIVATE LIBSSH2_DARWIN)
+diff --git a/src/agent.c b/src/agent.c
+index c2ba422..f1799f8 100644
+--- a/src/agent.c
++++ b/src/agent.c
+@@ -51,6 +51,10 @@
+ #include "userauth.h"
+ #include "session.h"
+
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++#define IS_UWP 1
++#endif /* #if defined(WINAPI_FAMILY) */
++
+ /* Requests from client to agent for protocol 1 key operations */
+ #define SSH_AGENTC_REQUEST_RSA_IDENTITIES 1
+ #define SSH_AGENTC_RSA_CHALLENGE 3
+@@ -254,7 +258,7 @@ struct agent_ops agent_ops_unix = {
+ };
+ #endif /* PF_UNIX */
+
+-#ifdef WIN32
++#if defined(WIN32) && !defined(IS_UWP)
+ /* Code to talk to Pageant was taken from PuTTY.
+ *
+ * Portions copyright Robert de Bath, Joris van Rantwijk, Delian
+@@ -362,8 +366,8 @@ static struct {
+ const char *name;
+ struct agent_ops *ops;
+ } supported_backends[] = {
+-#ifdef WIN32
+- {"Pageant", &agent_ops_pageant},
++#if defined(WIN32) && !defined(IS_UWP)
++ {"Pageant", &agent_ops_pageant},
+ #endif /* WIN32 */
+ #ifdef PF_UNIX
+ {"Unix", &agent_ops_unix},
diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL
index d66030b71..715ffa0bd 100644
--- a/ports/libssh2/CONTROL
+++ b/ports/libssh2/CONTROL
@@ -1,4 +1,4 @@
Source: libssh2
-Version: 1.8.0
+Version: 1.8.0-1
Build-Depends: zlib, openssl
Description: The SSH library \ No newline at end of file
diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake
index 9b4cc77dd..2e3ee5009 100644
--- a/ports/libssh2/portfile.cmake
+++ b/ports/libssh2/portfile.cmake
@@ -7,6 +7,10 @@ vcpkg_download_distfile(ARCHIVE_FILE
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
diff --git a/ports/libwebsockets/0001-Fix-UWP.patch b/ports/libwebsockets/0001-Fix-UWP.patch
new file mode 100644
index 000000000..8996c4e0e
--- /dev/null
+++ b/ports/libwebsockets/0001-Fix-UWP.patch
@@ -0,0 +1,91 @@
+diff --git a/lib/lws-plat-win.c b/lib/lws-plat-win.c
+index dd3e95a..eb1690a 100644
+--- a/lib/lws-plat-win.c
++++ b/lib/lws-plat-win.c
+@@ -155,7 +155,7 @@ lws_plat_service_tsi(struct lws_context *context, int timeout_ms, int tsi)
+ {
+ struct lws_context_per_thread *pt = &context->pt[tsi];
+ WSANETWORKEVENTS networkevents;
+- struct lws_pollfd *pfd;
++ struct lws_pollfd *pfd = NULL;
+ struct lws *wsi;
+ unsigned int i;
+ DWORD ev;
+@@ -493,6 +493,7 @@ lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt)
+ return ok ? dst : NULL;
+ }
+
++#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
+ static lws_filefd_type
+ _lws_plat_file_open(struct lws *wsi, const char *filename,
+ unsigned long *filelen, int flags)
+@@ -516,6 +517,35 @@ _lws_plat_file_open(struct lws *wsi, const char *filename,
+
+ return ret;
+ }
++#else
++static lws_filefd_type
++_lws_plat_file_open(struct lws *wsi, const char *filename,
++ unsigned long *filelen, int flags)
++{
++ HANDLE ret;
++ WCHAR buf[MAX_PATH];
++
++ (void)wsi;
++ MultiByteToWideChar(CP_UTF8, 0, filename, -1, buf, ARRAY_SIZE(buf));
++ if ((flags & 7) == _O_RDONLY) {
++ ret = CreateFile2(buf, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, NULL);
++ }
++ else {
++ lwsl_err("%s: open for write not implemented\n", __func__);
++ *filelen = 0;
++ return LWS_INVALID_FILE;
++ }
++
++ if (ret != LWS_INVALID_FILE)
++ {
++ struct stat info;
++ int result = stat(filename, &info);
++ *filelen = result != 0 ? -1 : (long)(info.st_size);
++ }
++
++ return ret;
++}
++#endif
+
+ static int
+ _lws_plat_file_close(struct lws *wsi, lws_filefd_type fd)
+diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h
+index 23f8f4d..bc32aef 100644
+--- a/lib/private-libwebsockets.h
++++ b/lib/private-libwebsockets.h
+@@ -48,12 +48,25 @@
+ #endif
+
+ #if defined(WIN32) || defined(_WIN32)
++
++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
++ #ifndef WINVER
++ #define WINVER 0x0602
++ #define _WIN32_WINNT WINVER
++ #endif
++
++ #define getenv(x) NULL
++ #define _WINSOCK_DEPRECATED_NO_WARNINGS
++#else
++
+ #if (WINVER < 0x0501)
+-#undef WINVER
+-#undef _WIN32_WINNT
+-#define WINVER 0x0501
+-#define _WIN32_WINNT WINVER
++ #undef WINVER
++ #undef _WIN32_WINNT
++ #define WINVER 0x0501
++ #define _WIN32_WINNT WINVER
++ #endif
+ #endif
++
+ #define LWS_NO_DAEMONIZE
+ #define LWS_ERRNO WSAGetLastError()
+ #define LWS_EAGAIN WSAEWOULDBLOCK
diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL
index 866c0ccbc..61a9cc449 100644
--- a/ports/libwebsockets/CONTROL
+++ b/ports/libwebsockets/CONTROL
@@ -1,4 +1,4 @@
Source: libwebsockets
-Version: 2.0.0
+Version: 2.0.0-1
Build-Depends: zlib, openssl
Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. \ No newline at end of file
diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake
index 27088bf87..43502a52a 100644
--- a/ports/libwebsockets/portfile.cmake
+++ b/ports/libwebsockets/portfile.cmake
@@ -11,6 +11,12 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
diff --git a/ports/metis/CONTROL b/ports/metis/CONTROL
new file mode 100644
index 000000000..cc604ce8f
--- /dev/null
+++ b/ports/metis/CONTROL
@@ -0,0 +1,3 @@
+Source: metis
+Version: 5.1.0
+Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering
diff --git a/ports/metis/disable-programs.patch b/ports/metis/disable-programs.patch
new file mode 100644
index 000000000..0c23be553
--- /dev/null
+++ b/ports/metis/disable-programs.patch
@@ -0,0 +1,8 @@
+--- a/CMakeLists.txt Wed Dec 21 18:24:22 2016
++++ b/CMakeLists.txt Wed Dec 21 18:24:26 2016
+@@ -20,4 +20,4 @@
+ # Recursively look for CMakeLists.txt in subdirs.
+ add_subdirectory("include")
+ add_subdirectory("libmetis")
+-add_subdirectory("programs")
++# add_subdirectory("programs")
diff --git a/ports/metis/enable-install.patch b/ports/metis/enable-install.patch
new file mode 100644
index 000000000..9f36623ad
--- /dev/null
+++ b/ports/metis/enable-install.patch
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt Sat Mar 30 17:24:45 2013
++++ b/CMakeLists.txt Wed Dec 21 18:23:43 2016
+@@ -4,11 +4,7 @@
+ set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib")
+ set(SHARED FALSE CACHE BOOL "build a shared library")
+
+-if(MSVC)
+- set(METIS_INSTALL FALSE)
+-else()
+- set(METIS_INSTALL TRUE)
+-endif()
++set(METIS_INSTALL TRUE)
+
+ # Configure libmetis library.
+ if(SHARED)
diff --git a/ports/metis/fix-gklib-vs14-math.patch b/ports/metis/fix-gklib-vs14-math.patch
new file mode 100644
index 000000000..e83a68230
--- /dev/null
+++ b/ports/metis/fix-gklib-vs14-math.patch
@@ -0,0 +1,11 @@
+--- a/GKlib/gk_arch.h Wed Dec 21 18:34:18 2016
++++ b/GKlib/gk_arch.h Wed Dec 21 18:30:49 2016
+@@ -58,7 +58,7 @@
+ #define PTRDIFF_MAX INT64_MAX
+ #endif
+
+-#ifdef __MSC__
++#if defined(__MSC__) && (_MSC_VER < 1900)
+ /* MSC does not have rint() function */
+ #define rint(x) ((int)((x)+0.5))
+
diff --git a/ports/metis/fix-metis-vs14-math.patch b/ports/metis/fix-metis-vs14-math.patch
new file mode 100644
index 000000000..a296213e8
--- /dev/null
+++ b/ports/metis/fix-metis-vs14-math.patch
@@ -0,0 +1,11 @@
+--- a/libmetis/metislib.h Sat Mar 30 17:24:45 2013
++++ b/libmetis/metislib.h Wed Dec 21 18:30:59 2016
+@@ -31,7 +31,7 @@
+ #include <proto.h>
+
+
+-#if defined(COMPILER_MSC)
++#if defined(COMPILER_MSC) && (_MSC_VER < 1900)
+ #if defined(rint)
+ #undef rint
+ #endif
diff --git a/ports/metis/fix-runtime-install-destination.patch b/ports/metis/fix-runtime-install-destination.patch
new file mode 100644
index 000000000..8d9147e5f
--- /dev/null
+++ b/ports/metis/fix-runtime-install-destination.patch
@@ -0,0 +1,10 @@
+--- a/libmetis/CMakeLists.txt Sat Mar 30 17:24:45 2013
++++ b/libmetis/CMakeLists.txt Wed Dec 21 17:41:37 2016
+@@ -11,6 +11,6 @@
+ if(METIS_INSTALL)
+ install(TARGETS metis
+ LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
++ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib)
+ endif()
diff --git a/ports/metis/portfile.cmake b/ports/metis/portfile.cmake
new file mode 100644
index 000000000..c53adde4e
--- /dev/null
+++ b/ports/metis/portfile.cmake
@@ -0,0 +1,47 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/metis-5.1.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
+ FILENAME "metis-5.1.0.tar.gz"
+ SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/enable-install.patch
+ ${CMAKE_CURRENT_LIST_DIR}/disable-programs.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-runtime-install-destination.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-metis-vs14-math.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-gklib-vs14-math.patch
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(OPTIONS -DSHARED=ON -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON)
+else()
+ set(OPTIONS -DSHARED=OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ ${OPTIONS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/metis)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/metis/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/metis/copyright)
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL
index cb7bc7493..ca4aae2e6 100644
--- a/ports/openssl/CONTROL
+++ b/ports/openssl/CONTROL
@@ -1,3 +1,3 @@
Source: openssl
-Version: 1.0.2j-1
+Version: 1.0.2j-2
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. \ No newline at end of file
diff --git a/ports/openssl/setVSvars.bat b/ports/openssl/setVSvars.bat
index 23259821e..e6ebc0a7d 100644
--- a/ports/openssl/setVSvars.bat
+++ b/ports/openssl/setVSvars.bat
@@ -3,7 +3,7 @@ call:set_%1
exit /b
:set_universal10.0Win32
call:setVar _VS14VC VisualStudio14VC
- call "%_VS14VC%vcvarsall" x86
+ call "%_VS14VC%vcvarsall" x86 store
set _VCPlatform=x86
set _VCLibPlat=
call:setEnv
@@ -11,7 +11,7 @@ exit /b
:set_universal10.0x64
call:setVar _VS14VC VisualStudio14VC
- call "%_VS14VC%vcvarsall" x64
+ call "%_VS14VC%vcvarsall" x64 store
set _VCPlatform=x64
set _VCLibPlat=amd64
call:setEnv
@@ -19,7 +19,7 @@ exit /b
:set_universal10.0arm
call:setVar _VS14VC VisualStudio14VC
- call "%_VS14VC%vcvarsall" x86_arm
+ call "%_VS14VC%vcvarsall" x86_arm store
set _VCPlatform=ARM
set _VCLibPlat=ARM
call:setEnv
@@ -27,7 +27,7 @@ exit /b
:set_universal10.0arm64
call:setVar _VS14VC VisualStudio14VC
- call "%_VS14VC%vcvarsall" x86_arm64
+ call "%_VS14VC%vcvarsall" x86_arm64 store
set _VCPlatform=ARM64
set _VCLibPlat=ARM64
call:setEnv
diff --git a/ports/sdl2-image/CMakeLists.txt b/ports/sdl2-image/CMakeLists.txt
new file mode 100644
index 000000000..e742a408d
--- /dev/null
+++ b/ports/sdl2-image/CMakeLists.txt
@@ -0,0 +1,109 @@
+cmake_minimum_required(VERSION 2.6)
+project(SDL2_image)
+
+### configuration ###
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+# enable all file formats which are supported natively
+set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV)
+
+# enable all file formats which are supported through external dependencies
+# first try to load them statically (lib file in vcpkg installation)
+# if this fails try to make them a dynamic dependency (dll will be loaded at runtime) if possible. vcpkg cannot resolve these dependencies!
+# else do not support this file format at all
+set(DEPENDENCIES PNG JPEG TIFF WEBP)
+
+# patch library names for preprocessor flags
+set(JPEG_FLAG JPG)
+set(TIFF_FLAG TIF)
+
+# names of potentially dynamically loaded libraries
+set(JPEG_DYNAMIC \"libjpeg-9.dll\")
+set(PNG_DYNAMIC \"libpng16-16.dll\")
+set(TIFF_DYNAMIC \"libtiff-5.dll\")
+set(WEBP_DYNAMIC \"libwebp-4.dll\")
+
+### implementation ###
+
+add_library(SDL2_image
+ IMG.c
+ IMG_bmp.c
+ IMG_gif.c
+ IMG_jpg.c
+ IMG_lbm.c
+ IMG_pcx.c
+ IMG_png.c
+ IMG_pnm.c
+ IMG_tga.c
+ IMG_tif.c
+ IMG_webp.c
+ IMG_xcf.c
+ IMG_xpm.c
+ IMG_xv.c
+ IMG_xxx.c
+ )
+
+foreach(FORMAT ${SUPPORTED_FORMATS})
+ add_definitions(-DLOAD_${FORMAT})
+endforeach(FORMAT)
+
+# SDL
+find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
+find_library(SDL_LIBRARY SDL2)
+
+include_directories(${SDL_INCLUDE_DIR})
+include_directories(${SDL_INCLUDE_DIR}/SDL2)
+include_directories(${CMAKE_SOURCE_DIR})
+
+target_link_libraries(SDL2_image ${SDL_LIBRARY})
+
+# external dependencies
+foreach(DEPENDENCY ${DEPENDENCIES})
+ find_package(${DEPENDENCY})
+
+ if(NOT DEFINED ${DEPENDENCY}_FLAG)
+ set(${DEPENDENCY}_FLAG ${DEPENDENCY})
+ endif()
+
+ add_definitions(-DLOAD_${${DEPENDENCY}_FLAG})
+ if(${DEPENDENCY}_FOUND)
+ message(STATUS " --> linking statically.")
+ target_link_libraries(SDL2_image ${${DEPENDENCY}_LIBRARIES})
+ elseif(DEFINED ${DEPENDENCY}_DYNAMIC)
+ message(STATUS " --> linking dynamically.")
+ add_definitions(-DLOAD_${${DEPENDENCY}_FLAG}_DYNAMIC=${${DEPENDENCY}_DYNAMIC})
+ set(RUNTIME_DEPENDENCIES ON)
+ else()
+ message(STATUS " --> skipping.")
+ endif()
+endforeach(DEPENDENCY)
+
+if(DEFINED RUNTIME_DEPENDENCIES)
+ include_directories(VisualC/external/include)
+endif()
+
+
+install(TARGETS SDL2_image
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+
+install(FILES SDL_image.h DESTINATION include/SDL2 CONFIGURATIONS Release)
+
+
+message(STATUS "Link-time dependencies:")
+message(STATUS " " ${SDL_LIBRARY})
+foreach(DEPENDENCY ${DEPENDENCIES})
+ if(${DEPENDENCY}_FOUND)
+ message(STATUS " " ${DEPENDENCY})
+ endif()
+endforeach(DEPENDENCY)
+
+if(DEFINED RUNTIME_DEPENDENCIES)
+ message(STATUS "Run-time dependencies:")
+ foreach(DEPENDENCY ${DEPENDENCIES})
+ if(NOT ${DEPENDENCY}_FOUND AND DEFINED ${DEPENDENCY}_DYNAMIC)
+ message(STATUS " " ${${DEPENDENCY}_DYNAMIC})
+ endif()
+ endforeach(DEPENDENCY)
+endif() \ No newline at end of file
diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL
new file mode 100644
index 000000000..04c9f77bb
--- /dev/null
+++ b/ports/sdl2-image/CONTROL
@@ -0,0 +1,5 @@
+Source: sdl2-image
+Version: 2.0.1
+Build-Depends: sdl2, libpng, libjpeg-turbo, tiff, libwebp
+Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV
+
diff --git a/ports/sdl2-image/FindWEBP.cmake b/ports/sdl2-image/FindWEBP.cmake
new file mode 100644
index 000000000..fb3f9caa1
--- /dev/null
+++ b/ports/sdl2-image/FindWEBP.cmake
@@ -0,0 +1,24 @@
+# - Find WEBP
+# Find the WEBP library
+# This module defines
+# WEBP_INCLUDE_DIRS, where to find webp/decode.h
+# WEBP_LIBRARIES, the libraries needed to use WEBP
+#
+
+find_path(WEBP_INCLUDE_DIRS
+ NAMES webp/decode.h
+)
+mark_as_advanced(WEBP_INCLUDE_DIRS)
+
+find_library(
+ WEBP_LIBRARIES
+ NAMES webp
+)
+
+find_library(WEBP_LIBRARY_RELEASE NAMES webp PATH_SUFFIXES lib)
+find_library(WEBP_LIBRARY_DEBUG NAMES webpd PATH_SUFFIXES lib)
+include(SelectLibraryConfigurations)
+select_library_configurations(WEBP)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(WEBP DEFAULT_MSG WEBP_INCLUDE_DIRS WEBP_LIBRARIES) \ No newline at end of file
diff --git a/ports/sdl2-image/correct-sdl-headers-dir.patch b/ports/sdl2-image/correct-sdl-headers-dir.patch
new file mode 100644
index 000000000..4addc155d
--- /dev/null
+++ b/ports/sdl2-image/correct-sdl-headers-dir.patch
@@ -0,0 +1,25 @@
+diff --git "a/SDL_image.h" "b/SDL_image.h"
+index f654483..1bd4f62 100644
+--- "a/SDL_image.h"
++++ "b/SDL_image.h"
+@@ -24,9 +24,9 @@
+ #ifndef _SDL_IMAGE_H
+ #define _SDL_IMAGE_H
+
+-#include "SDL.h"
+-#include "SDL_version.h"
+-#include "begin_code.h"
++#include <SDL2/SDL.h>
++#include <SDL2/SDL_version.h>
++#include <SDL2/begin_code.h>
+
+ /* Set up for C function definitions, even when using C++ */
+ #ifdef __cplusplus
+@@ -140,6 +140,6 @@ extern DECLSPEC int SDLCALL IMG_SavePNG_RW(SDL_Surface *surface, SDL_RWops *dst,
+ #ifdef __cplusplus
+ }
+ #endif
+-#include "close_code.h"
++#include <SDL2/close_code.h>
+
+ #endif /* _SDL_IMAGE_H */
diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake
new file mode 100644
index 000000000..4cc6ce74a
--- /dev/null
+++ b/ports/sdl2-image/portfile.cmake
@@ -0,0 +1,39 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_image-2.0.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.zip"
+ FILENAME "SDL2_image-2.0.1.zip"
+ SHA512 37d12f4fae71c586bec73262bddb9207ab2f9a2ca6001d2cbfde646e268a950ba5cd4cff53d75e2da8959ae6da6e9cadc6eca88fa7bd9aa2758395d64c84a307
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/correct-sdl-headers-dir.patch)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindWEBP.cmake DESTINATION ${SOURCE_PATH}/cmake)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ # OPTIONS
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-image)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-image/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-image/copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL
new file mode 100644
index 000000000..cabcb582b
--- /dev/null
+++ b/ports/szip/CONTROL
@@ -0,0 +1,3 @@
+Source: szip
+Version: 2.1
+Description: Szip compression software, providing lossless compression of scientific data
diff --git a/ports/szip/disable-static-lib-in-shared-build.patch b/ports/szip/disable-static-lib-in-shared-build.patch
new file mode 100644
index 000000000..f06e6dcf6
--- /dev/null
+++ b/ports/szip/disable-static-lib-in-shared-build.patch
@@ -0,0 +1,39 @@
+--- a/src/CMakeLists.txt Mon Aug 03 17:10:33 2015
++++ b/src/CMakeLists.txt Fri Jan 13 09:38:07 2017
+@@ -22,20 +22,22 @@
+ ${SZIP_SRC_SOURCE_DIR}/szlib.h
+ )
+
+-add_library (${SZIP_LIB_TARGET} STATIC ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
+-#set_target_properties (${SZIP_LIB_TARGET}
+-# PROPERTIES
+-# LINK_FLAGS "-version-info 2:0:0"
+-#)
+-TARGET_C_PROPERTIES (${SZIP_LIB_TARGET} STATIC " " " ")
+-target_link_libraries (${SZIP_LIB_TARGET} ${LINK_LIBS})
+-set_target_properties(${SZIP_LIB_TARGET} PROPERTIES
+- PUBLIC_HEADER "${SZIP_PUBLIC_HEADERS}"
+- INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+-)
+-set_global_variable (SZIP_LIBRARIES_TO_EXPORT ${SZIP_LIB_TARGET})
+-SZIP_SET_LIB_OPTIONS (${SZIP_LIB_TARGET} ${SZIP_LIB_NAME} STATIC)
+-set (install_targets ${SZIP_LIB_TARGET})
++if (NOT BUILD_SHARED_LIBS)
++ add_library (${SZIP_LIB_TARGET} STATIC ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
++ #set_target_properties (${SZIP_LIB_TARGET}
++ # PROPERTIES
++ # LINK_FLAGS "-version-info 2:0:0"
++ #)
++ TARGET_C_PROPERTIES (${SZIP_LIB_TARGET} STATIC " " " ")
++ target_link_libraries (${SZIP_LIB_TARGET} ${LINK_LIBS})
++ set_target_properties(${SZIP_LIB_TARGET} PROPERTIES
++ PUBLIC_HEADER "${SZIP_PUBLIC_HEADERS}"
++ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
++ )
++ set_global_variable (SZIP_LIBRARIES_TO_EXPORT ${SZIP_LIB_TARGET})
++ SZIP_SET_LIB_OPTIONS (${SZIP_LIB_TARGET} ${SZIP_LIB_NAME} STATIC)
++ set (install_targets ${SZIP_LIB_TARGET})
++endif()
+
+ if (BUILD_SHARED_LIBS)
+ add_library (${SZIP_LIBSH_TARGET} SHARED ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake
new file mode 100644
index 000000000..06040cedc
--- /dev/null
+++ b/ports/szip/portfile.cmake
@@ -0,0 +1,48 @@
+include(vcpkg_common_functions)
+
+# set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1)
+# vcpkg_download_distfile(ARCHIVE
+# URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz"
+# FILENAME "szip-2.1.tar.gz"
+# SHA512 ea91b877bb061fe6c96988a3c4b705e101a6950e34e9be53d6a57455c6a625be0afa60f4a3cfdd09649205b9f8586cc25ea60fe07a8131579acf3826b35fb749
+# )
+# vcpkg_extract_source_archive(${ARCHIVE})
+
+# NOTE: We use Szip from the HDF5 cmake package dir, because it includes a lot of fixes for the CMake build files
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.0-patch1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/CMake-hdf5-1.10.0-patch1.zip"
+ FILENAME "CMake-hdf5-1.10.0-patch1.zip"
+ SHA512 ec2edb43438661323be5998ecf64c4dd537ddc7451e31f89390260d16883e60a1ccc1bf745bcb809af22f2bf7157d50331a33910b8ebf5c59cd50693dfb2ef8f
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+set(ARCHIVE ${SOURCE_PATH}/SZip.tar.gz)
+vcpkg_extract_source_archive(${ARCHIVE})
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Szip)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/disable-static-lib-in-shared-build.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=1
+ -DSZIP_INSTALL_DATA_DIR=share/szip/data
+ -DSZIP_INSTALL_CMAKE_DIR=share/szip
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING ${CURRENT_PACKAGES_DIR}/share/szip/copyright)
+
+file(READ ${CURRENT_PACKAGES_DIR}/debug/share/szip/szip-targets-debug.cmake SZIP_TARGETS_DEBUG_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" SZIP_TARGETS_DEBUG_MODULE "${SZIP_TARGETS_DEBUG_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/szip/szip-targets-debug.cmake "${SZIP_TARGETS_DEBUG_MODULE}")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL
index 65e3d37da..0c82029fb 100644
--- a/ports/tiff/CONTROL
+++ b/ports/tiff/CONTROL
@@ -1,4 +1,4 @@
Source: tiff
-Version: 4.0.6-1
+Version: 4.0.6-2
Build-Depends: zlib
Description: A library that supports the manipulation of TIFF image files \ No newline at end of file
diff --git a/ports/tiff/fix-uwp.patch b/ports/tiff/fix-uwp.patch
new file mode 100644
index 000000000..6fce8d573
--- /dev/null
+++ b/ports/tiff/fix-uwp.patch
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 439e26a..05416d8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -187,6 +187,7 @@ endforeach(flag ${test_flags})
+
+ if(MSVC)
+ set(CMAKE_DEBUG_POSTFIX "d")
++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+ endif()
+
+ option(ld-version-script "Enable linker version script" ON)
+diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
+index a0dc68b..3c4e101 100644
+--- a/libtiff/tif_dirread.c
++++ b/libtiff/tif_dirread.c
+@@ -3690,7 +3690,7 @@ TIFFReadDirectory(TIFF* tif)
+ case TIFFTAG_SMAXSAMPLEVALUE:
+ {
+
+- double *data;
++ double *data = NULL;
+ enum TIFFReadDirEntryErr err;
+ uint32 saved_flags;
+ int m;
diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake
index 345024fe0..281d681b9 100644
--- a/ports/tiff/portfile.cmake
+++ b/ports/tiff/portfile.cmake
@@ -10,6 +10,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-component-options.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
)
vcpkg_configure_cmake(